Function at 0x412e10
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, 0x98
mov eax, dword [0x5972c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0xb005315d
sub edx, 1
sub edx, 0xb005315d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x96], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x95], al
mov dword [ebp - 0x9c], 0x710cf2ef
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa0], eax
sub eax, 0x801efb60
je 0x4163b3
jmp 0x412e8b
mov eax, dword [ebp - 0xa0]
sub eax, 0x808b8b96
je 0x416951
jmp 0x412ea1
mov eax, dword [ebp - 0xa0]
sub eax, 0x8093f50a
je 0x416c1a
jmp 0x412eb7
mov eax, dword [ebp - 0xa0]
sub eax, 0x81ca9030
je 0x419e8d
jmp 0x412ecd
mov eax, dword [ebp - 0xa0]
sub eax, 0x81f40ca0
je 0x41afd4
jmp 0x412ee3
mov eax, dword [ebp - 0xa0]
sub eax, 0x82787c52
je 0x417c62
jmp 0x412ef9
mov eax, dword [ebp - 0xa0]
sub eax, 0x8530176b
je 0x418f5f
jmp 0x412f0f
mov eax, dword [ebp - 0xa0]
sub eax, 0x8737faf4
je 0x419c29
jmp 0x412f25
mov eax, dword [ebp - 0xa0]
sub eax, 0x8a0bcb53
je 0x4158ae
jmp 0x412f3b
mov eax, dword [ebp - 0xa0]
sub eax, 0x8a15ff38
je 0x41b140
jmp 0x412f51
mov eax, dword [ebp - 0xa0]
sub eax, 0x8ac8277d
je 0x417901
jmp 0x412f67
mov eax, dword [ebp - 0xa0]
sub eax, 0x8b02a3bc
je 0x41720d
jmp 0x412f7d
mov eax, dword [ebp - 0xa0]
sub eax, 0x8c120410
je 0x418b0e
jmp 0x412f93
mov eax, dword [ebp - 0xa0]
sub eax, 0x8ea60d71
je 0x41a5f8
jmp 0x412fa9
mov eax, dword [ebp - 0xa0]
sub eax, 0x8eda46f6
je 0x41aedc
jmp 0x412fbf
mov eax, dword [ebp - 0xa0]
sub eax, 0x8fc00c64
je 0x415771
jmp 0x412fd5
mov eax, dword [ebp - 0xa0]
sub eax, 0x916918af
je 0x4160da
jmp 0x412feb
mov eax, dword [ebp - 0xa0]
sub eax, 0x95058bc6
je 0x416537
jmp 0x413001
mov eax, dword [ebp - 0xa0]
sub eax, 0x95d57a3a
je 0x419b2a
jmp 0x413017
mov eax, dword [ebp - 0xa0]
sub eax, 0x967870b7
je 0x4152da
jmp 0x41302d
mov eax, dword [ebp - 0xa0]
sub eax, 0x96d3a4dc
je 0x4192e5
jmp 0x413043
mov eax, dword [ebp - 0xa0]
sub eax, 0x96fb9e97
je 0x41885a
jmp 0x413059
mov eax, dword [ebp - 0xa0]
sub eax, 0x973fe9e2
je 0x415680
jmp 0x41306f
mov eax, dword [ebp - 0xa0]
sub eax, 0x97f28c5a
je 0x41898e
jmp 0x413085
mov eax, dword [ebp - 0xa0]
sub eax, 0x987befa8
je 0x4196fd
jmp 0x41309b
mov eax, dword [ebp - 0xa0]
sub eax, 0x99411d21
je 0x41ae45
jmp 0x4130b1
mov eax, dword [ebp - 0xa0]
sub eax, 0x997001f9
je 0x418140
jmp 0x4130c7
mov eax, dword [ebp - 0xa0]
sub eax, 0x9a2f5887
je 0x41a47b
jmp 0x4130dd
mov eax, dword [ebp - 0xa0]
sub eax, 0x9a81b6eb
je 0x41866c
jmp 0x4130f3
mov eax, dword [ebp - 0xa0]
sub eax, 0x9ab02d5e
je 0x417ad9
jmp 0x413109
mov eax, dword [ebp - 0xa0]
sub eax, 0x9ab7471e
je 0x41b0c5
jmp 0x41311f
mov eax, dword [ebp - 0xa0]
sub eax, 0x9b031cbd
je 0x418945
jmp 0x413135
mov eax, dword [ebp - 0xa0]
sub eax, 0x9b03d09d
je 0x416588
jmp 0x41314b
mov eax, dword [ebp - 0xa0]
sub eax, 0x9c433eac
je 0x41a073
jmp 0x413161
mov eax, dword [ebp - 0xa0]
sub eax, 0x9dae7c45
je 0x4157ba
jmp 0x413177
mov eax, dword [ebp - 0xa0]
sub eax, 0x9e406f8f
je 0x41520c
jmp 0x41318d
mov eax, dword [ebp - 0xa0]
sub eax, 0x9e70be47
je 0x419907
jmp 0x4131a3
mov eax, dword [ebp - 0xa0]
sub eax, 0x9fa43c37
je 0x417f23
jmp 0x4131b9
mov eax, dword [ebp - 0xa0]
sub eax, 0xa05153e6
je 0x41ae63
jmp 0x4131cf
mov eax, dword [ebp - 0xa0]
sub eax, 0xa0f7078d
je 0x41ab89
jmp 0x4131e5
mov eax, dword [ebp - 0xa0]
sub eax, 0xa1cc2ab3
je 0x419f5e
jmp 0x4131fb
mov eax, dword [ebp - 0xa0]
sub eax, 0xa2d0c24c
je 0x41768b
jmp 0x413211
mov eax, dword [ebp - 0xa0]
sub eax, 0xa3280480
je 0x4167ec
jmp 0x413227
mov eax, dword [ebp - 0xa0]
sub eax, 0xa3a5d1a7
je 0x4185fe
jmp 0x41323d
mov eax, dword [ebp - 0xa0]
sub eax, 0xa417e5f8
je 0x41af96
jmp 0x413253
mov eax, dword [ebp - 0xa0]
sub eax, 0xa4337318
je 0x416af4
jmp 0x413269
mov eax, dword [ebp - 0xa0]
sub eax, 0xa53af968
je 0x41687b
jmp 0x41327f
mov eax, dword [ebp - 0xa0]
sub eax, 0xa597f911
je 0x4162b8
jmp 0x413295
mov eax, dword [ebp - 0xa0]
sub eax, 0xa7641272
je 0x414ee2
jmp 0x4132ab
mov eax, dword [ebp - 0xa0]
sub eax, 0xa813c44c
je 0x418198
jmp 0x4132c1
mov eax, dword [ebp - 0xa0]
sub eax, 0xa8250288
je 0x41aff2
jmp 0x4132d7
mov eax, dword [ebp - 0xa0]
sub eax, 0xa91d50ae
je 0x416d4f
jmp 0x4132ed
mov eax, dword [ebp - 0xa0]
sub eax, 0xa99d6a38
je 0x416fbb
jmp 0x413303
mov eax, dword [ebp - 0xa0]
sub eax, 0xa9c78bba
je 0x41a460
jmp 0x413319
mov eax, dword [ebp - 0xa0]
sub eax, 0xaa002255
je 0x41aad1
jmp 0x41332f
mov eax, dword [ebp - 0xa0]
sub eax, 0xaa52bc40
je 0x419d3b
jmp 0x413345
mov eax, dword [ebp - 0xa0]
sub eax, 0xab6ba1ad
je 0x41988a
jmp 0x41335b
mov eax, dword [ebp - 0xa0]
sub eax, 0xabdc5847
je 0x414e5f
jmp 0x413371
mov eax, dword [ebp - 0xa0]
sub eax, 0xac092849
je 0x419bbb
jmp 0x413387
mov eax, dword [ebp - 0xa0]
sub eax, 0xaf15c029
je 0x418349
jmp 0x41339d
mov eax, dword [ebp - 0xa0]
sub eax, 0xaf467c37
je 0x419536
jmp 0x4133b3
mov eax, dword [ebp - 0xa0]
sub eax, 0xb048fbf4
je 0x41a3e2
jmp 0x4133c9
mov eax, dword [ebp - 0xa0]
sub eax, 0xb0ab96cb
je 0x41afa5
jmp 0x4133df
mov eax, dword [ebp - 0xa0]
sub eax, 0xb1209e7b
je 0x41763a
jmp 0x4133f5
mov eax, dword [ebp - 0xa0]
sub eax, 0xb2380f56
je 0x41add0
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0x314
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
sub edx, 0x99f65bd6
sub edx, 1
add edx, 0x99f65bd6
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, 0x6f2950ec
mov ecx, 0xa7641272
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
add edx, 0x8c6daeea
sub edx, 1
sub edx, 0x8c6daeea
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, 0xa810573
mov ecx, 0xdb87ec13
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0x4b94f257
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
sub edx, 0x66900c75
sub edx, 1
add edx, 0x66900c75
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, 0xee0b59ce
mov ecx, 0xd4e7c740
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0x619c04f7
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
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, 0xfea4d457
mov ecx, 0x9dae7c45
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x68]
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 - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x61], al
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x3158175c
sub edx, 1
sub edx, 0x3158175c
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, 0xfea4d457
mov ecx, 0xd64f7b64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x94]
mov dword [eax], 1
mov dword [ebp - 0x9c], 0xe8e8535a
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
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, 0xd7d256a9
mov ecx, 0x367fc5ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
sub edx, 0xe63a8345
sub edx, 1
add edx, 0xe63a8345
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, 0xce299085
mov ecx, 0x34a36bda
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
sub edx, 0x6750a4b1
sub edx, 1
add edx, 0x6750a4b1
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, 0x5eb96c1d
mov ecx, 0x1123d81a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
sub edx, 0xf5d59694
sub edx, 1
add edx, 0xf5d59694
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, 0xc0c7db43
mov ecx, 0x9b03d09d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
sub edx, 0x7fd748fe
sub edx, 1
add edx, 0x7fd748fe
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, 0xc0c7db43
mov ecx, 0xea22f397
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x3d], al
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
sub edx, 0x6eaade9f
sub edx, 1
add edx, 0x6eaade9f
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, 0xd9a71366
mov ecx, 0xa53af968
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x7754a247
sub edx, 1
sub edx, 0x7754a247
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, 0x194a308c
mov ecx, 0xeba16795
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
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, 0x52c750fb
mov ecx, 0xe98035c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
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, 0x27034377
mov ecx, 0x5e9b74ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
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, 0xb2380f56
mov ecx, 0xe359d640
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call fcn.0056bbd7
add esp, 4
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0xa2310ff
sub edx, 1
sub edx, 0xa2310ff
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, 0x9e70be47
mov ecx, 0x13b33f07
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
sub edx, 0x593b48a6
sub edx, 1
add edx, 0x593b48a6
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, 0xd4372823
mov ecx, 0x1588d46b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x48319792
sub edx, 1
sub edx, 0x48319792
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, 0xe443caed
mov ecx, 0x54b1648e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
sub edx, 0x7d24928e
sub edx, 1
add edx, 0x7d24928e
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, 0x631a7ec3
mov ecx, 0xa2d0c24c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
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, 0xac092849
mov ecx, 0xbdc49824
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
sub edx, 0xd21dad1b
sub edx, 1
add edx, 0xd21dad1b
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, 0xf3676ff1
mov ecx, 0xe6aa1c83
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x34]
sub esp, 4
mov dword [esp], eax
call fcn.0056bbd7
add esp, 4
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x96d93a63
sub edx, 1
sub edx, 0x96d93a63
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, 0xa05153e6
mov ecx, 0x3a9a7e72
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x51cb1d29
sub edx, 1
sub edx, 0x51cb1d29
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, 0x57e8734e
mov ecx, 0x16bd074d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x90]
add eax, 0x10c
sub esp, 4
mov dword [esp], eax
call fcn.0040b550
add esp, 4
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x9c], 0x31e60c6c
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
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, 0x9a2f5887
mov ecx, 0x6314ae90
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
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, 0xcd13443d
mov ecx, 0xda66e3e7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
sub edx, 0x701c3f47
sub edx, 1
add edx, 0x701c3f47
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, 0x5adfce68
mov ecx, 0x544c1dc3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
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, 0xcd545ab2
mov ecx, 0x9a81b6eb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
lea eax, str.GetGameData
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040e6a0
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x9ddc4224
sub edx, 1
sub edx, 0x9ddc4224
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, 0xcd545ab2
mov ecx, 0x2e86561e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x20]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x19], al
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
sub edx, 0x6aef5207
sub edx, 1
add edx, 0x6aef5207
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, 0x81ca9030
mov ecx, 0xd8d234bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
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, 0xd264a9f7
mov ecx, 0x97f28c5a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
call dword [eax]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x26e341a9
sub edx, 1
sub edx, 0x26e341a9
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, 0xd264a9f7
mov ecx, 0xbba69383
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
sub edx, 0x5858fbf9
sub edx, 1
add edx, 0x5858fbf9
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, 0x17913200
mov ecx, 0x13d94138
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
add edx, 0x741bda0a
sub edx, 1
sub edx, 0x741bda0a
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, 0xdc6a2216
mov ecx, 0xea277ec3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0xfb033443
sub edx, 1
sub edx, 0xfb033443
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, 0xbeff7dad
mov ecx, 0x7496310
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
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 ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
sub edx, 0xe758a79a
sub edx, 1
add edx, 0xe758a79a
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, 0x5e45f30e
mov ecx, 0xfdd9a735
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0x38c2f71a
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
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, 0x81f40ca0
mov ecx, 0xb6dcc881
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call fcn.0056bbd7
add esp, 4
mov dword [ebp - 0x9c], 0xa91d50ae
jmp 0x41b1b6
mov eax, dword [ebp - 0x94]
mov dword [eax], 1
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0xb9e6c366
sub edx, 1
sub edx, 0xb9e6c366
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, 0xa0f7078d
mov ecx, 0xd212fcab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
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, 0x69f9ee33
mov ecx, 0x8737faf4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x3cf614ca
sub edx, 1
sub edx, 0x3cf614ca
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, 0x69f9ee33
mov ecx, 0xbe3763c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x90]
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
mov edx, eax
sub edx, 0x3dcb4b5b
sub edx, 1
add edx, 0x3dcb4b5b
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, 0xcbf1e294
mov ecx, 0x29658f3d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
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, 0xd856f95c
mov ecx, 0x734e35a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
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 - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0x5e2fbb18
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0x1c3bb6f7
jmp 0x41b1b6
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
mov eax, dword [0x599860]
mov ecx, dword [0x59985c]
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, 0xb81e676a
mov ecx, 0x1d0e1de9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov eax, dword [ebp - 0x94]
mov dword [eax], 1
mov dword [ebp - 0x9c], 0x57beecb
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
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, 0xef8e0e9
mov ecx, 0x6367a65d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0x5976a62a
jmp 0x41b1b6
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
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 ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x426cdebb
sub edx, 1
sub edx, 0x426cdebb
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, 0x224ce088
mov ecx, 0xded0350d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov ecx, dword [0x599860]
mov eax, dword [0x59985c]
mov edx, ecx
add edx, 0x29519629
sub edx, 1
sub edx, 0x29519629
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, 0x5ab46686
mov ecx, 0xe532641d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0xf650e614
jmp 0x41b1b6
mov eax, dword [ebp - 0x34]
sub esp, 4
mov dword [esp], eax
call fcn.0056bbd7
add esp, 4
mov dword [ebp - 0x9c], 0x9ab02d5e
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0x361caf8b
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0x20a82b01
jmp 0x41b1b6
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call fcn.0056bbd7
add esp, 4
mov dword [ebp - 0x9c], 0x405e7319
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0xab6ba1ad
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0xec25be6
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0xc27b808e
jmp 0x41b1b6
mov dword [ebp - 0x9c], 0x19e206b
jmp 0x41b1b6
jmp 0x412e6f