Function at 0x40f450
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, 0x1a0
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1a4], 0x46e7e938
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], eax
sub eax, 0x802929e5
je 0x41900d
jmp 0x40f48c
mov eax, dword [ebp - 0x1a8]
sub eax, 0x804aac13
je 0x41a466
jmp 0x40f4a2
mov eax, dword [ebp - 0x1a8]
sub eax, 0x805ef565
je 0x418765
jmp 0x40f4b8
mov eax, dword [ebp - 0x1a8]
sub eax, 0x80f8da62
je 0x41c4c0
jmp 0x40f4ce
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8131f3c8
je 0x41a42f
jmp 0x40f4e4
mov eax, dword [ebp - 0x1a8]
sub eax, 0x81726a64
je 0x41c731
jmp 0x40f4fa
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8173ce45
je 0x4150f9
jmp 0x40f510
mov eax, dword [ebp - 0x1a8]
sub eax, 0x81963f6b
je 0x4169ea
jmp 0x40f526
mov eax, dword [ebp - 0x1a8]
sub eax, 0x81afd653
je 0x419812
jmp 0x40f53c
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8223d362
je 0x41c0ff
jmp 0x40f552
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8226cf74
je 0x4184b2
jmp 0x40f568
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8310612d
je 0x417ab0
jmp 0x40f57e
mov eax, dword [ebp - 0x1a8]
sub eax, 0x835dc1b7
je 0x416540
jmp 0x40f594
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8376312a
je 0x414750
jmp 0x40f5aa
mov eax, dword [ebp - 0x1a8]
sub eax, 0x83b2b8c5
je 0x419893
jmp 0x40f5c0
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8418345b
je 0x41646a
jmp 0x40f5d6
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8473ac1d
je 0x41c6be
jmp 0x40f5ec
mov eax, dword [ebp - 0x1a8]
sub eax, 0x85055b92
je 0x41c766
jmp 0x40f602
mov eax, dword [ebp - 0x1a8]
sub eax, 0x852a0643
je 0x4160cd
jmp 0x40f618
mov eax, dword [ebp - 0x1a8]
sub eax, 0x85352c50
je 0x419a0b
jmp 0x40f62e
mov eax, dword [ebp - 0x1a8]
sub eax, 0x85795879
je 0x416cb6
jmp 0x40f644
mov eax, dword [ebp - 0x1a8]
sub eax, 0x85868f1c
je 0x419057
jmp 0x40f65a
mov eax, dword [ebp - 0x1a8]
sub eax, 0x85c79327
je 0x41738d
jmp 0x40f670
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8607f35a
je 0x413b7a
jmp 0x40f686
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8648f4ee
je 0x415593
jmp 0x40f69c
mov eax, dword [ebp - 0x1a8]
sub eax, 0x864f45a5
je 0x41c7a3
jmp 0x40f6b2
mov eax, dword [ebp - 0x1a8]
sub eax, 0x87526608
je 0x419de1
jmp 0x40f6c8
mov eax, dword [ebp - 0x1a8]
sub eax, 0x87707e61
je 0x4165b1
jmp 0x40f6de
mov eax, dword [ebp - 0x1a8]
sub eax, 0x87a00b25
je 0x4172f6
jmp 0x40f6f4
mov eax, dword [ebp - 0x1a8]
sub eax, 0x87b2ba9a
je 0x4187ee
jmp 0x40f70a
mov eax, dword [ebp - 0x1a8]
sub eax, 0x87b63580
je 0x415927
jmp 0x40f720
mov eax, dword [ebp - 0x1a8]
sub eax, 0x87cd0b34
je 0x414641
jmp 0x40f736
mov eax, dword [ebp - 0x1a8]
sub eax, 0x87d2d993
je 0x416605
jmp 0x40f74c
mov eax, dword [ebp - 0x1a8]
sub eax, 0x88bfdd4a
je 0x41a2d9
jmp 0x40f762
mov eax, dword [ebp - 0x1a8]
sub eax, 0x88daa731
je 0x41c063
jmp 0x40f778
mov eax, dword [ebp - 0x1a8]
sub eax, 0x88fd6d58
je 0x41ade4
jmp 0x40f78e
mov eax, dword [ebp - 0x1a8]
sub eax, 0x894a739e
je 0x414632
jmp 0x40f7a4
mov eax, dword [ebp - 0x1a8]
sub eax, 0x89593249
je 0x414954
jmp 0x40f7ba
mov eax, dword [ebp - 0x1a8]
sub eax, 0x89a4dabf
je 0x41a18e
jmp 0x40f7d0
mov eax, dword [ebp - 0x1a8]
sub eax, 0x89f327ac
je 0x419c78
jmp 0x40f7e6
mov eax, dword [ebp - 0x1a8]
sub eax, 0x89feac03
je 0x41922d
jmp 0x40f7fc
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8a255976
je 0x413e09
jmp 0x40f812
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8a56f38f
je 0x415b13
jmp 0x40f828
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8b36728a
je 0x418bdd
jmp 0x40f83e
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8be6336f
je 0x41a8c5
jmp 0x40f854
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8c0078f1
je 0x41710c
jmp 0x40f86a
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8c877bb1
je 0x4187fd
jmp 0x40f880
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8cdd54ec
je 0x418c65
jmp 0x40f896
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8d097ace
je 0x4153c0
jmp 0x40f8ac
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8d59409a
je 0x413f09
jmp 0x40f8c2
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8ec6a90c
je 0x41775e
jmp 0x40f8d8
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8f082182
je 0x417d14
jmp 0x40f8ee
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8f58a330
je 0x4182f7
jmp 0x40f904
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8fac1974
je 0x41448e
jmp 0x40f91a
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9047b7a0
je 0x415e49
jmp 0x40f930
mov eax, dword [ebp - 0x1a8]
sub eax, 0x90e63480
je 0x416e49
jmp 0x40f946
mov eax, dword [ebp - 0x1a8]
sub eax, 0x913c1c1f
je 0x417c3c
jmp 0x40f95c
mov eax, dword [ebp - 0x1a8]
sub eax, 0x913e8846
je 0x41c238
jmp 0x40f972
mov eax, dword [ebp - 0x1a8]
sub eax, 0x91b136a8
je 0x413ee4
jmp 0x40f988
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9223eb84
je 0x418231
jmp 0x40f99e
mov eax, dword [ebp - 0x1a8]
sub eax, 0x92240521
je 0x41ae6e
jmp 0x40f9b4
mov eax, dword [ebp - 0x1a8]
sub eax, 0x927096c4
je 0x414dfb
jmp 0x40f9ca
mov eax, dword [ebp - 0x1a8]
sub eax, 0x933e75df
je 0x41b451
jmp 0x40f9e0
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9353ebdd
je 0x415c61
jmp 0x40f9f6
mov eax, dword [ebp - 0x1a8]
sub eax, 0x94522271
je 0x41b01a
mov byte [ebp - 0x141], 0
mov al, byte [ebp - 0x141]
mov byte [ebp - 0xfb], al
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
add edx, 0x7471b1d9
sub edx, 1
sub edx, 0x7471b1d9
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, 0x9cd89e86
mov ecx, 0x4f0b186c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov byte [ebp - 0x141], 1
mov dword [ebp - 0x1a4], 0x7e9c091f
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xd908ad3e
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xd908ad3e
jmp 0x41c7dd
mov eax, dword [0x43d52c]
mov ecx, dword [0x43d528]
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, 0xfcdffcda
mov ecx, 0x79a90dc4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xca2553db
jmp 0x41c7dd
cmp dword [ebp - 0x150], 0xefb8ee4
setle al
and al, 1
mov byte [ebp - 0xed], al
mov dword [ebp - 0x1a4], 0xb540b261
jmp 0x41c7dd
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
add edx, 0x56ce5a84
sub edx, 1
sub edx, 0x56ce5a84
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, 0x330e3719
mov ecx, 0xc9636cf3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x154], 0xefb8eea
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
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, 0x983b18bc
mov ecx, 0x623ff87c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov eax, dword [ebp - 0xe0]
cmp eax, 0xefb8f02
setle al
and al, 1
mov byte [ebp - 0xd9], al
mov eax, dword [0x43d52c]
mov ecx, dword [0x43d528]
mov edx, eax
sub edx, 0x11310a14
sub edx, 1
add edx, 0x11310a14
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, 0xf21d8f11
mov ecx, 0x3794f0ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x15c], 0xefb8ef3
mov dword [ebp - 0x1a4], 0x16f446d5
jmp 0x41c7dd
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
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, 0x351127d3
mov ecx, 0x333f5ec4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0x573feb7
jmp 0x41c7dd
mov dl, byte [ebp - 0xc5]
mov eax, 0x8a56f38f
mov ecx, 0xf4a132fc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
add edx, 0xa1fee163
sub edx, 1
sub edx, 0xa1fee163
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, 0xa3bfc02d
mov ecx, 0x531c0e35
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov eax, dword [0x43d52c]
mov ecx, dword [0x43d528]
mov edx, eax
sub edx, 0x165d9dd1
sub edx, 1
add edx, 0x165d9dd1
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, 0xbef5eca7
mov ecx, 0xce378854
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov eax, dword [0x43d52c]
mov ecx, dword [0x43d528]
mov edx, eax
add edx, 0x4e10427e
sub edx, 1
sub edx, 0x4e10427e
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, 0x726e2136
mov ecx, 0x5feb10b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
xor eax, eax
mov dl, al
mov eax, 0x756f595c
mov ecx, 0xcd8df5b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xac67dcdd
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xebe9217d
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xc6d7dd10
jmp 0x41c7dd
mov eax, dword [ebp - 0x16c]
sub eax, 0x5a81aa2e
add eax, 1
add eax, 0x5a81aa2e
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x1a4], 0xc60b54d3
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xa8ef1c1d
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xcc079f21
jmp 0x41c7dd
mov byte [ebp - 0x16f], 0
mov dword [ebp - 0x1a4], 0xd5d0b335
jmp 0x41c7dd
mov dword [ebp - 0x174], 1
mov eax, dword [0x43d52c]
mov ecx, dword [0x43d528]
mov edx, eax
add edx, 0x290fe1ce
sub edx, 1
sub edx, 0x290fe1ce
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, 0x38af9081
mov ecx, 0x1aa784ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dl, byte [ebp - 0xa9]
mov eax, 0xe8382736
mov ecx, 0x313f4a4d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x178], 0xefb8f1f
mov eax, dword [0x43d52c]
mov ecx, dword [0x43d528]
mov edx, eax
sub edx, 0xc87642f8
sub edx, 1
add edx, 0xc87642f8
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, 0xd89b4234
mov ecx, 0xc81dc9f3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x17c], 0xefb8eea
mov dword [ebp - 0x1a4], 0xd47286f7
jmp 0x41c7dd
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
add edx, 0x2f9ebfcd
sub edx, 1
sub edx, 0x2f9ebfcd
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, 0x63076fdd
mov ecx, 0x23ad7670
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x180], 0xefb8eff
mov eax, dword [0x43d52c]
mov ecx, dword [0x43d528]
mov edx, eax
sub edx, 0x78b4c0b0
sub edx, 1
add edx, 0x78b4c0b0
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, 0x8223d362
mov ecx, 0x9e36c9a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
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, 0xf2c236c2
mov ecx, 0x3cf69e3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov byte [ebp - 0x181], 1
mov dword [ebp - 0x1a4], 0xb0e8996f
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0x215adc42
jmp 0x41c7dd
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
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, 0x9af9aaa5
mov ecx, 0xd50ec1e8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub ecx, 1
sub eax, ecx
mov dword [ebp - 0x188], eax
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
sub edx, 0xc2d608f7
sub edx, 1
add edx, 0xc2d608f7
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, 0x4dfd7b92
mov ecx, 0x87b2ba9a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0x62c67d55
jmp 0x41c7dd
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x1a4], 0xc4cb1928
jmp 0x41c7dd
cmp dword [ebp - 0x190], 0xefb8ee0
setle al
and al, 1
mov byte [ebp - 0x7a], al
mov dword [ebp - 0x1a4], 0xaf8cb5ef
jmp 0x41c7dd
mov eax, dword [ebp - 0x190]
sub eax, 0x9a61b29c
add eax, 1
add eax, 0x9a61b29c
mov dword [ebp - 0x190], eax
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
sub edx, 0x899d4f6c
sub edx, 1
add edx, 0x899d4f6c
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, 0x389ca754
mov ecx, 0xcd82a2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xcaf46bf
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0xf38f4f36
jmp 0x41c7dd
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x1a4], 0x253eedea
jmp 0x41c7dd
mov al, byte [ebp - 0x199]
and al, 1
mov byte [ebp - 0x64], al
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
add edx, 0x3c571cf4
sub edx, 1
sub edx, 0x3c571cf4
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, 0x770f710d
mov ecx, 0x83b2b8c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dl, byte [ebp - 0x64]
mov eax, 0xd566c220
mov ecx, 0x56f92457
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
add edx, 0x6ec180c3
sub edx, 1
sub edx, 0x6ec180c3
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, 0xc692e527
mov ecx, 0x9b493f5e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0x5ed23706
jmp 0x41c7dd
mov dword [ebp - 0x1a0], 1
mov dword [ebp - 0x1a4], 0xa3ec53ce
jmp 0x41c7dd
mov eax, dword [0x43d52c]
mov ecx, dword [0x43d528]
mov edx, eax
add edx, 0xca0b5a24
sub edx, 1
sub edx, 0xca0b5a24
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, 0x6801c286
mov ecx, 0x74dfa28a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0x97289517
jmp 0x41c7dd
xor eax, eax
mov dl, al
mov eax, 0x7ef2b620
mov ecx, 0xf45252fd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0x485af6d9
jmp 0x41c7dd
mov ecx, dword [ebp - 0x12c]
call fcn.0041d200
lea eax, str.ntdll.dll
sub esp, 4
mov dword [esp], eax
call fcn.0040c210
add esp, 4
lea eax, str.kernel32.dll
sub esp, 4
mov dword [esp], eax
call fcn.0040c210
add esp, 4
mov eax, dword [ebp - 0x12c]
add eax, 8
sub esp, 4
mov dword [esp], eax
call fcn.0040e1f0
add esp, 4
mov dword [ebp - 0x1a4], 0xd725bc2a
jmp 0x41c7dd
mov dl, byte [ebp - 0x4d]
mov eax, 0x7c3802f7
mov ecx, 0x3736d9ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0x96a6ef59
jmp 0x41c7dd
mov eax, dword [ebp - 0x118]
mov esi, dword [eax]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
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]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x2d], al
mov ecx, dword [0x43d52c]
mov eax, dword [0x43d528]
mov edx, ecx
add edx, 0x73951959
sub edx, 1
sub edx, 0x73951959
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, 0x6987cca6
mov ecx, 0xf4fb60b0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x41c7dd
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x1a4], 0xe251955d
jmp 0x41c7dd
mov dword [ebp - 0x180], 0xefb8eff
mov dword [ebp - 0x1a4], 0x913c1c1f
jmp 0x41c7dd
mov eax, dword [ebp - 0x18c]
add eax, 0x2dc266e1
add eax, 1
sub eax, 0x2dc266e1
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x1a4], 0x470de897
jmp 0x41c7dd
mov dword [ebp - 0x1a4], 0x72546245
jmp 0x41c7dd
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x1a4], 0x72bc78fa
jmp 0x41c7dd
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x1a4], 0x3a34444b
jmp 0x41c7dd
mov dword [ebp - 0x13c], 1
mov dword [ebp - 0x1a4], 0x2ce0e2a5
jmp 0x41c7dd
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax]
lea eax, str.ExitGame
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040e580
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x10c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x1a4], 0xc927d707
jmp 0x40f470