Function at 0x407400
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1068
call fcn.0041e2f0
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1050], eax
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x104c], 0x36c73a3d
mov eax, dword [ebp - 0x104c]
mov dword [ebp - 0x1054], eax
sub eax, 0x86a72dc9
je 0x407b5f
jmp 0x40744c
mov eax, dword [ebp - 0x1054]
sub eax, 0x8936fbe6
je 0x4080f4
jmp 0x407462
mov eax, dword [ebp - 0x1054]
sub eax, 0x8c89387a
je 0x40790d
jmp 0x407478
mov eax, dword [ebp - 0x1054]
sub eax, 0x8c9125c1
je 0x407f8e
jmp 0x40748e
mov eax, dword [ebp - 0x1054]
sub eax, 0x90d308e6
je 0x407c88
jmp 0x4074a4
mov eax, dword [ebp - 0x1054]
sub eax, 0x99ac47b4
je 0x408053
jmp 0x4074ba
mov eax, dword [ebp - 0x1054]
sub eax, 0x9cf954cf
je 0x407ca9
jmp 0x4074d0
mov eax, dword [ebp - 0x1054]
sub eax, 0x9dd6c35e
je 0x407dc0
jmp 0x4074e6
mov eax, dword [ebp - 0x1054]
sub eax, 0xa2b4266b
je 0x407cd3
jmp 0x4074fc
mov eax, dword [ebp - 0x1054]
sub eax, 0xa3ccfbba
je 0x4080a3
jmp 0x407512
mov eax, dword [ebp - 0x1054]
sub eax, 0xa4c51159
je 0x407e18
jmp 0x407528
mov eax, dword [ebp - 0x1054]
sub eax, 0xa8b6558e
je 0x407d89
jmp 0x40753e
mov eax, dword [ebp - 0x1054]
sub eax, 0xaa5414a3
je 0x408014
jmp 0x407554
mov eax, dword [ebp - 0x1054]
sub eax, 0xac303829
je 0x407c00
jmp 0x40756a
mov eax, dword [ebp - 0x1054]
sub eax, 0xb070bc1d
je 0x407dcf
jmp 0x407580
mov eax, dword [ebp - 0x1054]
sub eax, 0xb42b7927
je 0x407c16
jmp 0x407596
mov eax, dword [ebp - 0x1054]
sub eax, 0xcc74f222
je 0x4081c2
jmp 0x4075ac
mov eax, dword [ebp - 0x1054]
sub eax, 0xce6a9bec
je 0x407f18
jmp 0x4075c2
mov eax, dword [ebp - 0x1054]
sub eax, 0xcf40b983
je 0x407fee
jmp 0x4075d8
mov eax, dword [ebp - 0x1054]
sub eax, 0xd654b85b
je 0x408035
jmp 0x4075ee
mov eax, dword [ebp - 0x1054]
sub eax, 0xe49cbdfd
je 0x407923
jmp 0x407604
mov eax, dword [ebp - 0x1054]
sub eax, 0xee2a7931
je 0x408218
jmp 0x40761a
mov eax, dword [ebp - 0x1054]
sub eax, 0xfb5cc884
je 0x407991
jmp 0x407630
mov eax, dword [ebp - 0x1054]
sub eax, 0xfdefe861
je 0x407a42
jmp 0x407646
mov eax, dword [ebp - 0x1054]
sub eax, 0x1b07ffe
je 0x408178
jmp 0x40765c
mov eax, dword [ebp - 0x1054]
sub eax, 0x47fd2b4
je 0x4079e2
jmp 0x407672
mov eax, dword [ebp - 0x1054]
sub eax, 0xad76679
je 0x407bdf
jmp 0x407688
mov eax, dword [ebp - 0x1054]
sub eax, 0xf61b283
je 0x407c2c
jmp 0x40769e
mov eax, dword [ebp - 0x1054]
sub eax, 0x19683e2e
je 0x40824b
jmp 0x4076b4
mov eax, dword [ebp - 0x1054]
sub eax, 0x2ef91eab
je 0x408187
jmp 0x4076ca
mov eax, dword [ebp - 0x1054]
sub eax, 0x33845959
je 0x407bbe
jmp 0x4076e0
mov eax, dword [ebp - 0x1054]
sub eax, 0x34fe901a
je 0x408094
jmp 0x4076f6
mov eax, dword [ebp - 0x1054]
sub eax, 0x36c73a3d
je 0x407871
jmp 0x40770c
mov eax, dword [ebp - 0x1054]
sub eax, 0x3734121b
je 0x408227
jmp 0x407722
mov eax, dword [ebp - 0x1054]
sub eax, 0x38c28649
je 0x407ec1
jmp 0x407738
mov eax, dword [ebp - 0x1054]
sub eax, 0x43789824
je 0x407eb2
jmp 0x40774e
mov eax, dword [ebp - 0x1054]
sub eax, 0x4a3429c2
je 0x407ae9
jmp 0x407764
mov eax, dword [ebp - 0x1054]
sub eax, 0x4d465b6f
je 0x408044
jmp 0x40777a
mov eax, dword [ebp - 0x1054]
sub eax, 0x4dc70796
je 0x40823c
jmp 0x407790
mov eax, dword [ebp - 0x1054]
sub eax, 0x4f5c2598
je 0x407daa
jmp 0x4077a6
mov eax, dword [ebp - 0x1054]
sub eax, 0x504301d2
je 0x407fdf
jmp 0x4077bc
mov eax, dword [ebp - 0x1054]
sub eax, 0x562200c8
je 0x407d24
jmp 0x4077d2
mov eax, dword [ebp - 0x1054]
sub eax, 0x60f067c4
je 0x407c3b
jmp 0x4077e8
mov eax, dword [ebp - 0x1054]
sub eax, 0x6de6aed9
je 0x4081b3
jmp 0x4077fe
mov eax, dword [ebp - 0x1054]
sub eax, 0x6ea7013f
je 0x40825a
jmp 0x407814
mov eax, dword [ebp - 0x1054]
sub eax, 0x701fcd97
je 0x407ada
jmp 0x40782a
mov eax, dword [ebp - 0x1054]
sub eax, 0x74afd3d7
je 0x4078ec
jmp 0x407840
mov eax, dword [ebp - 0x1054]
sub eax, 0x7859becd
je 0x4079f1
jmp 0x407856
mov eax, dword [ebp - 0x1054]
sub eax, 0x7b57f32a
je 0x407cb8
jmp 0x40786c
jmp 0x408264
mov eax, dword [ebp - 0x1050]
mov dword [ebp - 0x103c], eax
mov eax, dword [ebp - 0x103c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x1040], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x1040], eax
sete al
and al, 1
mov byte [ebp - 0x1036], al
mov dword [ebp - 0x104c], 0x74afd3d7
jmp 0x408264
mov dl, byte [ebp - 0x1036]
mov eax, 0x7859becd
mov ecx, 0x8c89387a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov byte [ebp - 0x1037], 0
mov dword [ebp - 0x104c], 0xe49cbdfd
jmp 0x408264
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x6de6aed9
mov ecx, 0xfb5cc884
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x2c4ade3e
sub edx, 1
add edx, 0x2c4ade3e
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x6de6aed9
mov ecx, 0x47fd2b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dword [ebp - 0x104c], 0xa3ccfbba
jmp 0x408264
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
add edx, 0x9411e589
sub edx, 1
sub edx, 0x9411e589
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xcc74f222
mov ecx, 0xfdefe861
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x40000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x1044], eax
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x1cde67
sub edx, 1
add edx, 0x1cde67
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xcc74f222
mov ecx, 0x701fcd97
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dword [ebp - 0x104c], 0x4a3429c2
jmp 0x408264
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0x12e482c3
sub edx, 1
add edx, 0x12e482c3
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xee2a7931
mov ecx, 0x86a72dc9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov eax, 0xffffffff
cmp dword [ebp - 0x1044], eax
sete al
and al, 1
mov byte [ebp - 0x1035], al
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xee2a7931
mov ecx, 0x33845959
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dl, byte [ebp - 0x1035]
mov eax, 0xb42b7927
mov ecx, 0xad76679
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov eax, dword [ebp - 0x1040]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x104c], 0xac303829
jmp 0x408264
mov byte [ebp - 0x1037], 0
mov dword [ebp - 0x104c], 0xa3ccfbba
jmp 0x408264
mov byte [ebp - 0x1045], 0
mov dword [ebp - 0x104c], 0xf61b283
jmp 0x408264
mov dword [ebp - 0x104c], 0x60f067c4
jmp 0x408264
lea ecx, [ebp - 0x1010]
mov edx, dword [ebp - 0x1040]
lea eax, [ebp - 0x1018]
xor esi, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1000
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub esp, 0x14
mov dword [ebp - 0x1034], eax
mov dword [ebp - 0x104c], 0x90d308e6
jmp 0x408264
mov edx, dword [ebp - 0x1034]
mov eax, 0x9cf954cf
mov ecx, 0x7b57f32a
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dword [ebp - 0x104c], 0x99ac47b4
jmp 0x408264
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x1030], eax
mov dword [ebp - 0x104c], 0xa2b4266b
jmp 0x408264
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x73f51887
sub edx, 1
add edx, 0x73f51887
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3734121b
mov ecx, 0x562200c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov eax, dword [ebp - 0x1030]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x1029], al
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
add edx, 0xe1879c1f
sub edx, 1
sub edx, 0xe1879c1f
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3734121b
mov ecx, 0xa8b6558e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dl, byte [ebp - 0x1029]
mov eax, 0xb070bc1d
mov ecx, 0x4f5c2598
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov byte [ebp - 0x1045], 1
mov dword [ebp - 0x104c], 0x9dd6c35e
jmp 0x408264
mov dword [ebp - 0x104c], 0x99ac47b4
jmp 0x408264
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4dc70796
mov ecx, 0xa4c51159
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x1028], eax
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1024], eax
mov eax, dword [ebp - 0x1044]
mov dword [ebp - 0x1020], eax
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0xd31c0c9f
sub edx, 1
add edx, 0xd31c0c9f
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x4dc70796
mov ecx, 0x43789824
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dword [ebp - 0x104c], 0x38c28649
jmp 0x408264
mov ecx, dword [ebp - 0x1028]
mov edx, dword [ebp - 0x1024]
mov esi, dword [ebp - 0x1020]
lea eax, [ebp - 0x1014]
xor edi, edi
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
sub esp, 0x14
mov edx, eax
mov eax, 0xce6a9bec
mov ecx, 0xcf40b983
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0x387f9de1
sub edx, 1
add edx, 0x387f9de1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x19683e2e
mov ecx, 0x8c9125c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
add edx, 0x251073cb
sub edx, 1
sub edx, 0x251073cb
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x19683e2e
mov ecx, 0x504301d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dword [ebp - 0x104c], 0x99ac47b4
jmp 0x408264
mov eax, dword [ebp - 0x1014]
cmp eax, dword [ebp - 0x1018]
setne al
and al, 1
mov byte [ebp - 0x101a], al
mov dword [ebp - 0x104c], 0xaa5414a3
jmp 0x408264
mov dl, byte [ebp - 0x101a]
mov eax, 0x4d465b6f
mov ecx, 0xd654b85b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dword [ebp - 0x104c], 0x99ac47b4
jmp 0x408264
mov dword [ebp - 0x104c], 0x60f067c4
jmp 0x408264
mov eax, dword [ebp - 0x1040]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x1044]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov al, byte [ebp - 0x1045]
and al, 1
mov byte [ebp - 0x1037], al
mov dword [ebp - 0x104c], 0x34fe901a
jmp 0x408264
mov dword [ebp - 0x104c], 0xa3ccfbba
jmp 0x408264
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x21e38210
sub edx, 1
add edx, 0x21e38210
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x6ea7013f
mov ecx, 0x8936fbe6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov al, byte [ebp - 0x1037]
and al, 1
mov byte [ebp - 0x1019], al
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0x4a8dda4c
sub edx, 1
add edx, 0x4a8dda4c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x6ea7013f
mov ecx, 0x1b07ffe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x408264
mov dword [ebp - 0x104c], 0x2ef91eab
jmp 0x408264
mov al, byte [ebp - 0x1019]
and al, 1
movzx eax, al
mov dword [ebp - 0x1058], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e2e0
mov eax, dword [ebp - 0x1058]
add esp, 0x1068
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x104c], 0xfb5cc884
jmp 0x408264
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x40000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x104c], 0xfdefe861
jmp 0x408264
mov dword [ebp - 0x104c], 0x86a72dc9
jmp 0x408264
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x104c], 0x562200c8
jmp 0x408264
mov dword [ebp - 0x104c], 0xa4c51159
jmp 0x408264
mov dword [ebp - 0x104c], 0x8c9125c1
jmp 0x408264
mov dword [ebp - 0x104c], 0x8936fbe6
jmp 0x407430