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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x50], eax
mov eax, dword [0x5972c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x4c], 0x414b3bce
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x58], eax
sub eax, 0x87997727
je 0x403ca9
jmp 0x40103c
mov eax, dword [ebp - 0x58]
sub eax, 0x8ae854a0
je 0x402f74
jmp 0x40104f
mov eax, dword [ebp - 0x58]
sub eax, 0x8cd2d36a
je 0x4037a1
jmp 0x401062
mov eax, dword [ebp - 0x58]
sub eax, 0x8db823cf
je 0x401ec3
jmp 0x401075
mov eax, dword [ebp - 0x58]
sub eax, 0x8e77bb6e
je 0x40365d
jmp 0x401088
mov eax, dword [ebp - 0x58]
sub eax, 0x8f4ca533
je 0x4038a6
jmp 0x40109b
mov eax, dword [ebp - 0x58]
sub eax, 0x92bac65a
je 0x403bfa
jmp 0x4010ae
mov eax, dword [ebp - 0x58]
sub eax, 0x93543259
je 0x403cc1
jmp 0x4010c1
mov eax, dword [ebp - 0x58]
sub eax, 0x93c4787a
je 0x403a95
jmp 0x4010d4
mov eax, dword [ebp - 0x58]
sub eax, 0x959fe8bb
je 0x4025df
jmp 0x4010e7
mov eax, dword [ebp - 0x58]
sub eax, 0x960d1575
je 0x403795
jmp 0x4010fa
mov eax, dword [ebp - 0x58]
sub eax, 0x9707ade6
je 0x403c3d
jmp 0x40110d
mov eax, dword [ebp - 0x58]
sub eax, 0x999649dd
je 0x403598
jmp 0x401120
mov eax, dword [ebp - 0x58]
sub eax, 0x9a98dd19
je 0x402125
jmp 0x401133
mov eax, dword [ebp - 0x58]
sub eax, 0x9d6d8607
je 0x402e77
jmp 0x401146
mov eax, dword [ebp - 0x58]
sub eax, 0x9ee3b956
je 0x402f02
jmp 0x401159
mov eax, dword [ebp - 0x58]
sub eax, 0x9fc12f85
je 0x401cc9
jmp 0x40116c
mov eax, dword [ebp - 0x58]
sub eax, 0xa075a3d4
je 0x402ddf
jmp 0x40117f
mov eax, dword [ebp - 0x58]
sub eax, 0xa2b392a1
je 0x40360f
jmp 0x401192
mov eax, dword [ebp - 0x58]
sub eax, 0xa4124f5e
je 0x403c16
jmp 0x4011a5
mov eax, dword [ebp - 0x58]
sub eax, 0xa601c556
je 0x4035a4
jmp 0x4011b8
mov eax, dword [ebp - 0x58]
sub eax, 0xa96110fb
je 0x4037bc
jmp 0x4011cb
mov eax, dword [ebp - 0x58]
sub eax, 0xac9d6c8b
je 0x402026
jmp 0x4011de
mov eax, dword [ebp - 0x58]
sub eax, 0xb0b3cfbf
je 0x402d0a
jmp 0x4011f1
mov eax, dword [ebp - 0x58]
sub eax, 0xb168f09b
je 0x4029da
jmp 0x401204
mov eax, dword [ebp - 0x58]
sub eax, 0xb283b8a9
je 0x401ecf
jmp 0x401217
mov eax, dword [ebp - 0x58]
sub eax, 0xb5fa6cec
je 0x4020ae
jmp 0x40122a
mov eax, dword [ebp - 0x58]
sub eax, 0xb7f6741e
je 0x403910
jmp 0x40123d
mov eax, dword [ebp - 0x58]
sub eax, 0xb94c4cad
je 0x402c14
jmp 0x401250
mov eax, dword [ebp - 0x58]
sub eax, 0xbb0c3808
je 0x403cb5
jmp 0x401263
mov eax, dword [ebp - 0x58]
sub eax, 0xbde837c7
je 0x40382f
jmp 0x401276
mov eax, dword [ebp - 0x58]
sub eax, 0xbe12c922
je 0x401fb3
jmp 0x401289
mov eax, dword [ebp - 0x58]
sub eax, 0xbfaccefc
je 0x401cd5
jmp 0x40129c
mov eax, dword [ebp - 0x58]
sub eax, 0xc025b2e1
je 0x402388
jmp 0x4012af
mov eax, dword [ebp - 0x58]
sub eax, 0xc144fa53
je 0x40389a
jmp 0x4012c2
mov eax, dword [ebp - 0x58]
sub eax, 0xc5466988
je 0x4026ee
jmp 0x4012d5
mov eax, dword [ebp - 0x58]
sub eax, 0xc5513ccf
je 0x4031d4
jmp 0x4012e8
mov eax, dword [ebp - 0x58]
sub eax, 0xc576321d
je 0x40237c
jmp 0x4012fb
mov eax, dword [ebp - 0x58]
sub eax, 0xc7a292c8
je 0x402043
jmp 0x40130e
mov eax, dword [ebp - 0x58]
sub eax, 0xc96d8ea4
je 0x4038b2
jmp 0x401321
mov eax, dword [ebp - 0x58]
sub eax, 0xcb114fe0
je 0x402a4d
jmp 0x401334
mov eax, dword [ebp - 0x58]
sub eax, 0xccd9d677
je 0x40323f
jmp 0x401347
mov eax, dword [ebp - 0x58]
sub eax, 0xcd1eaf05
je 0x402e8f
jmp 0x40135a
mov eax, dword [ebp - 0x58]
sub eax, 0xce759f38
je 0x403bde
jmp 0x40136d
mov eax, dword [ebp - 0x58]
sub eax, 0xd0849490
je 0x4034f9
jmp 0x401380
mov eax, dword [ebp - 0x58]
sub eax, 0xd23650c5
je 0x402d6c
jmp 0x401393
mov eax, dword [ebp - 0x58]
sub eax, 0xd4438569
je 0x4021b6
jmp 0x4013a6
mov eax, dword [ebp - 0x58]
sub eax, 0xd49a0c23
je 0x401fbf
jmp 0x4013b9
mov eax, dword [ebp - 0x58]
sub eax, 0xd5e830aa
je 0x403c67
jmp 0x4013cc
mov eax, dword [ebp - 0x58]
sub eax, 0xd7197bce
je 0x403148
jmp 0x4013df
mov eax, dword [ebp - 0x58]
sub eax, 0xd81eea21
je 0x403b76
jmp 0x4013f2
mov eax, dword [ebp - 0x58]
sub eax, 0xd95b0722
je 0x402543
jmp 0x401405
mov eax, dword [ebp - 0x58]
sub eax, 0xdb4e3eba
je 0x403c91
jmp 0x401418
mov eax, dword [ebp - 0x58]
sub eax, 0xdc802bcd
je 0x403c06
jmp 0x40142b
mov eax, dword [ebp - 0x58]
sub eax, 0xdd0f0460
je 0x401b64
jmp 0x40143e
mov eax, dword [ebp - 0x58]
sub eax, 0xdda7d442
je 0x401c56
jmp 0x401451
mov eax, dword [ebp - 0x58]
sub eax, 0xddb15f2f
je 0x40279d
jmp 0x401464
mov eax, dword [ebp - 0x58]
sub eax, 0xe081f1bc
je 0x402757
jmp 0x401477
mov eax, dword [ebp - 0x58]
sub eax, 0xe5651d19
je 0x4022fa
jmp 0x40148a
mov eax, dword [ebp - 0x58]
sub eax, 0xe6678988
je 0x403c5b
jmp 0x40149d
mov eax, dword [ebp - 0x58]
sub eax, 0xeb084036
je 0x402822
jmp 0x4014b0
mov eax, dword [ebp - 0x58]
sub eax, 0xecde262b
je 0x4039ac
jmp 0x4014c3
mov eax, dword [ebp - 0x58]
sub eax, 0xeceaa0f7
je 0x402131
jmp 0x4014d6
mov eax, dword [ebp - 0x58]
sub eax, 0xed2ad1a7
je 0x401f3a
jmp 0x4014e9
mov eax, dword [ebp - 0x58]
sub eax, 0xed73e90c
je 0x402816
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0x457c6e47
sub edx, 1
sub edx, 0x457c6e47
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, 0x8f4ca533
mov ecx, 0x1e5dc5b0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0xd2689412
sub edx, 1
sub edx, 0xd2689412
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, 0x999649dd
mov ecx, 0x9fc12f85
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xbfaccefc
jmp 0x403d2c
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
push eax
mov edx, esp
mov dword [ebp - 0x34], edx
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
push eax
sub esp, 0xffc
mov edx, esp
mov dword [ebp - 0x2c], edx
push eax
mov edx, esp
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
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 - 0x3c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3c]
mov esi, 0xffffffff
mov eax, 0xb283b8a9
mov ecx, 0x47a1a3e0
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x6dd63d9f
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0x92bac65a
mov ecx, 0xed2ad1a7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0x4cef6c05
sub edx, 1
sub edx, 0x4cef6c05
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, 0x92bac65a
mov ecx, 0xbe12c922
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xd49a0c23
jmp 0x403d2c
mov eax, dword [ebp - 0x24]
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 - 0x38]
mov dword [eax], ecx
mov edx, dword [ebp - 0x38]
mov esi, 0xffffffff
mov eax, 0xeceaa0f7
mov ecx, 0xac9d6c8b
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4c], 0xc7a292c8
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0xdc802bcd
mov ecx, 0xb5fa6cec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov byte [ebp - 0x3d], 0
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0xb28bfc15
sub edx, 1
sub edx, 0xb28bfc15
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, 0xdc802bcd
mov ecx, 0x9a98dd19
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x6dd63d9f
jmp 0x403d2c
mov eax, dword [ebp - 0x34]
mov byte [eax], 0
mov dword [ebp - 0x4c], 0xbc7dfe9
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
mov edx, eax
sub edx, 0xa83f5edd
sub edx, 1
add edx, 0xa83f5edd
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, 0xa4124f5e
mov ecx, 0x67f308af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
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 - 0x1e], al
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
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, 0x50c317b0
mov ecx, 0xc576321d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xc025b2e1
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0x6953b823
mov ecx, 0x66d5c918
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
mov edx, eax
sub edx, 0x4727896
sub edx, 1
add edx, 0x4727896
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, 0x3d16594
mov ecx, 0xa9a58d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0xc7219aeb
sub edx, 1
sub edx, 0xc7219aeb
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, 0x7095cd06
mov ecx, 0x716f5fe5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
mov edx, eax
sub edx, 0xe26972b4
sub edx, 1
add edx, 0xe26972b4
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, 0x9707ade6
mov ecx, 0x444965b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
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, 0x6f84aa34
mov ecx, 0xddb15f2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [ebp - 0x34]
mov byte [eax], 1
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0x9ef5196a
sub edx, 1
sub edx, 0x9ef5196a
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, 0x6f84aa34
mov ecx, 0xed73e90c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0xa601c556
mov ecx, 0x25afa26d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0xa9b7ec92
sub edx, 1
sub edx, 0xa9b7ec92
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, 0xa601c556
mov ecx, 0xcb114fe0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xcd1eaf05
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
mov edx, eax
sub edx, 0x40fee4a5
sub edx, 1
add edx, 0x40fee4a5
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, 0x8709aea
mov ecx, 0x3a402769
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
mov edx, eax
sub edx, 0x1e2e6470
sub edx, 1
add edx, 0x1e2e6470
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, 0x93c4787a
mov ecx, 0x62fc8407
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0x1acb2dd9
sub edx, 1
sub edx, 0x1acb2dd9
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, 0x49abdbcd
mov ecx, 0xa075a3d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setne al
and al, 1
mov byte [ebp - 0x12], al
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0x49abdbcd
mov ecx, 0x75a7f22e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xcd1eaf05
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0x7101e48
sub edx, 1
sub edx, 0x7101e48
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, 0x6eae12ac
mov ecx, 0x9ee3b956
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
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 eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x3d], al
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
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, 0x6eae12ac
mov ecx, 0x8ae854a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0x6de991ba
sub edx, 1
sub edx, 0x6de991ba
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, 0xdb4e3eba
mov ecx, 0x5ad14816
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
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, 0x2106819e
mov ecx, 0x5c6a31bb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0x68ed0f5e
mov ecx, 0xccd9d677
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
mov edx, eax
add edx, 0x34a50a56
sub edx, 1
sub edx, 0x34a50a56
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, 0x87997727
mov ecx, 0x188ab4ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
sub edx, 0x4ededd5f
sub edx, 1
add edx, 0x4ededd5f
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, 0xa96110fb
mov ecx, 0x28a10442
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xdd0f0460
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0x93543259
mov ecx, 0xa2b392a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
mov edx, eax
add edx, 0x328c3ea3
sub edx, 1
sub edx, 0x328c3ea3
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, 0x93543259
mov ecx, 0x8e77bb6e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998bc]
mov edx, eax
sub edx, 0xef65fe4b
sub edx, 1
add edx, 0xef65fe4b
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, 0x5c85ed99
mov ecx, 0x7e06fc5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x25afa26d
jmp 0x403d2c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], 0x2b6d8ab0
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
add edx, 0x62813961
sub edx, 1
sub edx, 0x62813961
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, 0xce759f38
mov ecx, 0xbde837c7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0xce759f38
mov ecx, 0xc144fa53
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xa27862b
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x1e5dc5b0
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x5715c81f
jmp 0x403d2c
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
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 ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
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, 0xee7f8380
mov ecx, 0xecde262b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xe5651d19
jmp 0x403d2c
mov ecx, dword [0x5998c0]
mov eax, dword [0x5998bc]
mov edx, ecx
sub edx, 0x46ce1adc
sub edx, 1
add edx, 0x46ce1adc
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, 0xf0dabad6
mov ecx, 0x63cf8018
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xb0b3cfbf
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xbde837c7
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xed2ad1a7
jmp 0x403d2c
mov byte [ebp - 0x3d], 0
mov dword [ebp - 0x4c], 0xb5fa6cec
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x67f308af
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xc5466988
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x6ebe935b
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x4e025cd9
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x5ad14816
jmp 0x403d2c
mov dword [ebp - 0x4c], 0x188ab4ed
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xfdfc90dd
jmp 0x403d2c
mov dword [ebp - 0x4c], 0xa2b392a1
jmp 0x403d2c
jmp 0x401026