Function at 0x485870
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 - 0x5c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x58], eax
mov eax, dword [0x78b300]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x4e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x54], 0x4e57ef94
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x60], eax
sub eax, 0x8052fe7d
je 0x48c594
jmp 0x4858dd
mov eax, dword [ebp - 0x60]
sub eax, 0x809b6ad9
je 0x489762
jmp 0x4858f0
mov eax, dword [ebp - 0x60]
sub eax, 0x80b50cfc
je 0x48c0ea
jmp 0x485903
mov eax, dword [ebp - 0x60]
sub eax, 0x81b292e4
je 0x489504
jmp 0x485916
mov eax, dword [ebp - 0x60]
sub eax, 0x82999481
je 0x48c9d8
jmp 0x485929
mov eax, dword [ebp - 0x60]
sub eax, 0x83278071
je 0x487883
jmp 0x48593c
mov eax, dword [ebp - 0x60]
sub eax, 0x834ec1bb
je 0x487a74
jmp 0x48594f
mov eax, dword [ebp - 0x60]
sub eax, 0x834fc8c6
je 0x4881e5
jmp 0x485962
mov eax, dword [ebp - 0x60]
sub eax, 0x846a43d9
je 0x48ca82
jmp 0x485975
mov eax, dword [ebp - 0x60]
sub eax, 0x847c40be
je 0x48c4d0
jmp 0x485988
mov eax, dword [ebp - 0x60]
sub eax, 0x849921d0
je 0x488724
jmp 0x48599b
mov eax, dword [ebp - 0x60]
sub eax, 0x8501ce75
je 0x48c8fa
jmp 0x4859ae
mov eax, dword [ebp - 0x60]
sub eax, 0x859f8985
je 0x48a5d5
jmp 0x4859c1
mov eax, dword [ebp - 0x60]
sub eax, 0x868e3308
je 0x48c97b
jmp 0x4859d4
mov eax, dword [ebp - 0x60]
sub eax, 0x87bd0ba0
je 0x48ab11
jmp 0x4859e7
mov eax, dword [ebp - 0x60]
sub eax, 0x87d264c0
je 0x4886c8
jmp 0x4859fa
mov eax, dword [ebp - 0x60]
sub eax, 0x88cfc637
je 0x48c921
jmp 0x485a0d
mov eax, dword [ebp - 0x60]
sub eax, 0x8a2d6432
je 0x488eab
jmp 0x485a20
mov eax, dword [ebp - 0x60]
sub eax, 0x8a468ff9
je 0x48c819
jmp 0x485a33
mov eax, dword [ebp - 0x60]
sub eax, 0x8d93b01b
je 0x489344
jmp 0x485a46
mov eax, dword [ebp - 0x60]
sub eax, 0x8dbde39f
je 0x487d97
jmp 0x485a59
mov eax, dword [ebp - 0x60]
sub eax, 0x8e2bf241
je 0x48a328
jmp 0x485a6c
mov eax, dword [ebp - 0x60]
sub eax, 0x8f711e65
je 0x487cf1
jmp 0x485a7f
mov eax, dword [ebp - 0x60]
sub eax, 0x8f975f20
je 0x48c3c3
jmp 0x485a92
mov eax, dword [ebp - 0x60]
sub eax, 0x8ff84823
je 0x48736a
jmp 0x485aa5
mov eax, dword [ebp - 0x60]
sub eax, 0x906ed061
je 0x489a1d
jmp 0x485ab8
mov eax, dword [ebp - 0x60]
sub eax, 0x908afcbe
je 0x48c999
jmp 0x485acb
mov eax, dword [ebp - 0x60]
sub eax, 0x9118f342
je 0x48a055
jmp 0x485ade
mov eax, dword [ebp - 0x60]
sub eax, 0x91e59a5c
je 0x48b7da
jmp 0x485af1
mov eax, dword [ebp - 0x60]
sub eax, 0x942ec7fb
je 0x487ffd
jmp 0x485b04
mov eax, dword [ebp - 0x60]
sub eax, 0x95bb3779
je 0x48c07f
jmp 0x485b17
mov eax, dword [ebp - 0x60]
sub eax, 0x95df6d4f
je 0x48ca9a
jmp 0x485b2a
mov eax, dword [ebp - 0x60]
sub eax, 0x963ea9d1
je 0x48b93f
jmp 0x485b3d
mov eax, dword [ebp - 0x60]
sub eax, 0x9643b0f4
je 0x48ac35
jmp 0x485b50
mov eax, dword [ebp - 0x60]
sub eax, 0x97c4e3b8
je 0x489015
jmp 0x485b63
mov eax, dword [ebp - 0x60]
sub eax, 0x99d24382
je 0x48ad82
jmp 0x485b76
mov eax, dword [ebp - 0x60]
sub eax, 0x9a496826
je 0x48a13b
jmp 0x485b89
mov eax, dword [ebp - 0x60]
sub eax, 0x9a841584
je 0x48816c
jmp 0x485b9c
mov eax, dword [ebp - 0x60]
sub eax, 0x9a8e9399
je 0x48cb55
jmp 0x485baf
mov eax, dword [ebp - 0x60]
sub eax, 0x9af27697
je 0x48b159
jmp 0x485bc2
mov eax, dword [ebp - 0x60]
sub eax, 0x9aff337b
je 0x48755b
jmp 0x485bd5
mov eax, dword [ebp - 0x60]
sub eax, 0x9b8f455a
je 0x48774c
jmp 0x485be8
mov eax, dword [ebp - 0x60]
sub eax, 0x9c01c919
je 0x48a406
jmp 0x485bfb
mov eax, dword [ebp - 0x60]
sub eax, 0x9e184d4a
je 0x48c9c0
jmp 0x485c0e
mov eax, dword [ebp - 0x60]
sub eax, 0xa0cd5f7d
je 0x48abca
jmp 0x485c21
mov eax, dword [ebp - 0x60]
sub eax, 0xa0ec6c4e
je 0x487c86
jmp 0x485c34
mov eax, dword [ebp - 0x60]
sub eax, 0xa12f53d9
je 0x48b7bf
jmp 0x485c47
mov eax, dword [ebp - 0x60]
sub eax, 0xa14e2860
je 0x48bd18
jmp 0x485c5a
mov eax, dword [ebp - 0x60]
sub eax, 0xa19f1b79
je 0x487fc1
jmp 0x485c6d
mov eax, dword [ebp - 0x60]
sub eax, 0xa1bee231
je 0x4898f1
jmp 0x485c80
mov eax, dword [ebp - 0x60]
sub eax, 0xa1e50c37
je 0x488cba
jmp 0x485c93
mov eax, dword [ebp - 0x60]
sub eax, 0xa1ef10ea
je 0x48ca67
jmp 0x485ca6
mov eax, dword [ebp - 0x60]
sub eax, 0xa26daa73
je 0x487304
jmp 0x485cb9
mov eax, dword [ebp - 0x60]
sub eax, 0xa28bc932
je 0x48bf30
jmp 0x485ccc
mov eax, dword [ebp - 0x60]
sub eax, 0xa389fa84
je 0x488772
jmp 0x485cdf
mov eax, dword [ebp - 0x60]
sub eax, 0xa3cf5630
je 0x48adc8
jmp 0x485cf2
mov eax, dword [ebp - 0x60]
sub eax, 0xa3d07cad
je 0x48a854
jmp 0x485d05
mov eax, dword [ebp - 0x60]
sub eax, 0xa460c026
je 0x487706
jmp 0x485d18
mov eax, dword [ebp - 0x60]
sub eax, 0xa4d19b6d
je 0x48c158
jmp 0x485d2b
mov eax, dword [ebp - 0x60]
sub eax, 0xa581308c
je 0x48c98d
jmp 0x485d3e
mov eax, dword [ebp - 0x60]
sub eax, 0xa6aae5eb
je 0x48ca20
jmp 0x485d51
mov eax, dword [ebp - 0x60]
sub eax, 0xa709eacc
je 0x48cb24
jmp 0x485d64
mov eax, dword [ebp - 0x60]
sub eax, 0xa7b5c01d
je 0x4890d2
jmp 0x485d77
mov eax, dword [ebp - 0x60]
sub eax, 0xa8b7d93c
je 0x48b5a7
jmp 0x485d8a
mov eax, dword [ebp - 0x60]
sub eax, 0xa9b09721
je 0x489813
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
add edx, 0xca567aae
sub edx, 1
sub edx, 0xca567aae
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, 0xd2a9c15f
mov ecx, 0x8ff84823
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0xc5aa28e6
mov ecx, 0x659570a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
add edx, 0x70ae20fc
sub edx, 1
sub edx, 0x70ae20fc
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, 0x67bfcf4d
mov ecx, 0x39c6f4bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0xc6990770
mov ecx, 0x9b8f455a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
sub esp, 0xffc
mov eax, esp
mov dword [ebp - 0x30], eax
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
mov dword [eax], edx
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
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 - 0x40]
mov dword [eax], ecx
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
sub edx, 0x32dc1782
sub edx, 1
add edx, 0x32dc1782
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, 0xc6990770
mov ecx, 0x1583590a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
add edx, 0xbbc2a2e3
sub edx, 1
sub edx, 0xbbc2a2e3
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, 0xe68011f
mov ecx, 0x6bbf3f75
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
sub edx, 0xa41db47d
sub edx, 1
add edx, 0xa41db47d
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, 0x65edb6d5
mov ecx, 0x17e8eaa0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0x88cfc637
mov ecx, 0x8f711e65
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [ebp - 0x4c]
mov byte [eax], 0
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
sub edx, 0x1dcbf8ee
sub edx, 1
add edx, 0x1dcbf8ee
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, 0x88cfc637
mov ecx, 0xe68058ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
sub edx, 0xfd401c58
sub edx, 1
add edx, 0xfd401c58
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, 0x558dda0d
mov ecx, 0x7a3efcb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov edx, dword [ebp - 0x3c]
mov esi, 0xffffffff
mov eax, 0x5e1ed470
mov ecx, 0xac00daaa
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [ebp - 0x4c]
mov byte [eax], 0
mov dword [ebp - 0x54], 0x621b97f7
jmp 0x48cc22
mov eax, dword [ebp - 0x38]
mov byte [eax], 0
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
sub edx, 0x95096475
sub edx, 1
add edx, 0x95096475
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, 0xa8b7d93c
mov ecx, 0x834fc8c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
sub edx, 0xe1c8fba0
sub edx, 1
add edx, 0xe1c8fba0
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, 0x484abf6a
mov ecx, 0x174f7eaf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [ebp - 0x24]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1d], al
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
sub edx, 0xac7e3d49
sub edx, 1
add edx, 0xac7e3d49
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, 0x1cf8a644
mov ecx, 0x849921d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
add edx, 0xc6886852
sub edx, 1
sub edx, 0xc6886852
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, 0x9fe39a8
mov ecx, 0xa389fa84
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
add edx, 0x59cf0029
sub edx, 1
sub edx, 0x59cf0029
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, 0x9fe39a8
mov ecx, 0xbb839360
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [ebp - 0x18]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x14], al
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
sub edx, 0x3003bc85
sub edx, 1
add edx, 0x3003bc85
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, 0x908afcbe
mov ecx, 0x5b013596
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0x91e59a5c
mov ecx, 0xeade7b5e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0x270b401c
mov ecx, 0x679d156f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
add edx, 0xc3c551d8
sub edx, 1
sub edx, 0xc3c551d8
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, 0x287ca8ed
mov ecx, 0xeb06a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0x4b1d565e
mov ecx, 0xe05adc67
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0x1bffb0a6
mov ecx, 0xd9e0f04b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0xbaf7947d
mov ecx, 0x3b85760f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
add edx, 0x23d8c824
sub edx, 1
sub edx, 0x23d8c824
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, 0x320e6252
mov ecx, 0x3fc85cc6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
add edx, 0x30791007
sub edx, 1
sub edx, 0x30791007
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, 0x320e6252
mov ecx, 0x53751e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
sub edx, 0x35643106
sub edx, 1
add edx, 0x35643106
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, 0xb568a25e
mov ecx, 0x16892145
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0x47762305
mov ecx, 0x313d044b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
add edx, 0x8cc2dc34
sub edx, 1
sub edx, 0x8cc2dc34
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, 0xc5efb868
mov ecx, 0xfcf6958f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
sub edx, 0xf7af0056
sub edx, 1
add edx, 0xf7af0056
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, 0x19e68fd8
mov ecx, 0x27a24dd5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov dword [ebp - 0x54], 0x621b97f7
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0x3a5ab91a
mov ecx, 0xf39f6b9f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
mov edx, eax
sub edx, 0xb7335feb
sub edx, 1
add edx, 0xb7335feb
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, 0xc68e3c46
mov ecx, 0xebc89b7e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0xc205c5d9
mov ecx, 0x9643b0f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov dword [ebp - 0x54], 0x8dbde39f
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0x95df6d4f
mov ecx, 0xa3cf5630
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov dword [ebp - 0x54], 0x87d264c0
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0x1f1a343b
mov ecx, 0x785bfe24
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0x3b660f5c
mov ecx, 0xe708d295
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov dword [ebp - 0x54], 0x34d1958c
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
add edx, 0x6c0ac5a9
sub edx, 1
sub edx, 0x6c0ac5a9
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, 0xc0122e88
mov ecx, 0xafd8d0a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0x5d33e812
mov ecx, 0xd202a511
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp - 0x12]
and cl, 1
mov byte [eax], cl
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0x9a8e9399
mov ecx, 0xd5532cc3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
sub edx, 0x12ec39cf
sub edx, 1
add edx, 0x12ec39cf
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, 0x291ffbc5
mov ecx, 0x6d4f7913
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0x3ac57039
mov ecx, 0x80b50cfc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
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, 0x3ac57039
mov ecx, 0xa4d19b6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov dword [ebp - 0x54], 0x4b102af
jmp 0x48cc22
mov dword [ebp - 0x54], 0xaf7c9cdd
jmp 0x48cc22
mov ecx, dword [0x78d9a0]
mov eax, dword [0x78d99c]
mov edx, ecx
sub edx, 0xa578b8f4
sub edx, 1
add edx, 0xa578b8f4
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, 0xf67a631a
mov ecx, 0xb48ddac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov dword [ebp - 0x54], 0x33a69c5
jmp 0x48cc22
mov eax, dword [0x78d9a0]
mov ecx, dword [0x78d99c]
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, 0xcef91753
mov ecx, 0xe641d979
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x48cc22
mov dword [ebp - 0x54], 0xd142b51a
jmp 0x48cc22
mov eax, dword [ebp - 0x4c]
mov byte [eax], 0
mov dword [ebp - 0x54], 0x8f711e65
jmp 0x48cc22
mov eax, dword [ebp - 0x38]
mov byte [eax], 1
mov dword [ebp - 0x54], 0x46be51f4
jmp 0x48cc22
mov dword [ebp - 0x54], 0x55b949cd
jmp 0x48cc22
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0xa1e50c37
jmp 0x48cc22
mov dword [ebp - 0x54], 0xfff05532
jmp 0x48cc22
mov dword [ebp - 0x54], 0x3b46ff2d
jmp 0x48cc22
mov dword [ebp - 0x54], 0xd4a7f9a9
jmp 0x48cc22
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], 0x72de4404
jmp 0x48cc22
mov dword [ebp - 0x54], 0x7789e564
jmp 0x48cc22
mov dword [ebp - 0x54], 0x99d24382
jmp 0x48cc22
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 eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x54], 0xaafba0ec
jmp 0x48cc22
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp - 0x12]
and cl, 1
mov byte [eax], cl
mov dword [ebp - 0x54], 0xa14e2860
jmp 0x48cc22
jmp 0x4858c7