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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x58
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [0x43a080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x50], 0x62c0e754
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x5c], eax
sub eax, 0x82411c61
je 0x408186
jmp 0x40744c
mov eax, dword [ebp - 0x5c]
sub eax, 0x85b9ee61
je 0x407cf8
jmp 0x40745f
mov eax, dword [ebp - 0x5c]
sub eax, 0x87be24f6
je 0x408142
jmp 0x407472
mov eax, dword [ebp - 0x5c]
sub eax, 0x8c7b8e61
je 0x407a0a
jmp 0x407485
mov eax, dword [ebp - 0x5c]
sub eax, 0x9462fe56
je 0x4083cf
jmp 0x407498
mov eax, dword [ebp - 0x5c]
sub eax, 0x99c17b1e
je 0x407cb9
jmp 0x4074ab
mov eax, dword [ebp - 0x5c]
sub eax, 0x9c5634ec
je 0x407f07
jmp 0x4074be
mov eax, dword [ebp - 0x5c]
sub eax, 0xa4fd5b87
je 0x407ef5
jmp 0x4074d1
mov eax, dword [ebp - 0x5c]
sub eax, 0xa6a39bdc
je 0x40799f
jmp 0x4074e4
mov eax, dword [ebp - 0x5c]
sub eax, 0xace76a67
je 0x408284
jmp 0x4074f7
mov eax, dword [ebp - 0x5c]
sub eax, 0xae4cdbc8
je 0x407b62
jmp 0x40750a
mov eax, dword [ebp - 0x5c]
sub eax, 0xb06b2115
je 0x407ece
jmp 0x40751d
mov eax, dword [ebp - 0x5c]
sub eax, 0xbc11551e
je 0x408038
jmp 0x407530
mov eax, dword [ebp - 0x5c]
sub eax, 0xbdbe8a63
je 0x40814e
jmp 0x407543
mov eax, dword [ebp - 0x5c]
sub eax, 0xbea4fb9e
je 0x4083c3
jmp 0x407556
mov eax, dword [ebp - 0x5c]
sub eax, 0xcfb7b487
je 0x40830d
jmp 0x407569
mov eax, dword [ebp - 0x5c]
sub eax, 0xd1b1dcf3
je 0x407eda
jmp 0x40757c
mov eax, dword [ebp - 0x5c]
sub eax, 0xd9e1d852
je 0x407b08
jmp 0x40758f
mov eax, dword [ebp - 0x5c]
sub eax, 0xdcfce65e
je 0x408136
jmp 0x4075a2
mov eax, dword [ebp - 0x5c]
sub eax, 0xe0fe569b
je 0x407bd5
jmp 0x4075b5
mov eax, dword [ebp - 0x5c]
sub eax, 0xe11b0027
je 0x40807d
jmp 0x4075c8
mov eax, dword [ebp - 0x5c]
sub eax, 0xe54e3c00
je 0x407fc8
jmp 0x4075db
mov eax, dword [ebp - 0x5c]
sub eax, 0xeb4b8789
je 0x40801d
jmp 0x4075ee
mov eax, dword [ebp - 0x5c]
sub eax, 0xedae6267
je 0x407d52
jmp 0x407601
mov eax, dword [ebp - 0x5c]
sub eax, 0xfa361fa4
je 0x407e72
jmp 0x407614
mov eax, dword [ebp - 0x5c]
sub eax, 0xffef9837
je 0x407ce6
jmp 0x407627
mov eax, dword [ebp - 0x5c]
sub eax, 0xab35f7c
je 0x407a6a
jmp 0x40763a
mov eax, dword [ebp - 0x5c]
sub eax, 0x139c1129
je 0x4081f9
jmp 0x40764d
mov eax, dword [ebp - 0x5c]
sub eax, 0x13c8544c
je 0x407dcc
jmp 0x407660
mov eax, dword [ebp - 0x5c]
sub eax, 0x14e1002c
je 0x407c92
jmp 0x407673
mov eax, dword [ebp - 0x5c]
sub eax, 0x18e8d213
je 0x4083db
jmp 0x407686
mov eax, dword [ebp - 0x5c]
sub eax, 0x1be4c041
je 0x408328
jmp 0x407699
mov eax, dword [ebp - 0x5c]
sub eax, 0x2043e341
je 0x407cda
jmp 0x4076ac
mov eax, dword [ebp - 0x5c]
sub eax, 0x2329a534
je 0x407a95
jmp 0x4076bf
mov eax, dword [ebp - 0x5c]
sub eax, 0x24447e56
je 0x407a85
jmp 0x4076d2
mov eax, dword [ebp - 0x5c]
sub eax, 0x28072de8
je 0x408044
jmp 0x4076e5
mov eax, dword [ebp - 0x5c]
sub eax, 0x36d1279f
je 0x4080c3
jmp 0x4076f8
mov eax, dword [ebp - 0x5c]
sub eax, 0x39c14f0f
je 0x407b56
jmp 0x40770b
mov eax, dword [ebp - 0x5c]
sub eax, 0x42ce501b
je 0x407f7a
jmp 0x40771e
mov eax, dword [ebp - 0x5c]
sub eax, 0x43f288c0
je 0x40831c
jmp 0x407731
mov eax, dword [ebp - 0x5c]
sub eax, 0x47009508
je 0x407899
jmp 0x407744
mov eax, dword [ebp - 0x5c]
sub eax, 0x47210fee
je 0x407dd8
jmp 0x407757
mov eax, dword [ebp - 0x5c]
sub eax, 0x4a721e82
je 0x407d04
jmp 0x40776a
mov eax, dword [ebp - 0x5c]
sub eax, 0x5ba2282f
je 0x408264
jmp 0x40777d
mov eax, dword [ebp - 0x5c]
sub eax, 0x5f44f74a
je 0x407c86
jmp 0x407790
mov eax, dword [ebp - 0x5c]
sub eax, 0x62afd7f9
je 0x408377
jmp 0x4077a3
mov eax, dword [ebp - 0x5c]
sub eax, 0x62c0e754
je 0x407853
jmp 0x4077b6
mov eax, dword [ebp - 0x5c]
sub eax, 0x6587715f
je 0x407df3
jmp 0x4077c9
mov eax, dword [ebp - 0x5c]
sub eax, 0x668da658
je 0x407dff
jmp 0x4077dc
mov eax, dword [ebp - 0x5c]
sub eax, 0x67417a85
je 0x4083b4
jmp 0x4077ef
mov eax, dword [ebp - 0x5c]
sub eax, 0x6b27e853
je 0x407fd4
jmp 0x407802
mov eax, dword [ebp - 0x5c]
sub eax, 0x6dea0f8f
je 0x407993
jmp 0x407815
mov eax, dword [ebp - 0x5c]
sub eax, 0x71ca6aca
je 0x4082a4
jmp 0x407828
mov eax, dword [ebp - 0x5c]
sub eax, 0x7566ecbf
je 0x408270
jmp 0x40783b
mov eax, dword [ebp - 0x5c]
sub eax, 0x7b3188e6
je 0x408060
jmp 0x40784e
jmp 0x4083e2
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0x71ca6aca
mov ecx, 0x47009508
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x58]
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x44], edx
push eax
mov edx, esp
mov dword [ebp - 0x40], edx
push eax
mov edx, esp
mov dword [ebp - 0x3c], edx
push eax
mov edx, esp
mov dword [ebp - 0x38], edx
push eax
sub esp, 0xffc
mov edx, esp
mov dword [ebp - 0x34], edx
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x48]
mov dword [edx], esi
mov dword [eax], ecx
mov eax, dword [eax]
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 ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
add edx, 0x586fa233
sub edx, 1
sub edx, 0x586fa233
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, 0x71ca6aca
mov ecx, 0x6dea0f8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0xa6a39bdc
jmp 0x4083e2
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
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, 0xcfb7b487
mov ecx, 0x8c7b8e61
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov eax, dword [ebp - 0x44]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x29], al
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
sub edx, 0xa38d9afc
sub edx, 1
add edx, 0xa38d9afc
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, 0xcfb7b487
mov ecx, 0xab35f7c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dl, byte [ebp - 0x29]
mov eax, 0xae4cdbc8
mov ecx, 0x24447e56
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov byte [ebp - 0x49], 0
mov dword [ebp - 0x50], 0x2329a534
jmp 0x4083e2
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
add edx, 0x862021d4
sub edx, 1
sub edx, 0x862021d4
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, 0x43f288c0
mov ecx, 0xd9e1d852
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
add edx, 0xab5aeb9d
sub edx, 1
sub edx, 0xab5aeb9d
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, 0x43f288c0
mov ecx, 0x39c14f0f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0x7566ecbf
jmp 0x4083e2
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
sub edx, 0xda2d2aeb
sub edx, 1
add edx, 0xda2d2aeb
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, 0x1be4c041
mov ecx, 0xe0fe569b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
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 - 0x28], eax
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
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, 0x1be4c041
mov ecx, 0x5f44f74a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0x14e1002c
jmp 0x4083e2
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
mov edx, dword [ebp - 0x40]
mov esi, 0xffffffff
mov eax, 0xffef9837
mov ecx, 0x99c17b1e
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x49], 0
mov dword [ebp - 0x50], 0x2043e341
jmp 0x4083e2
mov dword [ebp - 0x50], 0x7566ecbf
jmp 0x4083e2
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0
mov dword [ebp - 0x50], 0x85b9ee61
jmp 0x4083e2
mov dword [ebp - 0x50], 0x4a721e82
jmp 0x4083e2
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
add edx, 0x26fec7bc
sub edx, 1
sub edx, 0x26fec7bc
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, 0x62afd7f9
mov ecx, 0xedae6267
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
mov eax, dword [ebp - 0x30]
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]
mov dword [ebp - 0x24], eax
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0x62afd7f9
mov ecx, 0x13c8544c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0x47210fee
jmp 0x4083e2
mov edx, dword [ebp - 0x24]
mov eax, 0x6587715f
mov ecx, 0x668da658
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0xbdbe8a63
jmp 0x4083e2
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
add edx, 0x73751df2
sub edx, 1
sub edx, 0x73751df2
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, 0x67417a85
mov ecx, 0xfa361fa4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov eax, dword [ebp - 0x30]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x1e], al
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
add edx, 0x83a11221
sub edx, 1
sub edx, 0x83a11221
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, 0x67417a85
mov ecx, 0xb06b2115
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0xd1b1dcf3
jmp 0x4083e2
mov dl, byte [ebp - 0x1e]
mov eax, 0x6b27e853
mov ecx, 0xa4fd5b87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov eax, dword [ebp - 0x3c]
mov byte [eax], 1
mov dword [ebp - 0x50], 0x9c5634ec
jmp 0x4083e2
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
add edx, 0x5c73aec8
sub edx, 1
sub edx, 0x5c73aec8
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, 0xbea4fb9e
mov ecx, 0x42ce501b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
mov edx, eax
add edx, 0xefddc5c0
sub edx, 1
sub edx, 0xefddc5c0
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, 0xbea4fb9e
mov ecx, 0xe54e3c00
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0xbdbe8a63
jmp 0x4083e2
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov esi, dword [eax]
mov eax, dword [ebp - 0x38]
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]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x50], 0xeb4b8789
jmp 0x4083e2
mov dl, byte [ebp - 0x1d]
mov eax, 0xbc11551e
mov ecx, 0x28072de8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0xbdbe8a63
jmp 0x4083e2
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x50], 0x7b3188e6
jmp 0x4083e2
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, 0x87be24f6
mov ecx, 0xe11b0027
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov eax, dword [0x43b574]
mov ecx, dword [0x43b570]
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, 0x9462fe56
mov ecx, 0x36d1279f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
sub edx, 0xd38d2e05
sub edx, 1
add edx, 0xd38d2e05
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, 0x9462fe56
mov ecx, 0xdcfce65e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0xbdbe8a63
jmp 0x4083e2
mov dword [ebp - 0x50], 0x4a721e82
jmp 0x4083e2
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x3c]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x49], al
mov dword [ebp - 0x50], 0x82411c61
jmp 0x4083e2
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
mov edx, ecx
add edx, 0x3f202fec
sub edx, 1
sub edx, 0x3f202fec
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, 0x18e8d213
mov ecx, 0x139c1129
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov ecx, dword [0x43b574]
mov eax, dword [0x43b570]
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, 0x18e8d213
mov ecx, 0x5ba2282f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x50], eax
jmp 0x4083e2
mov dword [ebp - 0x50], 0x7566ecbf
jmp 0x4083e2
mov al, byte [ebp - 0x49]
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x50], 0xace76a67
jmp 0x4083e2
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004232c0
mov eax, dword [ebp - 0x60]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x58]
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov edi, esp
mov dword [ebp - 0x64], edi
mov dword [edx], esi
mov dword [eax], ecx
mov eax, dword [eax]
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 ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov dword [ebp - 0x50], 0x47009508
jmp 0x4083e2
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x50], 0x8c7b8e61
jmp 0x4083e2
mov dword [ebp - 0x50], 0xd9e1d852
jmp 0x4083e2
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
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 - 0x50], 0xe0fe569b
jmp 0x4083e2
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
mov eax, dword [ebp - 0x30]
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]
mov dword [ebp - 0x50], 0xedae6267
jmp 0x4083e2
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], 0xfa361fa4
jmp 0x4083e2
mov dword [ebp - 0x50], 0x42ce501b
jmp 0x4083e2
mov dword [ebp - 0x50], 0x36d1279f
jmp 0x4083e2
mov dword [ebp - 0x50], 0x139c1129
jmp 0x407436