Function at 0x4147e0
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, 0x3cc
mov eax, dword [0x443080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3d0], 0xa4f474dc
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d4], eax
sub eax, 0x803e84e6
je 0x420e6e
jmp 0x41481c
mov eax, dword [ebp - 0x3d4]
sub eax, 0x80d0290b
je 0x41b125
jmp 0x414832
mov eax, dword [ebp - 0x3d4]
sub eax, 0x813086a1
je 0x419c56
jmp 0x414848
mov eax, dword [ebp - 0x3d4]
sub eax, 0x81b31dbe
je 0x41dada
jmp 0x41485e
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8202a126
je 0x41b4a0
jmp 0x414874
mov eax, dword [ebp - 0x3d4]
sub eax, 0x82242997
je 0x41c6ee
jmp 0x41488a
mov eax, dword [ebp - 0x3d4]
sub eax, 0x82fca62f
je 0x41cee7
jmp 0x4148a0
mov eax, dword [ebp - 0x3d4]
sub eax, 0x837c50f7
je 0x41964a
jmp 0x4148b6
mov eax, dword [ebp - 0x3d4]
sub eax, 0x83abb3c7
je 0x41a18e
jmp 0x4148cc
mov eax, dword [ebp - 0x3d4]
sub eax, 0x83c44a4c
je 0x420fc2
jmp 0x4148e2
mov eax, dword [ebp - 0x3d4]
sub eax, 0x84387a9c
je 0x41989f
jmp 0x4148f8
mov eax, dword [ebp - 0x3d4]
sub eax, 0x846eaaa5
je 0x41e853
jmp 0x41490e
mov eax, dword [ebp - 0x3d4]
sub eax, 0x846ed04a
je 0x420cb3
jmp 0x414924
mov eax, dword [ebp - 0x3d4]
sub eax, 0x848054f8
je 0x4215e1
jmp 0x41493a
mov eax, dword [ebp - 0x3d4]
sub eax, 0x84827080
je 0x42108b
jmp 0x414950
mov eax, dword [ebp - 0x3d4]
sub eax, 0x84d25c71
je 0x418f5f
jmp 0x414966
mov eax, dword [ebp - 0x3d4]
sub eax, 0x850e5a46
je 0x42158e
jmp 0x41497c
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8572b149
je 0x41c5df
jmp 0x414992
mov eax, dword [ebp - 0x3d4]
sub eax, 0x85aa1b99
je 0x41f62c
jmp 0x4149a8
mov eax, dword [ebp - 0x3d4]
sub eax, 0x85faa362
je 0x41adc0
jmp 0x4149be
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8629da2b
je 0x41fb58
jmp 0x4149d4
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8653ccb9
je 0x41caeb
jmp 0x4149ea
mov eax, dword [ebp - 0x3d4]
sub eax, 0x86e892dd
je 0x41ab01
jmp 0x414a00
mov eax, dword [ebp - 0x3d4]
sub eax, 0x86f0db30
je 0x42113b
jmp 0x414a16
mov eax, dword [ebp - 0x3d4]
sub eax, 0x874b46b1
je 0x41f24d
jmp 0x414a2c
mov eax, dword [ebp - 0x3d4]
sub eax, 0x883f29d9
je 0x419fd9
jmp 0x414a42
mov eax, dword [ebp - 0x3d4]
sub eax, 0x887b55f7
je 0x419a79
jmp 0x414a58
mov eax, dword [ebp - 0x3d4]
sub eax, 0x88ee0df0
je 0x41b730
jmp 0x414a6e
mov eax, dword [ebp - 0x3d4]
sub eax, 0x89258f1b
je 0x41c514
jmp 0x414a84
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8940bad9
je 0x42121d
jmp 0x414a9a
mov eax, dword [ebp - 0x3d4]
sub eax, 0x89fb7ed4
je 0x41ec2e
jmp 0x414ab0
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8a9bb199
je 0x41a8b1
jmp 0x414ac6
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8abf94cb
je 0x41c4f3
jmp 0x414adc
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8b14015a
je 0x41fba3
jmp 0x414af2
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8b36ed90
je 0x420f78
jmp 0x414b08
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8b68e3db
je 0x41fb8a
jmp 0x414b1e
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8b8c046f
je 0x419ae9
jmp 0x414b34
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8bd91e5a
je 0x420d51
jmp 0x414b4a
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8c3294a4
je 0x420840
jmp 0x414b60
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8c562992
je 0x41f896
jmp 0x414b76
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8cfcf886
je 0x41b317
jmp 0x414b8c
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8d420932
je 0x41cc2a
jmp 0x414ba2
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8d897793
je 0x41cdce
jmp 0x414bb8
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8da2a6f7
je 0x41d308
jmp 0x414bce
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8dd43c9d
je 0x41b8d7
jmp 0x414be4
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8e1c5378
je 0x41a7a7
jmp 0x414bfa
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8e2466f3
je 0x41b721
jmp 0x414c10
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8e3c3597
je 0x421008
jmp 0x414c26
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8e63138f
je 0x419847
jmp 0x414c3c
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8e6d1264
je 0x419659
jmp 0x414c52
mov eax, dword [ebp - 0x3d4]
sub eax, 0x8f749d0d
je 0x41b638
jmp 0x414c68
mov eax, dword [ebp - 0x3d4]
sub eax, 0x90169567
je 0x41ebf4
jmp 0x414c7e
mov eax, dword [ebp - 0x3d4]
sub eax, 0x90eedde7
je 0x41dafc
jmp 0x414c94
mov eax, dword [ebp - 0x3d4]
sub eax, 0x90fcfa60
je 0x42135c
jmp 0x414caa
mov eax, dword [ebp - 0x3d4]
sub eax, 0x91100291
je 0x41efb8
jmp 0x414cc0
mov eax, dword [ebp - 0x3d4]
sub eax, 0x91ad3bb3
je 0x42132f
jmp 0x414cd6
mov eax, dword [ebp - 0x3d4]
sub eax, 0x91bbe800
je 0x41dbfe
jmp 0x414cec
mov eax, dword [ebp - 0x3d4]
sub eax, 0x91cc0d6e
je 0x41d4d4
jmp 0x414d02
mov eax, dword [ebp - 0x3d4]
sub eax, 0x91e38d2d
je 0x41df7a
jmp 0x414d18
mov eax, dword [ebp - 0x3d4]
sub eax, 0x92516906
je 0x419f81
jmp 0x414d2e
mov eax, dword [ebp - 0x3d4]
sub eax, 0x9257dc1d
je 0x41e202
jmp 0x414d44
mov eax, dword [ebp - 0x3d4]
sub eax, 0x9258a1bc
je 0x41da61
jmp 0x414d5a
mov eax, dword [ebp - 0x3d4]
sub eax, 0x92959c7a
je 0x420d60
jmp 0x414d70
mov eax, dword [ebp - 0x3d4]
sub eax, 0x93e8bd9f
je 0x419f90
jmp 0x414d86
mov eax, dword [ebp - 0x3d4]
sub eax, 0x9445edb1
je 0x41b613
mov dword [ebp - 0x3d0], 0x6978a72e
jmp 0x421672
mov dword [ebp - 0x3d0], 0x8e6d1264
jmp 0x421672
mov byte [ebp - 0x361], 0
mov al, byte [ebp - 0x361]
mov byte [ebp - 0x30d], al
mov dword [ebp - 0x3d0], 0x6c9771f5
jmp 0x421672
mov byte [ebp - 0x361], 1
mov dword [ebp - 0x3d0], 0xf8141e99
jmp 0x421672
mov byte [ebp - 0x361], 0
mov dword [ebp - 0x3d0], 0x1eb86d54
jmp 0x421672
mov dword [ebp - 0x3d0], 0x70269922
jmp 0x421672
mov dword [ebp - 0x3d0], 0xb1a6cd1c
jmp 0x421672
mov byte [ebp - 0x369], 1
mov dword [ebp - 0x3d0], 0xa22a4c3f
jmp 0x421672
mov dword [ebp - 0x3d0], 0x93e8bd9f
jmp 0x421672
mov dword [ebp - 0x370], 0xefb8f02
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x3d0], 0x12c64cdf
jmp 0x421672
mov dword [ebp - 0x370], 0xefb8ef3
mov dword [ebp - 0x3d0], 0xc3a361ba
jmp 0x421672
mov dword [ebp - 0x3d0], 0xf172d898
jmp 0x421672
mov dl, byte [ebp - 0x2dd]
mov eax, 0xc01b2cf4
mov ecx, 0xeda62ba6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x3d0], 0xb8dcf17f
jmp 0x421672
xor eax, eax
mov dl, al
mov eax, 0x30eb5c74
mov ecx, 0xfc07d66d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov ecx, dword [0x44456c]
mov eax, dword [0x444568]
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, 0x604afbcd
mov ecx, 0x40b33155
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dword [ebp - 0x3d0], 0xc2337944
jmp 0x421672
mov dl, byte [ebp - 0x2c5]
mov eax, 0x247d6718
mov ecx, 0x19c91853
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov byte [ebp - 0x385], 1
mov dword [ebp - 0x3d0], 0xc194b821
jmp 0x421672
mov dword [ebp - 0x3d0], 0x6061232d
jmp 0x421672
mov dword [ebp - 0x3d0], 0x88ee0df0
jmp 0x421672
mov dl, byte [ebp - 0x2bd]
mov eax, 0xafd24f91
mov ecx, 0x8dd43c9d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov byte [ebp - 0x386], 1
mov dword [ebp - 0x3d0], 0xcd9f5b92
jmp 0x421672
mov dl, byte [ebp - 0x2a1]
mov eax, 0x8572b149
mov ecx, 0x89258f1b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov eax, dword [ebp - 0x394]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x3d0], 0x6b5d3281
jmp 0x421672
mov dword [ebp - 0x394], 1
mov dword [ebp - 0x3d0], 0x94d65efa
jmp 0x421672
mov eax, 0x5a28a92f
mov ecx, 0x1e13d0e1
cmp dword [ebp - 0x398], 0xefb8ee8
cmovg eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dword [ebp - 0x3d0], 0x7dec9cd4
jmp 0x421672
mov ecx, dword [0x44456c]
mov eax, dword [0x444568]
mov edx, ecx
sub edx, 0xcf6a4906
sub edx, 1
add edx, 0xcf6a4906
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, 0x4add597c
mov ecx, 0xdf21aea7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dword [ebp - 0x3d0], 0x7dc5a87d
jmp 0x421672
mov dword [ebp - 0x3d0], 0x42667bd6
jmp 0x421672
mov dword [ebp - 0x3d0], 0x47b471df
jmp 0x421672
mov dword [ebp - 0x3a4], 0xefb8f0e
cmp dword [ebp - 0x3a4], 0xefb8ed3
setg al
and al, 1
mov byte [ebp - 0x28a], al
mov dword [ebp - 0x3d0], 0xb81813a9
jmp 0x421672
mov eax, dword [0x44456c]
mov ecx, dword [0x444568]
mov edx, eax
sub edx, 0x85433f9e
sub edx, 1
add edx, 0x85433f9e
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, 0x33849bbd
mov ecx, 0xc39fe086
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov eax, 0xd8e2d69e
mov ecx, 0x90eedde7
cmp dword [ebp - 0x3a8], 0xefb8f03
cmovg eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dword [ebp - 0x3a8], 0xefb8edc
mov dword [ebp - 0x3d0], 0xe4802e51
jmp 0x421672
mov edx, dword [ebp - 0x284]
mov eax, 0x8e667af
mov ecx, 0x25673783
cmp edx, 0xefb8ed5
cmovle eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dword [ebp - 0x3d0], 0x225a36b6
jmp 0x421672
mov dword [ebp - 0x3d0], 0x99b90be9
jmp 0x421672
mov eax, dword [0x44456c]
mov ecx, dword [0x444568]
mov edx, eax
add edx, 0x2020a3a1
sub edx, 1
sub edx, 0x2020a3a1
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, 0x1faa942c
mov ecx, 0xa80280c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dl, byte [ebp - 0x275]
mov eax, 0xbb4653d0
mov ecx, 0x3032783f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov ecx, dword [0x44456c]
mov eax, dword [0x444568]
mov edx, ecx
sub edx, 0x1550bb1b
sub edx, 1
add edx, 0x1550bb1b
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, 0x3d5bb25
mov ecx, 0x15bdc206
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dword [ebp - 0x3d0], 0x412719c6
jmp 0x421672
mov eax, dword [ebp - 0x264]
add eax, 0x58c769f1
add eax, 1
sub eax, 0x58c769f1
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3d0], 0x4c2e1f96
jmp 0x421672
mov eax, dword [0x44456c]
mov ecx, dword [0x444568]
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, 0xa9ce15db
mov ecx, 0x2c4b55dd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dword [ebp - 0x3d0], 0x1eedff23
jmp 0x421672
mov dword [ebp - 0x3d0], 0x19094951
jmp 0x421672
mov dword [ebp - 0x354], 1
mov dword [ebp - 0x3d0], 0x8b14015a
jmp 0x421672
mov dword [ebp - 0x3d0], 0x520dc26a
jmp 0x421672
mov eax, dword [0x44456c]
mov ecx, dword [0x444568]
mov edx, eax
sub edx, 0x761c8e33
sub edx, 1
add edx, 0x761c8e33
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, 0x848054f8
mov ecx, 0xce6f9bb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x3d0], eax
jmp 0x421672
mov dword [ebp - 0x35c], 0xefb8f11
mov dword [ebp - 0x3d0], 0x1f83c888
jmp 0x421672
mov dword [ebp - 0x3d0], 0xae131209
jmp 0x421672
mov byte [ebp - 0x361], 0
mov dword [ebp - 0x3d0], 0x7fd175f9
jmp 0x421672
mov dword [ebp - 0x3d0], 0xacff6ee3
jmp 0x421672
mov byte [ebp - 0x386], 0
mov dword [ebp - 0x3d0], 0x27924797
jmp 0x421672
mov dword [ebp - 0x3d0], 0xb0608c85
jmp 0x421672
mov dword [ebp - 0x3d0], 0x595e1387
jmp 0x421672
mov dword [ebp - 0x3d0], 0x440905de
jmp 0x421672
mov dword [ebp - 0x3a0], 0xefb8ee5
mov dword [ebp - 0x3d0], 0xc2018d89
jmp 0x421672
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3d0], 0x7154e2a9
jmp 0x421672
mov dword [ebp - 0x3d0], 0x464ee431
jmp 0x421672
mov dword [ebp - 0x3d0], 0xce46e05d
jmp 0x421672
mov eax, dword [ebp - 0x22c]
sub esp, 4
mov dword [esp], eax
call fcn.0042bf57
add esp, 4
mov dword [ebp - 0x3d0], 0xd6de74b6
jmp 0x421672
mov eax, dword [ebp - 0x33c]
mov ecx, dword [eax]
lea eax, str.ExitGame
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00413e80
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x338]
mov dword [eax], ecx
mov dword [ebp - 0x3d0], 0xce6f9bb6
jmp 0x421672
jmp 0x414800