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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1054
call fcn.004256d0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1058], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1054], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1050], 0xbc4830e7
mov eax, dword [ebp - 0x1050]
mov dword [ebp - 0x105c], eax
sub eax, 0x928d2555
je 0x409ef4
jmp 0x409582
mov eax, dword [ebp - 0x105c]
sub eax, 0x9add6168
je 0x40a08c
jmp 0x409598
mov eax, dword [ebp - 0x105c]
sub eax, 0xabc85f38
je 0x409c9f
jmp 0x4095ae
mov eax, dword [ebp - 0x105c]
sub eax, 0xb0d25ed5
je 0x409e45
jmp 0x4095c4
mov eax, dword [ebp - 0x105c]
sub eax, 0xb6db4305
je 0x409fe7
jmp 0x4095da
mov eax, dword [ebp - 0x105c]
sub eax, 0xbc4830e7
je 0x4098e1
jmp 0x4095f0
mov eax, dword [ebp - 0x105c]
sub eax, 0xbfe7ee8c
je 0x409d45
jmp 0x409606
mov eax, dword [ebp - 0x105c]
sub eax, 0xc2517886
je 0x409eab
jmp 0x40961c
mov eax, dword [ebp - 0x105c]
sub eax, 0xc4bc0368
je 0x409e9c
jmp 0x409632
mov eax, dword [ebp - 0x105c]
sub eax, 0xc819e0e8
je 0x409b20
jmp 0x409648
mov eax, dword [ebp - 0x105c]
sub eax, 0xd1ecc0d5
je 0x409ccf
jmp 0x40965e
mov eax, dword [ebp - 0x105c]
sub eax, 0xd369a190
je 0x40a063
jmp 0x409674
mov eax, dword [ebp - 0x105c]
sub eax, 0xd834b740
je 0x40a112
jmp 0x40968a
mov eax, dword [ebp - 0x105c]
sub eax, 0xe06cb4f5
je 0x409c25
jmp 0x4096a0
mov eax, dword [ebp - 0x105c]
sub eax, 0xe2dda763
je 0x409a38
jmp 0x4096b6
mov eax, dword [ebp - 0x105c]
sub eax, 0xe6b27288
je 0x409b66
jmp 0x4096cc
mov eax, dword [ebp - 0x105c]
sub eax, 0xf2c91d9e
je 0x40a017
jmp 0x4096e2
mov eax, dword [ebp - 0x105c]
sub eax, 0xf2d1418b
je 0x409b41
jmp 0x4096f8
mov eax, dword [ebp - 0x105c]
sub eax, 0xf35f9fec
je 0x409957
jmp 0x40970e
mov eax, dword [ebp - 0x105c]
sub eax, 0xf4043fdb
je 0x409f79
jmp 0x409724
mov eax, dword [ebp - 0x105c]
sub eax, 0xf8098ef5
je 0x40a0f7
jmp 0x40973a
mov eax, dword [ebp - 0x105c]
sub eax, 0xf8911958
je 0x409f03
jmp 0x409750
mov eax, dword [ebp - 0x105c]
sub eax, 0xfd836801
je 0x409dd6
jmp 0x409766
mov eax, dword [ebp - 0x105c]
sub eax, 0x23a5d7a
je 0x409df7
jmp 0x40977c
mov eax, dword [ebp - 0x105c]
sub eax, 0x4e051fd
je 0x409bee
jmp 0x409792
mov eax, dword [ebp - 0x105c]
sub eax, 0x50e7f68
je 0x409e0d
jmp 0x4097a8
mov eax, dword [ebp - 0x105c]
sub eax, 0x88675c2
je 0x409c4a
jmp 0x4097be
mov eax, dword [ebp - 0x105c]
sub eax, 0xf537629
je 0x409e1c
jmp 0x4097d4
mov eax, dword [ebp - 0x105c]
sub eax, 0x11a84a6b
je 0x40a127
jmp 0x4097ea
mov eax, dword [ebp - 0x105c]
sub eax, 0x3b5cfae6
je 0x409b57
jmp 0x409800
mov eax, dword [ebp - 0x105c]
sub eax, 0x41bdccf0
je 0x409a47
jmp 0x409816
mov eax, dword [ebp - 0x105c]
sub eax, 0x4336d9fb
je 0x409c3b
jmp 0x40982c
mov eax, dword [ebp - 0x105c]
sub eax, 0x44e23e6c
je 0x409cc0
jmp 0x409842
mov eax, dword [ebp - 0x105c]
sub eax, 0x480f31ef
je 0x40a046
jmp 0x409858
mov eax, dword [ebp - 0x105c]
sub eax, 0x5314301c
je 0x409ff6
jmp 0x40986e
mov eax, dword [ebp - 0x105c]
sub eax, 0x534a5884
je 0x409bbf
jmp 0x409884
mov eax, dword [ebp - 0x105c]
sub eax, 0x59078ad8
je 0x409a90
jmp 0x40989a
mov eax, dword [ebp - 0x105c]
sub eax, 0x7698a421
je 0x409dc7
jmp 0x4098b0
mov eax, dword [ebp - 0x105c]
sub eax, 0x799b0c84
je 0x409ed3
jmp 0x4098c6
mov eax, dword [ebp - 0x105c]
sub eax, 0x7cd7cd7a
je 0x409c16
jmp 0x4098dc
jmp 0x40a131
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
mov edx, ecx
add edx, 0x557846de
sub edx, 1
sub edx, 0x557846de
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, 0x9add6168
mov ecx, 0xf35f9fec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov eax, dword [ebp - 0x1054]
mov ecx, dword [ebp - 0x1058]
push eax
mov edx, esp
mov dword [ebp - 0x1034], edx
mov dword [ebp - 0x103c], ecx
mov dword [ebp - 0x1040], eax
mov eax, dword [ebp - 0x1040]
xor ecx, ecx
sub esp, 0x1c
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]
mov dword [ebp - 0x1030], eax
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
mov edx, ecx
add edx, 0x98ad0e6d
sub edx, 1
sub edx, 0x98ad0e6d
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, 0x9add6168
mov ecx, 0xe2dda763
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov dword [ebp - 0x1050], 0x41bdccf0
jmp 0x40a131
mov eax, dword [0x43d56c]
mov ecx, dword [0x43d568]
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, 0xf8098ef5
mov ecx, 0x59078ad8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x1044], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x1044], eax
sete al
and al, 1
mov byte [ebp - 0x1029], al
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
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, 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, 0xf8098ef5
mov ecx, 0xc819e0e8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov dl, byte [ebp - 0x1029]
mov eax, 0xe6b27288
mov ecx, 0xf2d1418b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov byte [ebp - 0x1035], 0
mov dword [ebp - 0x1050], 0x3b5cfae6
jmp 0x40a131
mov dword [ebp - 0x1050], 0x480f31ef
jmp 0x40a131
mov eax, dword [ebp - 0x103c]
xor ecx, ecx
sub esp, 0x1c
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]
mov dword [ebp - 0x1028], eax
mov dword [ebp - 0x1050], 0x534a5884
jmp 0x40a131
mov eax, dword [ebp - 0x1028]
mov dword [ebp - 0x1048], eax
mov edx, 0xffffffff
mov eax, 0xe06cb4f5
mov ecx, 0x4e051fd
cmp dword [ebp - 0x1048], edx
cmove eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov eax, dword [ebp - 0x1044]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x1035], 0
mov dword [ebp - 0x1050], 0x7cd7cd7a
jmp 0x40a131
mov dword [ebp - 0x1050], 0x480f31ef
jmp 0x40a131
mov byte [ebp - 0x1049], 0
mov dword [ebp - 0x1050], 0x4336d9fb
jmp 0x40a131
mov dword [ebp - 0x1050], 0x88675c2
jmp 0x40a131
lea ecx, [ebp - 0x1010]
mov edx, dword [ebp - 0x1044]
mov eax, dword [ebp - 0x1034]
xor esi, esi
sub esp, 0x14
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]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1022], al
mov dword [ebp - 0x1050], 0xabc85f38
jmp 0x40a131
mov dl, byte [ebp - 0x1022]
mov eax, 0x44e23e6c
mov ecx, 0xd1ecc0d5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov dword [ebp - 0x1050], 0x5314301c
jmp 0x40a131
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
mov edx, ecx
sub edx, 0x2341435d
sub edx, 1
add edx, 0x2341435d
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, 0xd834b740
mov ecx, 0xbfe7ee8c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov eax, dword [ebp - 0x1034]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x1021], al
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
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, 0xd834b740
mov ecx, 0x7698a421
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov dword [ebp - 0x1050], 0xfd836801
jmp 0x40a131
mov dl, byte [ebp - 0x1021]
mov eax, 0xf537629
mov ecx, 0x23a5d7a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov byte [ebp - 0x1049], 1
mov dword [ebp - 0x1050], 0x50e7f68
jmp 0x40a131
mov dword [ebp - 0x1050], 0x5314301c
jmp 0x40a131
mov eax, dword [ebp - 0x1034]
mov eax, dword [eax]
mov dword [ebp - 0x1020], eax
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1050], 0xb0d25ed5
jmp 0x40a131
mov esi, dword [ebp - 0x1048]
mov ecx, dword [ebp - 0x1020]
mov edx, dword [ebp - 0x101c]
lea eax, [ebp - 0x1014]
xor edi, edi
sub esp, 0x14
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]
mov edx, eax
mov eax, 0xc4bc0368
mov ecx, 0xc2517886
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov dword [ebp - 0x1050], 0x5314301c
jmp 0x40a131
mov eax, dword [ebp - 0x1014]
mov ecx, dword [ebp - 0x1034]
cmp eax, dword [ecx]
setne al
and al, 1
mov byte [ebp - 0x1016], al
mov dword [ebp - 0x1050], 0x799b0c84
jmp 0x40a131
mov dl, byte [ebp - 0x1016]
mov eax, 0xf8911958
mov ecx, 0x928d2555
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov dword [ebp - 0x1050], 0x5314301c
jmp 0x40a131
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
mov edx, ecx
add edx, 0x66fa78b9
sub edx, 1
sub edx, 0x66fa78b9
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, 0x11a84a6b
mov ecx, 0xf4043fdb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
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, 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, 0x11a84a6b
mov ecx, 0xb6db4305
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1050], eax
jmp 0x40a131
mov dword [ebp - 0x1050], 0x88675c2
jmp 0x40a131
mov eax, dword [ebp - 0x1044]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1050], 0xf2c91d9e
jmp 0x40a131
mov eax, dword [ebp - 0x1048]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x1049]
and al, 1
mov byte [ebp - 0x1035], al
mov dword [ebp - 0x1050], 0x480f31ef
jmp 0x40a131
mov al, byte [ebp - 0x1035]
and al, 1
mov byte [ebp - 0x1015], al
mov dword [ebp - 0x1050], 0xd369a190
jmp 0x40a131
mov al, byte [ebp - 0x1015]
and al, 1
movzx eax, al
mov dword [ebp - 0x1060], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004256c0
mov eax, dword [ebp - 0x1060]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1054]
mov ecx, dword [ebp - 0x1058]
mov dword [ebp - 0x103c], ecx
mov dword [ebp - 0x1040], eax
mov eax, dword [ebp - 0x1040]
xor ecx, ecx
sub esp, 0x1c
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]
mov dword [ebp - 0x1050], 0xf35f9fec
jmp 0x40a131
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x1050], 0x59078ad8
jmp 0x40a131
mov eax, dword [ebp - 0x1034]
mov dword [ebp - 0x1050], 0xbfe7ee8c
jmp 0x40a131
mov dword [ebp - 0x1050], 0xf4043fdb
jmp 0x409566