Function at 0x404780
Capabilities:
Get file size
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
sub edx, 0xce22989b
sub edx, 1
add edx, 0xce22989b
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x7a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x79], al
mov dword [ebp - 0x80], 0x301c79b
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x84], eax
sub eax, 0x808b61af
je 0x405b5f
jmp 0x4047ec
mov eax, dword [ebp - 0x84]
sub eax, 0x80f8d149
je 0x4056a7
jmp 0x404802
mov eax, dword [ebp - 0x84]
sub eax, 0x839c1bb2
je 0x40557d
jmp 0x404818
mov eax, dword [ebp - 0x84]
sub eax, 0x86c59033
je 0x405c66
jmp 0x40482e
mov eax, dword [ebp - 0x84]
sub eax, 0x87a36f91
je 0x406211
jmp 0x404844
mov eax, dword [ebp - 0x84]
sub eax, 0x8aef8af5
je 0x4053a0
jmp 0x40485a
mov eax, dword [ebp - 0x84]
sub eax, 0x8eb7c6ba
je 0x40610f
jmp 0x404870
mov eax, dword [ebp - 0x84]
sub eax, 0x8f761457
je 0x4061f1
jmp 0x404886
mov eax, dword [ebp - 0x84]
sub eax, 0x92c6da97
je 0x405e16
jmp 0x40489c
mov eax, dword [ebp - 0x84]
sub eax, 0x95ddf8ff
je 0x405744
jmp 0x4048b2
mov eax, dword [ebp - 0x84]
sub eax, 0x963cef69
je 0x4056ed
jmp 0x4048c8
mov eax, dword [ebp - 0x84]
sub eax, 0x968f4c97
je 0x406156
jmp 0x4048de
mov eax, dword [ebp - 0x84]
sub eax, 0x974ad86d
je 0x405a28
jmp 0x4048f4
mov eax, dword [ebp - 0x84]
sub eax, 0x9cb5fe03
je 0x40560b
jmp 0x40490a
mov eax, dword [ebp - 0x84]
sub eax, 0x9f23253f
je 0x405ea7
jmp 0x404920
mov eax, dword [ebp - 0x84]
sub eax, 0xa3a8f1fe
je 0x405537
jmp 0x404936
mov eax, dword [ebp - 0x84]
sub eax, 0xaabd8027
je 0x40582b
jmp 0x40494c
mov eax, dword [ebp - 0x84]
sub eax, 0xabdf2091
je 0x40617f
jmp 0x404962
mov eax, dword [ebp - 0x84]
sub eax, 0xaef56cdf
je 0x40524e
jmp 0x404978
mov eax, dword [ebp - 0x84]
sub eax, 0xb0a25c83
je 0x406136
jmp 0x40498e
mov eax, dword [ebp - 0x84]
sub eax, 0xb11bc1db
je 0x406127
jmp 0x4049a4
mov eax, dword [ebp - 0x84]
sub eax, 0xb19af094
je 0x405ffe
jmp 0x4049ba
mov eax, dword [ebp - 0x84]
sub eax, 0xb1af7de9
je 0x405868
jmp 0x4049d0
mov eax, dword [ebp - 0x84]
sub eax, 0xb1f5f196
je 0x4057a9
jmp 0x4049e6
mov eax, dword [ebp - 0x84]
sub eax, 0xb3792b8e
je 0x40525a
jmp 0x4049fc
mov eax, dword [ebp - 0x84]
sub eax, 0xb7070618
je 0x405d5d
jmp 0x404a12
mov eax, dword [ebp - 0x84]
sub eax, 0xba8d7a4a
je 0x405200
jmp 0x404a28
mov eax, dword [ebp - 0x84]
sub eax, 0xbcba03bd
je 0x405b44
jmp 0x404a3e
mov eax, dword [ebp - 0x84]
sub eax, 0xbd3053ca
je 0x405f89
jmp 0x404a54
mov eax, dword [ebp - 0x84]
sub eax, 0xbdb887af
je 0x405426
jmp 0x404a6a
mov eax, dword [ebp - 0x84]
sub eax, 0xbf07151a
je 0x405a96
jmp 0x404a80
mov eax, dword [ebp - 0x84]
sub eax, 0xbf8e586d
je 0x405d51
jmp 0x404a96
mov eax, dword [ebp - 0x84]
sub eax, 0xca915bf2
je 0x405104
jmp 0x404aac
mov eax, dword [ebp - 0x84]
sub eax, 0xd56a0e01
je 0x405cd5
jmp 0x404ac2
mov eax, dword [ebp - 0x84]
sub eax, 0xd5a1aa5c
je 0x405885
jmp 0x404ad8
mov eax, dword [ebp - 0x84]
sub eax, 0xd73c1d57
je 0x405f12
jmp 0x404aee
mov eax, dword [ebp - 0x84]
sub eax, 0xdc9d1e50
je 0x4061a0
jmp 0x404b04
mov eax, dword [ebp - 0x84]
sub eax, 0xdca92e32
je 0x4060ce
jmp 0x404b1a
mov eax, dword [ebp - 0x84]
sub eax, 0xdd79a665
je 0x405946
jmp 0x404b30
mov eax, dword [ebp - 0x84]
sub eax, 0xe1a246dd
je 0x4052d9
jmp 0x404b46
mov eax, dword [ebp - 0x84]
sub eax, 0xe3cbbaf5
je 0x40575c
jmp 0x404b5c
mov eax, dword [ebp - 0x84]
sub eax, 0xe409590e
je 0x405dd0
jmp 0x404b72
mov eax, dword [ebp - 0x84]
sub eax, 0xe7cc3d1f
je 0x405c3f
jmp 0x404b88
mov eax, dword [ebp - 0x84]
sub eax, 0xeb9e2e57
je 0x405195
jmp 0x404b9e
mov eax, dword [ebp - 0x84]
sub eax, 0xf51a3515
je 0x40584d
jmp 0x404bb4
mov eax, dword [ebp - 0x84]
sub eax, 0xf8025e1e
je 0x405e4c
jmp 0x404bca
mov eax, dword [ebp - 0x84]
sub eax, 0xfa224c33
je 0x40501c
jmp 0x404be0
mov eax, dword [ebp - 0x84]
sub eax, 0x301c79b
je 0x404f97
jmp 0x404bf6
mov eax, dword [ebp - 0x84]
sub eax, 0x620eb27
je 0x406085
jmp 0x404c0c
mov eax, dword [ebp - 0x84]
sub eax, 0xbf436fc
je 0x406226
jmp 0x404c22
mov eax, dword [ebp - 0x84]
sub eax, 0xcb2d2f9
je 0x4053bb
jmp 0x404c38
mov eax, dword [ebp - 0x84]
sub eax, 0x12940c31
je 0x4050e3
jmp 0x404c4e
mov eax, dword [ebp - 0x84]
sub eax, 0x13675f9d
je 0x4050f8
jmp 0x404c64
mov eax, dword [ebp - 0x84]
sub eax, 0x13d21738
je 0x40569b
jmp 0x404c7a
mov eax, dword [ebp - 0x84]
sub eax, 0x1ad5a56e
je 0x406194
jmp 0x404c90
mov eax, dword [ebp - 0x84]
sub eax, 0x1ae00804
je 0x405a50
jmp 0x404ca6
mov eax, dword [ebp - 0x84]
sub eax, 0x1e37fa76
je 0x405598
jmp 0x404cbc
mov eax, dword [ebp - 0x84]
sub eax, 0x1fbae887
je 0x4059c5
jmp 0x404cd2
mov eax, dword [ebp - 0x84]
sub eax, 0x200ff78a
je 0x40611b
jmp 0x404ce8
mov eax, dword [ebp - 0x84]
sub eax, 0x237cbb1a
je 0x4061b5
jmp 0x404cfe
mov eax, dword [ebp - 0x84]
sub eax, 0x2513ecdb
je 0x405a1c
jmp 0x404d14
mov eax, dword [ebp - 0x84]
sub eax, 0x2c4ee3e6
je 0x406079
jmp 0x404d2a
mov eax, dword [ebp - 0x84]
sub eax, 0x3283ca73
je 0x404fbd
jmp 0x404d40
mov eax, dword [ebp - 0x84]
sub eax, 0x33439f31
je 0x405c83
jmp 0x404d56
mov eax, dword [ebp - 0x84]
sub eax, 0x35cb9a84
je 0x405119
mov al, byte [ebp - 0x7a]
mov cl, byte [ebp - 0x79]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x8eb7c6ba
mov ecx, 0x3283ca73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
sub esp, 0x210
mov eax, esp
mov dword [ebp - 0x74], eax
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
mov edx, eax
add edx, 0x7df1a7d2
sub edx, 1
sub edx, 0x7df1a7d2
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, 0x8eb7c6ba
mov ecx, 0xfa224c33
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x4fc17fcd
jmp 0x406266
mov eax, dword [ebp - 0x78]
mov dword [eax], 1
mov dword [ebp - 0x80], 0x13675f9d
jmp 0x406266
mov dword [ebp - 0x80], 0x5d9cc30b
jmp 0x406266
mov eax, dword [ebp - 0x74]
add eax, 8
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x80], 0x35cb9a84
jmp 0x406266
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
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, 0x200ff78a
mov ecx, 0xba8d7a4a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
mov edx, eax
add edx, 0xff916563
sub edx, 1
sub edx, 0xff916563
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, 0x200ff78a
mov ecx, 0xaef56cdf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x5d9cc30b
jmp 0x406266
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0040637e
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
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_ReadFile]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x80], 0xe1a246dd
jmp 0x406266
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
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, 0xb11bc1db
mov ecx, 0x79535c66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dl, byte [ebp - 0x49]
mov eax, 0xcb2d2f9
mov ecx, 0xe3cbbaf5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
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, 0xb0a25c83
mov ecx, 0xbdb887af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x41], al
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
sub edx, 0xfe98abbb
sub edx, 1
add edx, 0xfe98abbb
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, 0xb0a25c83
mov ecx, 0x6a21ecd3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
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, 0x968f4c97
mov ecx, 0x839c1bb2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dl, byte [ebp - 0x41]
mov eax, 0x1e37fa76
mov ecx, 0x80f8d149
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
add edx, 0xce332b84
sub edx, 1
sub edx, 0xce332b84
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, 0x469ea571
mov ecx, 0x9cb5fe03
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call fcn.00406387
add esp, 4
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
sub edx, 0xdeecb017
sub edx, 1
add edx, 0xdeecb017
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, 0x469ea571
mov ecx, 0x49e185bf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x80f8d149
jmp 0x406266
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
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, 0xabdf2091
mov ecx, 0x963cef69
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [ebp - 0x78]
mov dword [eax], 1
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
mov edx, eax
add edx, 0x94cf973d
sub edx, 1
sub edx, 0x94cf973d
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, 0xabdf2091
mov ecx, 0x95ddf8ff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x630c7375
jmp 0x406266
mov eax, dword [ebp - 0x74]
add eax, 8
sub esp, 4
mov dword [esp], eax
call fcn.00403f60
add esp, 4
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00403d70
add esp, 8
mov dword [ebp - 0x80], 0xb1f5f196
jmp 0x406266
mov eax, dword [ebp - 0x74]
add eax, 0x10c
sub esp, 4
mov dword [esp], eax
call fcn.004043f0
add esp, 4
mov eax, dword [ebp - 0x74]
add eax, 0x10c
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 ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov edx, dword [ebp - 0x60]
mov esi, 0xffffffff
mov eax, 0x5f4c0a8b
mov ecx, 0xaabd8027
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x39], al
mov dword [ebp - 0x80], 0xf51a3515
jmp 0x406266
mov dl, byte [ebp - 0x39]
mov eax, 0xb1af7de9
mov ecx, 0x7cd3b0b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call fcn.00406387
add esp, 4
mov dword [ebp - 0x80], 0xd5a1aa5c
jmp 0x406266
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
sub edx, 0x63dccd3c
sub edx, 1
add edx, 0x63dccd3c
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, 0x1ad5a56e
mov ecx, 0x493fd74a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x7cd3b0b3
jmp 0x406266
mov eax, dword [ebp - 0x78]
mov dword [eax], 1
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
mov edx, eax
sub edx, 0xe0b26189
sub edx, 1
add edx, 0xe0b26189
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, 0xdc9d1e50
mov ecx, 0x2513ecdb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x974ad86d
jmp 0x406266
mov dword [ebp - 0x80], 0x5d9cc30b
jmp 0x406266
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
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, 0x237cbb1a
mov ecx, 0xbf07151a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [ebp - 0x60]
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
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 - 0x2d], al
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
sub edx, 0xad687f70
sub edx, 1
add edx, 0xad687f70
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, 0x237cbb1a
mov ecx, 0xbcba03bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dl, byte [ebp - 0x2d]
mov eax, 0x808b61af
mov ecx, 0x4f8f675e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
mov edx, eax
add edx, 0x31491b5c
sub edx, 1
sub edx, 0x31491b5c
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, 0x8f761457
mov ecx, 0x54d82f8c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x42c069f4
jmp 0x406266
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov dword [esp], eax
call fcn.00406387
add esp, 4
mov dword [ebp - 0x80], 0x33439f31
jmp 0x406266
mov dword [ebp - 0x80], 0x403a4613
jmp 0x406266
mov eax, dword [ebp - 0x78]
mov dword [eax], 1
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
add edx, 0x2f6fcc0c
sub edx, 1
sub edx, 0x2f6fcc0c
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, 0x87a36f91
mov ecx, 0xbf8e586d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0xb7070618
jmp 0x406266
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
add edx, 0x6a78e385
sub edx, 1
sub edx, 0x6a78e385
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, 0xbf436fc
mov ecx, 0xe409590e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
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, 0xbf436fc
mov ecx, 0x92c6da97
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x5d9cc30b
jmp 0x406266
mov eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
mov eax, 0x5174aed8
mov ecx, 0x9f23253f
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
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, 0x4a132754
mov ecx, 0xd73c1d57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov eax, dword [ebp - 0x74]
add eax, 0x10c
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x19], al
mov eax, dword [0x41c37c]
mov ecx, dword [0x41c378]
mov edx, eax
sub edx, 0x32c46f26
sub edx, 1
add edx, 0x32c46f26
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, 0x4a132754
mov ecx, 0xbd3053ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x36913809
jmp 0x406266
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x41c37c]
mov eax, dword [0x41c378]
mov edx, ecx
sub edx, 0x3580646f
sub edx, 1
add edx, 0x3580646f
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, 0x4d4e77ff
mov ecx, 0x2c4ee3e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x406266
mov dword [ebp - 0x80], 0x620eb27
jmp 0x406266
mov eax, dword [ebp - 0x18]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x80], 0x7cced5a1
jmp 0x406266
mov dword [ebp - 0x80], 0x5d9cc30b
jmp 0x406266
mov dword [ebp - 0x80], 0x3283ca73
jmp 0x406266
mov dword [ebp - 0x80], 0xba8d7a4a
jmp 0x406266
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x80], 0x79535c66
jmp 0x406266
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x80], 0xbdb887af
jmp 0x406266
mov dword [ebp - 0x80], 0xa3a8f1fe
jmp 0x406266
mov eax, dword [ebp - 0x78]
mov dword [eax], 1
mov dword [ebp - 0x80], 0x963cef69
jmp 0x406266
mov dword [ebp - 0x80], 0x493fd74a
jmp 0x406266
mov eax, dword [ebp - 0x78]
mov dword [eax], 1
mov dword [ebp - 0x80], 0x1fbae887
jmp 0x406266
mov eax, dword [ebp - 0x60]
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
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 dword [ebp - 0x80], 0xbf07151a
jmp 0x406266
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x80], 0x54d82f8c
jmp 0x406266
mov eax, dword [ebp - 0x78]
mov dword [eax], 1
mov dword [ebp - 0x80], 0xd56a0e01
jmp 0x406266
mov dword [ebp - 0x80], 0xe409590e
jmp 0x406266
jmp 0x4047d3