Function at 0x40b290
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 [0x439080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
add edx, 0x72c11eb2
sub edx, 1
sub edx, 0x72c11eb2
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], 0x8b5e1333
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1ec], eax
sub eax, 0x8080091a
je 0x40fbf9
jmp 0x40b30b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x80841746
je 0x40fb88
jmp 0x40b321
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8114f896
je 0x418ad4
jmp 0x40b337
mov eax, dword [ebp - 0x1ec]
sub eax, 0x81c8d3ae
je 0x415ed0
jmp 0x40b34d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x81cedcea
je 0x4178c9
jmp 0x40b363
mov eax, dword [ebp - 0x1ec]
sub eax, 0x823e3bf3
je 0x418224
jmp 0x40b379
mov eax, dword [ebp - 0x1ec]
sub eax, 0x82de8b12
je 0x412d84
jmp 0x40b38f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x836d6e9a
je 0x41674e
jmp 0x40b3a5
mov eax, dword [ebp - 0x1ec]
sub eax, 0x83a47717
je 0x413e42
jmp 0x40b3bb
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8417416f
je 0x4171e9
jmp 0x40b3d1
mov eax, dword [ebp - 0x1ec]
sub eax, 0x842a0ca8
je 0x418914
jmp 0x40b3e7
mov eax, dword [ebp - 0x1ec]
sub eax, 0x84fc26c5
je 0x412126
jmp 0x40b3fd
mov eax, dword [ebp - 0x1ec]
sub eax, 0x855a4ce9
je 0x416b16
jmp 0x40b413
mov eax, dword [ebp - 0x1ec]
sub eax, 0x85b90c95
je 0x416c03
jmp 0x40b429
mov eax, dword [ebp - 0x1ec]
sub eax, 0x85d314bf
je 0x412b60
jmp 0x40b43f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x85d5b73f
je 0x410412
jmp 0x40b455
mov eax, dword [ebp - 0x1ec]
sub eax, 0x85d91873
je 0x417706
jmp 0x40b46b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x861c9c5f
je 0x415c41
jmp 0x40b481
mov eax, dword [ebp - 0x1ec]
sub eax, 0x86bf9b39
je 0x40fea9
jmp 0x40b497
mov eax, dword [ebp - 0x1ec]
sub eax, 0x86f8718f
je 0x413775
jmp 0x40b4ad
mov eax, dword [ebp - 0x1ec]
sub eax, 0x87549e19
je 0x4132ac
jmp 0x40b4c3
mov eax, dword [ebp - 0x1ec]
sub eax, 0x87e0b536
je 0x417c54
jmp 0x40b4d9
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8858dbe1
je 0x41752b
jmp 0x40b4ef
mov eax, dword [ebp - 0x1ec]
sub eax, 0x89044a26
je 0x4175fc
jmp 0x40b505
mov eax, dword [ebp - 0x1ec]
sub eax, 0x89ace407
je 0x418654
jmp 0x40b51b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8a07c72e
je 0x4136fe
jmp 0x40b531
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8a4ba434
je 0x412270
jmp 0x40b547
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8ad206fd
je 0x415d7a
jmp 0x40b55d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8b408a3f
je 0x414671
jmp 0x40b573
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8b45b0cf
je 0x4118e6
jmp 0x40b589
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8b5e1333
je 0x40f552
jmp 0x40b59f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8b73f1cb
je 0x4174db
jmp 0x40b5b5
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8baab8ae
je 0x415857
jmp 0x40b5cb
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8bfde873
je 0x411456
jmp 0x40b5e1
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8c303e6f
je 0x4180bd
jmp 0x40b5f7
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d03f4aa
je 0x410e59
jmp 0x40b60d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d1bea41
je 0x4118c8
jmp 0x40b623
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d30e703
je 0x41874c
jmp 0x40b639
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d48116a
je 0x41897e
jmp 0x40b64f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d550ecc
je 0x416875
jmp 0x40b665
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d5aa68a
je 0x416616
jmp 0x40b67b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8d75ab19
je 0x414ada
jmp 0x40b691
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8db637a0
je 0x4189b4
jmp 0x40b6a7
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8db81c55
je 0x417672
jmp 0x40b6bd
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8dc5807a
je 0x411c11
jmp 0x40b6d3
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8dd2ba57
je 0x412eb0
jmp 0x40b6e9
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8dd864a2
je 0x410196
jmp 0x40b6ff
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e0d8f72
je 0x41705b
jmp 0x40b715
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e3b94c4
je 0x4164f9
jmp 0x40b72b
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e3e3474
je 0x4101e7
jmp 0x40b741
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e4a03be
je 0x4156da
jmp 0x40b757
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8e9686f5
je 0x40ff1f
jmp 0x40b76d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8ec7d45e
je 0x4120ab
jmp 0x40b783
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8f2972df
je 0x4173fe
jmp 0x40b799
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8f7d8312
je 0x4128f0
jmp 0x40b7af
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8f9c8bdf
je 0x415024
jmp 0x40b7c5
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8fcd9cc8
je 0x418693
jmp 0x40b7db
mov eax, dword [ebp - 0x1ec]
sub eax, 0x8fd2ef9f
je 0x412117
jmp 0x40b7f1
mov eax, dword [ebp - 0x1ec]
sub eax, 0x907304b3
je 0x41024e
jmp 0x40b807
mov eax, dword [ebp - 0x1ec]
sub eax, 0x9106095a
je 0x413f79
jmp 0x40b81d
mov eax, dword [ebp - 0x1ec]
sub eax, 0x9196dd6e
je 0x411021
jmp 0x40b833
mov eax, dword [ebp - 0x1ec]
sub eax, 0x91d8e02c
je 0x416890
jmp 0x40b849
mov eax, dword [ebp - 0x1ec]
sub eax, 0x925cf9f7
je 0x415910
jmp 0x40b85f
mov eax, dword [ebp - 0x1ec]
sub eax, 0x92be5e5f
je 0x413f4f
jmp 0x40b875
mov eax, dword [ebp - 0x1ec]
sub eax, 0x92db9033
je 0x411b87
mov bl, byte [ebp - 0x1e2]
mov dh, byte [ebp - 0x1e1]
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, 0xe4a102b0
mov ecx, 0x31fbb3df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax]
add eax, 0x90896090
add eax, 1
sub eax, 0x90896090
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x1e8], 0xc6b12ebd
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
add edx, 0x89725d87
sub edx, 1
sub edx, 0x89725d87
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, 0xb9d4656f
mov ecx, 0xf3ddf385
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
add edx, 0xf2a1c62f
sub edx, 1
sub edx, 0xf2a1c62f
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, 0xd5cf95b
mov ecx, 0x8e9686f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
xor eax, eax
mov dl, al
mov eax, 0xc464df9a
mov ecx, 0xd628e73c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
sub edx, 0x74161cf4
sub edx, 1
add edx, 0x74161cf4
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, 0x50127e76
mov ecx, 0x8e3e3474
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x124]
cmp eax, 0xefb8f15
setle al
and al, 1
mov byte [ebp - 0x11e], al
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
add edx, 0xf18c6b52
sub edx, 1
sub edx, 0xf18c6b52
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, 0x50127e76
mov ecx, 0x907304b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dl, byte [ebp - 0x11e]
mov eax, 0x21ae2c6f
mov ecx, 0xff18b1b0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
sub edx, 0x6b03e3d9
sub edx, 1
add edx, 0x6b03e3d9
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, 0x63085853
mov ecx, 0xcaf63413
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x1c8]
mov dword [eax], 0
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
sub edx, 0xfcd862f3
sub edx, 1
add edx, 0xfcd862f3
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, 0x823e3bf3
mov ecx, 0xd2ad60d7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x364aadd8
jmp 0x418bcd
mov edx, dword [ebp - 0x100]
mov eax, 0x2f093d28
mov ecx, 0x95204308
cmp edx, 0xefb8ee3
cmovle eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xcc79c1df
jmp 0x418bcd
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x1e8], 0xf8135032
jmp 0x418bcd
mov edx, dword [ebp - 0x1b8]
mov eax, 0xfbfa57b9
mov ecx, 0x7b9b4769
cmp dword [edx], 0xefb8ed9
cmovg eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x1b4]
mov dword [eax], 0xefb8ec1
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
sub edx, 0x85b35df1
sub edx, 1
add edx, 0x85b35df1
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, 0xd6d8b210
mov ecx, 0x21a20273
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xb8708205
jmp 0x418bcd
mov eax, dword [ebp - 0x1b4]
cmp dword [eax], 0xefb8ee6
setle al
and al, 1
mov byte [ebp - 0xe1], al
mov dword [ebp - 0x1e8], 0x3ac4e17a
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xe2a5d371
jmp 0x418bcd
mov eax, dword [ebp - 0x1ac]
mov byte [eax], 1
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
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, 0x61d53383
mov ecx, 0x1540af8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xdd5d15f0
jmp 0x418bcd
mov dl, byte [ebp - 0xd9]
mov eax, 0x17fc7597
mov ecx, 0xab7da703
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x3d2d9a47
jmp 0x418bcd
mov edx, dword [ebp - 0xd0]
mov eax, 0xaf36910c
mov ecx, 0x4ce9281d
cmp edx, 0xefb8ee4
cmovg eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x19c]
mov byte [eax], 1
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
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, 0x7d33ae89
mov ecx, 0x86f8718f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xea58a862
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x712028e0
jmp 0x418bcd
mov eax, dword [ebp - 0x198]
mov dword [eax], 0xefb8f0d
mov dword [ebp - 0x1e8], 0xb1faebaf
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
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, 0x9d2601ca
mov ecx, 0x333f8fb8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x190]
mov dword [eax], 0xefb8ec3
mov dword [ebp - 0x1e8], 0x3e14fa57
jmp 0x418bcd
mov dl, 1
mov eax, 0x2f2812ac
mov ecx, 0x2a8b7a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
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, 0xe469c1d5
mov ecx, 0x99d357e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xd5256ceb
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xbefeb762
jmp 0x418bcd
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
sub edx, 0x82ad572
sub edx, 1
add edx, 0x82ad572
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, 0xe1840b9
mov ecx, 0x278b72ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
sub edx, 0x127d594d
sub edx, 1
add edx, 0x127d594d
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, 0x3a28f02e
mov ecx, 0xe2fc3d82
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x174]
mov byte [eax], 1
mov eax, dword [ebp - 0x174]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x5f], al
mov dword [ebp - 0x1e8], 0x4693d5eb
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
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, 0x7c9f70b8
mov ecx, 0x54eed668
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x8d5aa68a
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x2a073b55
jmp 0x418bcd
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
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, 0x8d48116a
mov ecx, 0x1a987861
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x168]
mov dword [eax], 0
mov dword [ebp - 0x1e8], 0x91d8e02c
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xa6715fc3
jmp 0x418bcd
mov eax, dword [ebp - 0x164]
mov byte [eax], 1
mov eax, dword [0x43a55c]
mov ecx, dword [0x43a558]
mov edx, eax
add edx, 0x5072c0fd
sub edx, 1
sub edx, 0x5072c0fd
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, 0x8db637a0
mov ecx, 0x930994bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x160]
mov dword [eax], 0xefb8ebe
mov dword [ebp - 0x1e8], 0x3c5f29ff
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x7c7a9712
jmp 0x418bcd
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x150]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1e8], 0x28389d03
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0xcb50462
jmp 0x418bcd
mov eax, dword [ebp - 0x15c]
add eax, 8
sub esp, 4
mov dword [esp], eax
call fcn.0040a3e0
add esp, 4
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x154]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x150]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1e8], 0x8858dbe1
jmp 0x418bcd
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a330
add esp, 8
mov eax, dword [ebp - 0x15c]
add eax, 0x10c
sub esp, 4
mov dword [esp], eax
call fcn.0040a790
add esp, 4
mov eax, dword [ebp - 0x15c]
add eax, 0x10c
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x40000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
mov eax, dword [ebp - 0x148]
mov dword [eax], ecx
mov edx, dword [ebp - 0x148]
mov esi, 0xffffffff
mov eax, 0x515c99ea
mov ecx, 0x37019db7
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
add edx, 0x3e521253
sub edx, 1
sub edx, 0x3e521253
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, 0xca0107b3
mov ecx, 0x8db81c55
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
sub edx, 0x2378b12b
sub edx, 1
add edx, 0x2378b12b
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, 0xca0107b3
mov ecx, 0xa2360f72
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x34]
sub esp, 4
mov dword [esp], eax
call fcn.00423357
add esp, 4
mov dword [ebp - 0x1e8], 0x933f3ddf
jmp 0x418bcd
mov ecx, dword [0x43a55c]
mov eax, dword [0x43a558]
mov edx, ecx
add edx, 0x4b4c2351
sub edx, 1
sub edx, 0x4b4c2351
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, 0x33a7a758
mov ecx, 0x653d4ab6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x418bcd
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax]
lea eax, str.LoadKeyboard
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040aa70
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x13c]
mov dword [eax], ecx
mov dword [ebp - 0x1e8], 0xa9db9418
jmp 0x418bcd
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x1e8], 0x6cc00cdf
jmp 0x418bcd
mov eax, dword [ebp - 0x1c8]
mov dword [eax], 0
mov dword [ebp - 0x1e8], 0x8d03f4aa
jmp 0x418bcd
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x1e8], 0xf7ff11b5
jmp 0x418bcd
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1e8], 0x980f6a78
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x370e27d5
jmp 0x418bcd
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
sub ecx, 0xb28d988e
add ecx, 1
add ecx, 0xb28d988e
mov eax, dword [ebp - 0x16c]
mov dword [eax], ecx
mov dword [ebp - 0x1e8], 0xc94c65e
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x1a987861
jmp 0x418bcd
mov eax, dword [ebp - 0x164]
mov byte [eax], 1
mov dword [ebp - 0x1e8], 0x855a4ce9
jmp 0x418bcd
mov dword [ebp - 0x1e8], 0x46a9bddd
jmp 0x418bcd
jmp 0x40b2ef