Function at 0x40ad70
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, 0x9c
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
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 - 0x9a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa0], 0xa13ee14b
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
sub eax, 0x80069305
je 0x4124f8
jmp 0x40ade3
mov eax, dword [ebp - 0xa4]
sub eax, 0x80802747
je 0x4125dc
jmp 0x40adf9
mov eax, dword [ebp - 0xa4]
sub eax, 0x83a744cc
je 0x40f6f5
jmp 0x40ae0f
mov eax, dword [ebp - 0xa4]
sub eax, 0x83aadc67
je 0x40e899
jmp 0x40ae25
mov eax, dword [ebp - 0xa4]
sub eax, 0x83d4bd59
je 0x40ff0d
jmp 0x40ae3b
mov eax, dword [ebp - 0xa4]
sub eax, 0x84241bdc
je 0x4102ce
jmp 0x40ae51
mov eax, dword [ebp - 0xa4]
sub eax, 0x8446a387
je 0x40ed66
jmp 0x40ae67
mov eax, dword [ebp - 0xa4]
sub eax, 0x8481cfea
je 0x4107f9
jmp 0x40ae7d
mov eax, dword [ebp - 0xa4]
sub eax, 0x84f91db6
je 0x40f1a8
jmp 0x40ae93
mov eax, dword [ebp - 0xa4]
sub eax, 0x8531e731
je 0x40f5c0
jmp 0x40aea9
mov eax, dword [ebp - 0xa4]
sub eax, 0x85ad72f4
je 0x40e8f8
jmp 0x40aebf
mov eax, dword [ebp - 0xa4]
sub eax, 0x85ae7c36
je 0x410bec
jmp 0x40aed5
mov eax, dword [ebp - 0xa4]
sub eax, 0x8602b83f
je 0x412055
jmp 0x40aeeb
mov eax, dword [ebp - 0xa4]
sub eax, 0x8655a032
je 0x411578
jmp 0x40af01
mov eax, dword [ebp - 0xa4]
sub eax, 0x8663e9e7
je 0x40d589
jmp 0x40af17
mov eax, dword [ebp - 0xa4]
sub eax, 0x875bb2ce
je 0x41013f
jmp 0x40af2d
mov eax, dword [ebp - 0xa4]
sub eax, 0x8957b490
je 0x4127b3
jmp 0x40af43
mov eax, dword [ebp - 0xa4]
sub eax, 0x8a578e3c
je 0x41287f
jmp 0x40af59
mov eax, dword [ebp - 0xa4]
sub eax, 0x8b1e658c
je 0x410aa7
jmp 0x40af6f
mov eax, dword [ebp - 0xa4]
sub eax, 0x8bd3a94a
je 0x40d2fd
jmp 0x40af85
mov eax, dword [ebp - 0xa4]
sub eax, 0x8c039b6f
je 0x410bce
jmp 0x40af9b
mov eax, dword [ebp - 0xa4]
sub eax, 0x8c668f48
je 0x412477
jmp 0x40afb1
mov eax, dword [ebp - 0xa4]
sub eax, 0x8d407585
je 0x4101bd
jmp 0x40afc7
mov eax, dword [ebp - 0xa4]
sub eax, 0x8de99dd4
je 0x40ee5c
jmp 0x40afdd
mov eax, dword [ebp - 0xa4]
sub eax, 0x8dfcffce
je 0x40e34c
jmp 0x40aff3
mov eax, dword [ebp - 0xa4]
sub eax, 0x8e3e012c
je 0x411400
jmp 0x40b009
mov eax, dword [ebp - 0xa4]
sub eax, 0x8f57908b
je 0x411476
jmp 0x40b01f
mov eax, dword [ebp - 0xa4]
sub eax, 0x8fe769a0
je 0x411085
jmp 0x40b035
mov eax, dword [ebp - 0xa4]
sub eax, 0x91307a40
je 0x412c06
jmp 0x40b04b
mov eax, dword [ebp - 0xa4]
sub eax, 0x93a6c105
je 0x412b41
jmp 0x40b061
mov eax, dword [ebp - 0xa4]
sub eax, 0x93a8f7d9
je 0x40ef82
jmp 0x40b077
mov eax, dword [ebp - 0xa4]
sub eax, 0x945d8fd5
je 0x40d98d
jmp 0x40b08d
mov eax, dword [ebp - 0xa4]
sub eax, 0x94a77d92
je 0x411a78
jmp 0x40b0a3
mov eax, dword [ebp - 0xa4]
sub eax, 0x94ccc815
je 0x410423
jmp 0x40b0b9
mov eax, dword [ebp - 0xa4]
sub eax, 0x95cc661a
je 0x412942
jmp 0x40b0cf
mov eax, dword [ebp - 0xa4]
sub eax, 0x95cd1ebd
je 0x40e710
jmp 0x40b0e5
mov eax, dword [ebp - 0xa4]
sub eax, 0x96463773
je 0x40e33d
jmp 0x40b0fb
mov eax, dword [ebp - 0xa4]
sub eax, 0x9752b0b6
je 0x40f393
jmp 0x40b111
mov eax, dword [ebp - 0xa4]
sub eax, 0x978633f2
je 0x40fbf8
jmp 0x40b127
mov eax, dword [ebp - 0xa4]
sub eax, 0x989a692e
je 0x40d8bf
jmp 0x40b13d
mov eax, dword [ebp - 0xa4]
sub eax, 0x98bbf0b6
je 0x40f822
jmp 0x40b153
mov eax, dword [ebp - 0xa4]
sub eax, 0x9a3e1e27
je 0x411634
jmp 0x40b169
mov eax, dword [ebp - 0xa4]
sub eax, 0x9a4b4883
je 0x40f3b0
jmp 0x40b17f
mov eax, dword [ebp - 0xa4]
sub eax, 0x9a9ebbf5
je 0x40f045
jmp 0x40b195
mov eax, dword [ebp - 0xa4]
sub eax, 0x9ab3f2cb
je 0x40e836
jmp 0x40b1ab
mov eax, dword [ebp - 0xa4]
sub eax, 0x9c24107b
je 0x40fc07
jmp 0x40b1c1
mov eax, dword [ebp - 0xa4]
sub eax, 0x9d7ed45c
je 0x4129ab
jmp 0x40b1d7
mov eax, dword [ebp - 0xa4]
sub eax, 0x9da00564
je 0x40f645
jmp 0x40b1ed
mov eax, dword [ebp - 0xa4]
sub eax, 0x9efef22b
je 0x4102bf
jmp 0x40b203
mov eax, dword [ebp - 0xa4]
sub eax, 0x9ffa4000
je 0x411cb6
jmp 0x40b219
mov eax, dword [ebp - 0xa4]
sub eax, 0xa0229325
je 0x411283
jmp 0x40b22f
mov eax, dword [ebp - 0xa4]
sub eax, 0xa070544a
je 0x412792
jmp 0x40b245
mov eax, dword [ebp - 0xa4]
sub eax, 0xa0cae76c
je 0x40e11d
jmp 0x40b25b
mov eax, dword [ebp - 0xa4]
sub eax, 0xa10356fd
je 0x40ec9d
jmp 0x40b271
mov eax, dword [ebp - 0xa4]
sub eax, 0xa10dbab3
je 0x410d1a
jmp 0x40b287
mov eax, dword [ebp - 0xa4]
sub eax, 0xa13ee14b
je 0x40d1d4
jmp 0x40b29d
mov eax, dword [ebp - 0xa4]
sub eax, 0xa1662a62
je 0x41160e
jmp 0x40b2b3
mov eax, dword [ebp - 0xa4]
sub eax, 0xa17db08a
je 0x40dcd4
jmp 0x40b2c9
mov eax, dword [ebp - 0xa4]
sub eax, 0xa20c1ce6
je 0x40e6d2
jmp 0x40b2df
mov eax, dword [ebp - 0xa4]
sub eax, 0xa268f6ff
je 0x40dc30
jmp 0x40b2f5
mov eax, dword [ebp - 0xa4]
sub eax, 0xa2b71da7
je 0x410e1c
jmp 0x40b30b
mov eax, dword [ebp - 0xa4]
sub eax, 0xa3e43286
je 0x41072a
jmp 0x40b321
mov eax, dword [ebp - 0xa4]
sub eax, 0xa441766d
je 0x40e537
jmp 0x40b337
mov eax, dword [ebp - 0xa4]
sub eax, 0xa45599a8
je 0x40d6d0
jmp 0x40b34d
mov eax, dword [ebp - 0xa4]
sub eax, 0xa4a5f96f
je 0x41179f
mov bl, byte [ebp - 0x9a]
mov dh, byte [ebp - 0x99]
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, 0x8c668f48
mov ecx, 0xab42dccd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0xef3d54f3
jmp 0x412c77
mov dword [ebp - 0xa0], 0x5bcd75b8
jmp 0x412c77
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
mov edx, ecx
sub edx, 0x2885240f
sub edx, 1
add edx, 0x2885240f
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, 0x17b650e0
mov ecx, 0x6e015dce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0xde1734d5
jmp 0x412c77
mov dword [ebp - 0xa0], 0x4611374d
jmp 0x412c77
mov dword [ebp - 0xa0], 0xc8b54e2c
jmp 0x412c77
mov dword [ebp - 0xa0], 0xa80432e8
jmp 0x412c77
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
mov edx, ecx
add edx, 0x10ae3ef
sub edx, 1
sub edx, 0x10ae3ef
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, 0x80802747
mov ecx, 0xbc478274
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0x8dfcffce
jmp 0x412c77
mov eax, dword [ebp - 0x90]
vmovss xmm0, dword [0x42d3e4]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0xfa12ef90
jmp 0x412c77
mov eax, dword [ebp - 0x8c]
vmovss xmm0, dword [0x42d3c8]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x1eaf5174
jmp 0x412c77
mov dl, 1
mov eax, 0x4100acc3
mov ecx, 0x5c79128e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x8c]
vmovss xmm0, dword [0x42d3c0]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x4100acc3
jmp 0x412c77
mov eax, dword [ebp - 0x8c]
vmovss xmm0, dword [0x42d3b8]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x8c]
vmovss xmm0, dword [0x42d3b4]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x73bc040c
jmp 0x412c77
mov dl, 1
mov eax, 0x85ad72f4
mov ecx, 0xc1b3bba1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x88]
vmovss xmm0, dword [0x42d3a4]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x88]
vmovss xmm0, dword [0x42d3a0]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x88]
vmovss xmm0, dword [0x42d39c]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0xc1ffdf01
jmp 0x412c77
mov eax, dword [ebp - 0x88]
vmovss xmm0, dword [0x42d294]
vmovss dword [eax], xmm0
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
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, 0x77f2483a
mov ecx, 0xdab8ccdc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x88]
vmovss xmm0, dword [0x42d384]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x88]
vmovss xmm0, dword [0x42d380]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x3d75778b
jmp 0x412c77
mov dword [ebp - 0xa0], 0xdf6b54ec
jmp 0x412c77
mov dword [ebp - 0xa0], 0x5286a554
jmp 0x412c77
mov eax, dword [ebp - 0x88]
vmovss xmm0, dword [0x42d288]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x88]
vmovss xmm0, dword [0x42d284]
vmovss dword [eax], xmm0
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
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, 0xd4544ebf
mov ecx, 0x2a280b79
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x84]
vmovss xmm0, dword [0x42d280]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x84]
vmovss xmm0, dword [0x42d27c]
vmovss dword [eax], xmm0
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
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, 0x36a4ee97
mov ecx, 0xe22caaff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dl, 1
mov eax, 0xdf9fde7c
mov ecx, 0x9a4b4883
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x84]
vmovss xmm0, dword [0x42d358]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x84]
vmovss xmm0, dword [0x42d354]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x415af3b3
jmp 0x412c77
mov dword [ebp - 0xa0], 0x24e3de4f
jmp 0x412c77
mov eax, dword [ebp - 0x84]
vmovss xmm0, dword [0x42d274]
vmovss dword [eax], xmm0
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
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, 0x8957b490
mov ecx, 0x604503fb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
sub edx, 0x96a2e73c
sub edx, 1
add edx, 0x96a2e73c
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, 0x2d22800d
mov ecx, 0x5731c405
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x84]
vmovss xmm0, dword [0x42d270]
vmovss dword [eax], xmm0
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
mov edx, ecx
sub edx, 0xd9aaed36
sub edx, 1
add edx, 0xd9aaed36
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, 0x23475de8
mov ecx, 0x2a69f23d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0x9c24107b
jmp 0x412c77
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
add edx, 0x80724931
sub edx, 1
sub edx, 0x80724931
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, 0xcf3c26f3
mov ecx, 0xbd378569
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0x3ee58161
jmp 0x412c77
mov eax, dword [ebp - 0x7c]
vmovss xmm0, dword [0x42d258]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x7c]
vmovss xmm0, dword [0x42d254]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x7c]
vmovss xmm0, dword [0x42d250]
vmovss dword [eax], xmm0
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
sub edx, 0x47ec8056
sub edx, 1
add edx, 0x47ec8056
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, 0x7cb54067
mov ecx, 0x8d407585
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0x3fd63bb7
jmp 0x412c77
mov dword [ebp - 0xa0], 0x84241bdc
jmp 0x412c77
mov eax, dword [ebp - 0x7c]
vmovss xmm0, dword [0x42d314]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x7e92af2b
jmp 0x412c77
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
sub edx, 0x2bbd09e9
sub edx, 1
add edx, 0x2bbd09e9
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, 0x1cd6d9d0
mov ecx, 0x8ba68f3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x7c]
vmovss xmm0, dword [0x42d2fc]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x1d12bbf
jmp 0x412c77
mov eax, dword [ebp - 0x7c]
vmovss xmm0, dword [0x42d23c]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x7c]
vmovss xmm0, dword [0x42d238]
vmovss dword [eax], xmm0
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
add edx, 0xf9019a91
sub edx, 1
sub edx, 0xf9019a91
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, 0xd35d8036
mov ecx, 0x740a5b07
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0xd4788076
jmp 0x412c77
mov dword [ebp - 0xa0], 0x32434406
jmp 0x412c77
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
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, 0xff46ed6c
mov ecx, 0x73d17e98
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
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, 0x5ed9b649
mov ecx, 0xd4cae776
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
sub edx, 0xff627991
sub edx, 1
add edx, 0xff627991
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, 0xdcb87671
mov ecx, 0x5016d4d5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x4c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407670
add esp, 8
and al, 1
mov byte [ebp - 0x45], al
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
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, 0x7a23583a
mov ecx, 0x136d02b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x44]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x3e], al
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
sub edx, 0x6bc7a4e4
sub edx, 1
add edx, 0x6bc7a4e4
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, 0x1cfc55dc
mov ecx, 0xe157dddf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
mov edx, ecx
sub edx, 0x2daf4b2b
sub edx, 1
add edx, 0x2daf4b2b
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, 0x649c5615
mov ecx, 0x8f57908b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
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, 0x649c5615
mov ecx, 0x4f70688f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
mov edx, ecx
sub edx, 0x4345472e
sub edx, 1
add edx, 0x4345472e
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, 0xaabedf6d
mov ecx, 0x422ffb80
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, 0x9a3e1e27
mov ecx, 0xf1f1d577
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
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, 0xf54d6f15
mov ecx, 0xb2646e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0x7a625235
jmp 0x412c77
mov eax, dword [ebp - 0x98]
mov dword [eax], 1
mov dword [ebp - 0xa0], 0xaf6556e
jmp 0x412c77
mov dl, byte [ebp - 0x15]
mov eax, 0x1f87379d
mov ecx, 0x25279139
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x412c77
mov dword [ebp - 0xa0], 0xab42dccd
jmp 0x412c77
mov eax, dword [ebp - 0x94]
vmovss xmm0, dword [0x42d2bc]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x94]
vmovss xmm0, dword [0x42d2b8]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0xb332f000
jmp 0x412c77
mov eax, dword [ebp - 0x90]
vmovss xmm0, dword [0x42d2a4]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0xbc478274
jmp 0x412c77
mov eax, dword [ebp - 0x84]
vmovss xmm0, dword [0x42d278]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x148d99f7
jmp 0x412c77
mov eax, dword [ebp - 0x84]
vmovss xmm0, dword [0x42d274]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x9da00564
jmp 0x412c77
mov eax, dword [ebp - 0x80]
vmovss xmm0, dword [0x42d260]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x80]
vmovss xmm0, dword [0x42d25c]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0x367c3d01
jmp 0x412c77
mov eax, dword [ebp - 0x7c]
vmovss xmm0, dword [0x42d244]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0xaf569956
jmp 0x412c77
mov eax, dword [ebp - 0x78]
vmovss xmm0, dword [0x42d234]
vmovss dword [eax], xmm0
mov eax, dword [ebp - 0x78]
vmovss xmm0, dword [0x42d230]
vmovss dword [eax], xmm0
mov dword [ebp - 0xa0], 0xb6ab1e27
jmp 0x412c77
mov dword [ebp - 0xa0], 0x737375b7
jmp 0x412c77
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x50]
call dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xa0], 0x1f4f3cf8
jmp 0x412c77
jmp 0x40adc7