Function at 0x4159d0
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, 0x1e4
mov eax, dword [0x446080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
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 - 0x1e2], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x1e1], al
mov dword [ebp - 0x1e8], 0x690d77a0
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1ec], eax
sub eax, 0x801aff23
je 0x423c82
jmp 0x415a43
mov eax, dword [ebp - 0x1ec]
sub eax, 0x801c26fd
je 0x423c13
jmp 0x415a59
mov eax, dword [ebp - 0x1ec]
sub eax, 0x80836fd4
je 0x41aa94
jmp 0x415a6f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x80acc30f
je 0x4210ed
jmp 0x415a85
mov eax, dword [ebp - 0x1ec]
sub eax, 0x80bbcbb0
je 0x422346
jmp 0x415a9b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x813a9e2f
je 0x41ce46
jmp 0x415ab1
mov eax, dword [ebp - 0x1ec]
sub eax, 0x817f4562
je 0x423ce2
jmp 0x415ac7
mov eax, dword [ebp - 0x1ec]
sub eax, 0x824dd09f
je 0x41ccda
jmp 0x415add
mov eax, dword [ebp - 0x1ec]
sub eax, 0x824fd96d
je 0x41e7f0
jmp 0x415af3
mov eax, dword [ebp - 0x1ec]
sub eax, 0x827b8445
je 0x423557
jmp 0x415b09
mov eax, dword [ebp - 0x1ec]
sub eax, 0x828166f2
je 0x41dd1a
jmp 0x415b1f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x82c5bf2c
je 0x41d73c
jmp 0x415b35
mov eax, dword [ebp - 0x1ec]
sub eax, 0x82ffab98
je 0x423916
jmp 0x415b4b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x833b775d
je 0x423901
jmp 0x415b61
mov eax, dword [ebp - 0x1ec]
sub eax, 0x835d62e0
je 0x4238a4
jmp 0x415b77
mov eax, dword [ebp - 0x1ec]
sub eax, 0x847aae13
je 0x423572
jmp 0x415b8d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x84c47fe0
je 0x420f77
jmp 0x415ba3
mov eax, dword [ebp - 0x1ec]
sub eax, 0x84e52e5c
je 0x423683
jmp 0x415bb9
mov eax, dword [ebp - 0x1ec]
sub eax, 0x854abfee
je 0x41c17a
jmp 0x415bcf
mov eax, dword [ebp - 0x1ec]
sub eax, 0x85f14658
je 0x41d3a3
jmp 0x415be5
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8630f27b
je 0x41f76f
jmp 0x415bfb
mov eax, dword [ebp - 0x1ec]
sub eax, 0x866c4813
je 0x4239b3
jmp 0x415c11
mov eax, dword [ebp - 0x1ec]
sub eax, 0x86a52ad0
je 0x41fada
jmp 0x415c27
mov eax, dword [ebp - 0x1ec]
sub eax, 0x86c526bb
je 0x4209db
jmp 0x415c3d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x872e7b1e
je 0x4237f6
jmp 0x415c53
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8768fa23
je 0x423d39
jmp 0x415c69
mov eax, dword [ebp - 0x1ec]
sub eax, 0x87e562fd
je 0x41f986
jmp 0x415c7f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x88076c69
je 0x421077
jmp 0x415c95
mov eax, dword [ebp - 0x1ec]
sub eax, 0x881e1e60
je 0x420d0c
jmp 0x415cab
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8826ee22
je 0x41efab
jmp 0x415cc1
mov eax, dword [ebp - 0x1ec]
sub eax, 0x887839d2
je 0x41c6b8
jmp 0x415cd7
mov eax, dword [ebp - 0x1ec]
sub eax, 0x88cd9870
je 0x41c10c
jmp 0x415ced
mov eax, dword [ebp - 0x1ec]
sub eax, 0x88d4f72a
je 0x41b7a2
jmp 0x415d03
mov eax, dword [ebp - 0x1ec]
sub eax, 0x890051e7
je 0x41b98d
jmp 0x415d19
mov eax, dword [ebp - 0x1ec]
sub eax, 0x89239180
je 0x42135d
jmp 0x415d2f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x89386653
je 0x423f1e
jmp 0x415d45
mov eax, dword [ebp - 0x1ec]
sub eax, 0x89d42dd8
je 0x41bc0c
jmp 0x415d5b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x89ff0ce7
je 0x42010e
jmp 0x415d71
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8a43bab5
je 0x41d6ce
jmp 0x415d87
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8a5c940c
je 0x41bb03
jmp 0x415d9d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8ba19114
je 0x421a58
jmp 0x415db3
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8bfd8c02
je 0x41d78c
jmp 0x415dc9
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8c90e097
je 0x421831
jmp 0x415ddf
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8cc1a3f5
je 0x41d5d4
jmp 0x415df5
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d2822ac
je 0x41ede4
jmp 0x415e0b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d6a62d1
je 0x420ade
jmp 0x415e21
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e039067
je 0x4237d8
jmp 0x415e37
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e12d3b8
je 0x4202c2
jmp 0x415e4d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e4088a9
je 0x41fcd4
jmp 0x415e63
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e41efc6
je 0x41c8a1
jmp 0x415e79
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e6ddac3
je 0x41c63b
jmp 0x415e8f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e83e49c
je 0x421ce9
jmp 0x415ea5
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8eb776ab
je 0x422664
jmp 0x415ebb
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8f99e626
je 0x420206
jmp 0x415ed1
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8fce622f
je 0x41b263
jmp 0x415ee7
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8fd8b4e8
je 0x42009b
jmp 0x415efd
mov eax, dword [ebp - 0x1ec]
sub eax, 0x901a1a2b
je 0x421978
jmp 0x415f13
mov eax, dword [ebp - 0x1ec]
sub eax, 0x902fbc74
je 0x420772
jmp 0x415f29
mov eax, dword [ebp - 0x1ec]
sub eax, 0x9038b2ad
je 0x42365f
jmp 0x415f3f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x90a6ce54
je 0x422ba9
jmp 0x415f55
mov eax, dword [ebp - 0x1ec]
sub eax, 0x90f76fa5
je 0x4226cf
jmp 0x415f6b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x91989ad9
je 0x41e594
jmp 0x415f81
mov eax, dword [ebp - 0x1ec]
sub eax, 0x91faa450
je 0x42258c
jmp 0x415f97
mov eax, dword [ebp - 0x1ec]
sub eax, 0x9263e28e
je 0x41ba7e
jmp 0x415fad
mov eax, dword [ebp - 0x1ec]
sub eax, 0x927b964f
je 0x420518
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1d8]
cdq
idiv dword [ecx]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x1e8], 0x2e77a42b
jmp 0x4240ca
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
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, 0xba2a5c24
mov ecx, 0xa9c677d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x1c8]
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0xe9], al
mov dword [ebp - 0x1e8], 0x42fc1a30
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0x2e5d02b9
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0xd71215df
jmp 0x4240ca
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1c8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c0]
mov esi, dword [eax]
mov eax, dword [ebp - 0x1bc]
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 - 0xe8], eax
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
add edx, 0x87c57097
sub edx, 1
sub edx, 0x87c57097
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, 0x6cf011e6
mov ecx, 0x153cc94f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0xe4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1c8]
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xe0]
mov eax, 0x5853ace5
mov ecx, 0x9cd8f875
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
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, 0xaf8a59ee
mov ecx, 0x854abfee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [eax]
sub ecx, 0x9f854438
add ecx, 1
add ecx, 0x9f854438
mov eax, dword [ebp - 0x1b8]
mov dword [eax], ecx
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
sub edx, 0xe29ffcc6
sub edx, 1
add edx, 0xe29ffcc6
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, 0xaf8a59ee
mov ecx, 0x269cd75a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
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, 0x7cebc328
mov ecx, 0x169a9e71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x1b0]
cmp dword [eax], 0xefb8efe
setle al
and al, 1
mov byte [ebp - 0xca], al
mov dword [ebp - 0x1e8], 0x63f1a38f
jmp 0x4240ca
mov eax, dword [ebp - 0x1ac]
mov dword [eax], 0xefb8ec9
mov eax, dword [ebp - 0x1ac]
cmp dword [eax], 0xefb8f05
setg al
and al, 1
mov byte [ebp - 0xc9], al
mov dword [ebp - 0x1e8], 0x1b387eb0
jmp 0x4240ca
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
mov edx, eax
sub edx, 0x76ba37a
sub edx, 1
add edx, 0x76ba37a
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, 0xbee3c335
mov ecx, 0xe1f9447a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0xc5e0338b
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0x9ae15044
jmp 0x4240ca
mov eax, dword [ebp - 0x1a0]
cmp dword [eax], 0xefb8ed8
setle al
and al, 1
mov byte [ebp - 0xb1], al
mov dword [ebp - 0x1e8], 0xd3be59a
jmp 0x4240ca
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
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, 0x2f36682
mov ecx, 0x82c5bf2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0x4a94503c
jmp 0x4240ca
mov dl, byte [ebp - 0xa9]
mov eax, 0x552ee0fd
mov ecx, 0xdb3ca910
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov dl, byte [ebp - 0x91]
mov eax, 0x626e53ee
mov ecx, 0x406bf76a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0x51bdc61d
jmp 0x4240ca
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x1e8], 0x482609f9
jmp 0x4240ca
mov eax, dword [ebp - 0x184]
mov dword [eax], 0
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
mov edx, eax
sub edx, 0x2aa7caf5
sub edx, 1
add edx, 0x2aa7caf5
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, 0xaf79a15f
mov ecx, 0x2c047e8a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x180]
mov dword [eax], 0xefb8ee9
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
add edx, 0xbb25b4a6
sub edx, 1
sub edx, 0xbb25b4a6
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, 0xc693a1bb
mov ecx, 0xda8c6ba1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x17c]
mov byte [eax], 1
mov dword [ebp - 0x1e8], 0x2dab3ea
jmp 0x4240ca
mov dl, 1
mov eax, 0x11c228c1
mov ecx, 0x7bd3d881
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x178]
mov byte [eax], 1
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
sub edx, 0xeb237674
sub edx, 1
add edx, 0xeb237674
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, 0x3ad76d64
mov ecx, 0xcca584cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
mov edx, eax
sub edx, 0x7c4b91f9
sub edx, 1
add edx, 0x7c4b91f9
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, 0x3e1a54a2
mov ecx, 0xd6fe7bc9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x170]
mov dword [eax], 0xefb8ed2
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
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, 0x53c00e3a
mov ecx, 0x9aebb739
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x170]
cmp dword [eax], 0xefb8ee8
setle al
and al, 1
mov byte [ebp - 0x65], al
mov dword [ebp - 0x1e8], 0xa248e6d1
jmp 0x4240ca
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
mov edx, eax
add edx, 0x40d2fa53
sub edx, 1
sub edx, 0x40d2fa53
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, 0x586aff2c
mov ecx, 0xc3f38fdf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov ecx, dword [ebp - 0x64]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x170]
mov dword [eax], ecx
mov dword [ebp - 0x1e8], 0xaec45254
jmp 0x4240ca
mov eax, dword [ebp - 0x168]
mov byte [eax], 0
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
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, 0x1040b305
mov ecx, 0x1b015f0b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
sub edx, 0x95dae3e7
sub edx, 1
add edx, 0x95dae3e7
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, 0x7c9990
mov ecx, 0x33290063
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x5c]
cmp eax, 0xefb8f01
setg al
and al, 1
mov byte [ebp - 0x56], al
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
mov edx, eax
add edx, 0x99e29d39
sub edx, 1
sub edx, 0x99e29d39
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, 0xc4166fcf
mov ecx, 0x223dd093
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
sub edx, 0x229c5ed
sub edx, 1
add edx, 0x229c5ed
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, 0xe6107add
mov ecx, 0xcfbc69a6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
add edx, 0xa460d869
sub edx, 1
sub edx, 0xa460d869
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, 0x9df8663a
mov ecx, 0x18b30da0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
sub edx, 0x2420d38b
sub edx, 1
add edx, 0x2420d38b
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, 0xb4bce832
mov ecx, 0x80acc30f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
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, 0xb4bce832
mov ecx, 0x1afd49cc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x15c]
mov dword [eax], 0xefb8efb
mov dword [ebp - 0x1e8], 0x177f958a
jmp 0x4240ca
mov eax, dword [ebp - 0x158]
mov byte [eax], 1
mov dword [ebp - 0x1e8], 0x2c22e36f
jmp 0x4240ca
mov eax, dword [ebp - 0x154]
mov byte [eax], 1
mov eax, dword [ebp - 0x154]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x3e], al
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
sub edx, 0x8f4f742a
sub edx, 1
add edx, 0x8f4f742a
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, 0xcfdf0088
mov ecx, 0x23ee66a7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
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, 0x25cdb4d6
mov ecx, 0xc85386a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x150]
cmp dword [eax], 0xefb8f11
setg al
and al, 1
mov byte [ebp - 0x3d], al
mov ecx, dword [0x447564]
mov eax, dword [0x447560]
mov edx, ecx
sub edx, 0x69653544
sub edx, 1
add edx, 0x69653544
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, 0xc8b597f9
mov ecx, 0x9d0ebe15
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0xb8c7cab4
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0x24cf620f
jmp 0x4240ca
mov eax, dword [ebp - 0x144]
mov dword [eax], 0xefb8f0b
mov dword [ebp - 0x1e8], 0x445104f2
jmp 0x4240ca
mov eax, dword [0x447564]
mov ecx, dword [0x447560]
mov edx, eax
sub edx, 0x5bd36730
sub edx, 1
add edx, 0x5bd36730
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, 0x35a6f78b
mov ecx, 0x50f72f37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x4240ca
mov eax, dword [ebp - 0x140]
mov byte [eax], 1
mov dword [ebp - 0x1e8], 0xc8b0df17
jmp 0x4240ca
mov eax, dword [ebp - 0x120]
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x1e8], 0xe5d5cd79
jmp 0x4240ca
mov eax, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1e8], 0xf67973d6
jmp 0x4240ca
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x1e8], 0xc36c0718
jmp 0x4240ca
mov eax, dword [ebp - 0x1e0]
mov dword [eax], 1
mov dword [ebp - 0x1e8], 0xbba61abb
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0x9e3e5584
jmp 0x4240ca
mov eax, dword [ebp - 0x1b0]
mov dword [eax], 0xefb8ef3
mov dword [ebp - 0x1e8], 0x444a3868
jmp 0x4240ca
mov eax, dword [ebp - 0x1a8]
mov byte [eax], 1
mov dword [ebp - 0x1e8], 0x6e978888
jmp 0x4240ca
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1e8], 0xc883ad32
jmp 0x4240ca
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [eax]
sub ecx, 0x459707c5
add ecx, 1
add ecx, 0x459707c5
mov eax, dword [ebp - 0x1a4]
mov dword [eax], ecx
mov dword [ebp - 0x1e8], 0x737f7e85
jmp 0x4240ca
mov eax, dword [ebp - 0x198]
mov dword [eax], 0xefb8ef1
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1e8], 0x1c80d206
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0xbdf109ed
jmp 0x4240ca
mov eax, dword [ebp - 0x170]
mov dword [eax], 0xefb8efc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1e8], 0xf0bbaffa
jmp 0x4240ca
mov eax, dword [ebp - 0x16c]
mov byte [eax], 1
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x1e8], 0xcea794fa
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0xb09c738e
jmp 0x4240ca
mov dword [ebp - 0x1e8], 0x22c78cf9
jmp 0x4240ca
jmp 0x415a27