Function at 0x40f950
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, 0x40c
mov eax, dword [0x440080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x410], 0xbf1905ba
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x414], eax
sub eax, 0x8040fd19
je 0x41517d
jmp 0x40f98c
mov eax, dword [ebp - 0x414]
sub eax, 0x808f402c
je 0x419b9f
jmp 0x40f9a2
mov eax, dword [ebp - 0x414]
sub eax, 0x81093c9f
je 0x41ca30
jmp 0x40f9b8
mov eax, dword [ebp - 0x414]
sub eax, 0x81249fbb
je 0x41e71d
jmp 0x40f9ce
mov eax, dword [ebp - 0x414]
sub eax, 0x81c7c05f
je 0x41704a
jmp 0x40f9e4
mov eax, dword [ebp - 0x414]
sub eax, 0x81cc1aee
je 0x41be9a
jmp 0x40f9fa
mov eax, dword [ebp - 0x414]
sub eax, 0x824e431d
je 0x41a04b
jmp 0x40fa10
mov eax, dword [ebp - 0x414]
sub eax, 0x827458c1
je 0x4182f4
jmp 0x40fa26
mov eax, dword [ebp - 0x414]
sub eax, 0x827897f3
je 0x416603
jmp 0x40fa3c
mov eax, dword [ebp - 0x414]
sub eax, 0x82efd9e6
je 0x416b4b
jmp 0x40fa52
mov eax, dword [ebp - 0x414]
sub eax, 0x83073077
je 0x41c189
jmp 0x40fa68
mov eax, dword [ebp - 0x414]
sub eax, 0x830a8b5c
je 0x414adf
jmp 0x40fa7e
mov eax, dword [ebp - 0x414]
sub eax, 0x83564a1c
je 0x41de2e
jmp 0x40fa94
mov eax, dword [ebp - 0x414]
sub eax, 0x8362ef0e
je 0x41c5ce
jmp 0x40faaa
mov eax, dword [ebp - 0x414]
sub eax, 0x83881de7
je 0x415618
jmp 0x40fac0
mov eax, dword [ebp - 0x414]
sub eax, 0x839b4c1a
je 0x414918
jmp 0x40fad6
mov eax, dword [ebp - 0x414]
sub eax, 0x83b9b0a8
je 0x41e1aa
jmp 0x40faec
mov eax, dword [ebp - 0x414]
sub eax, 0x843dc008
je 0x419535
jmp 0x40fb02
mov eax, dword [ebp - 0x414]
sub eax, 0x84a71f00
je 0x4172c6
jmp 0x40fb18
mov eax, dword [ebp - 0x414]
sub eax, 0x84e6876f
je 0x41b5ac
jmp 0x40fb2e
mov eax, dword [ebp - 0x414]
sub eax, 0x850db7e6
je 0x419c5b
jmp 0x40fb44
mov eax, dword [ebp - 0x414]
sub eax, 0x8571b662
je 0x41afc0
jmp 0x40fb5a
mov eax, dword [ebp - 0x414]
sub eax, 0x85edc857
je 0x41dc93
jmp 0x40fb70
mov eax, dword [ebp - 0x414]
sub eax, 0x85f60135
je 0x41d8b8
jmp 0x40fb86
mov eax, dword [ebp - 0x414]
sub eax, 0x86c9a79f
je 0x41ed71
jmp 0x40fb9c
mov eax, dword [ebp - 0x414]
sub eax, 0x86ca6ef5
je 0x41e917
jmp 0x40fbb2
mov eax, dword [ebp - 0x414]
sub eax, 0x86e29b32
je 0x41d3b1
jmp 0x40fbc8
mov eax, dword [ebp - 0x414]
sub eax, 0x86fdf52d
je 0x41ecc8
jmp 0x40fbde
mov eax, dword [ebp - 0x414]
sub eax, 0x8718eb3b
je 0x41715f
jmp 0x40fbf4
mov eax, dword [ebp - 0x414]
sub eax, 0x87b14d9d
je 0x41b546
jmp 0x40fc0a
mov eax, dword [ebp - 0x414]
sub eax, 0x87f07a86
je 0x4170a0
jmp 0x40fc20
mov eax, dword [ebp - 0x414]
sub eax, 0x882aae65
je 0x41e343
jmp 0x40fc36
mov eax, dword [ebp - 0x414]
sub eax, 0x8877df82
je 0x41c257
jmp 0x40fc4c
mov eax, dword [ebp - 0x414]
sub eax, 0x88c1f562
je 0x41b107
jmp 0x40fc62
mov eax, dword [ebp - 0x414]
sub eax, 0x88d38111
je 0x416020
jmp 0x40fc78
mov eax, dword [ebp - 0x414]
sub eax, 0x88ff06f4
je 0x416d83
jmp 0x40fc8e
mov eax, dword [ebp - 0x414]
sub eax, 0x890051d3
je 0x41d9be
jmp 0x40fca4
mov eax, dword [ebp - 0x414]
sub eax, 0x89832c27
je 0x41bc70
jmp 0x40fcba
mov eax, dword [ebp - 0x414]
sub eax, 0x8a36ce69
je 0x41a489
jmp 0x40fcd0
mov eax, dword [ebp - 0x414]
sub eax, 0x8a42e121
je 0x414487
jmp 0x40fce6
mov eax, dword [ebp - 0x414]
sub eax, 0x8a501451
je 0x41f02f
jmp 0x40fcfc
mov eax, dword [ebp - 0x414]
sub eax, 0x8a5bd2e9
je 0x41cddb
jmp 0x40fd12
mov eax, dword [ebp - 0x414]
sub eax, 0x8b41cc0e
je 0x41d4c9
jmp 0x40fd28
mov eax, dword [ebp - 0x414]
sub eax, 0x8b636fcb
je 0x41b099
jmp 0x40fd3e
mov eax, dword [ebp - 0x414]
sub eax, 0x8c4e0461
je 0x41b432
jmp 0x40fd54
mov eax, dword [ebp - 0x414]
sub eax, 0x8c5237e5
je 0x416f30
jmp 0x40fd6a
mov eax, dword [ebp - 0x414]
sub eax, 0x8c6d0791
je 0x41536f
jmp 0x40fd80
mov eax, dword [ebp - 0x414]
sub eax, 0x8caabb50
je 0x41ea2d
jmp 0x40fd96
mov eax, dword [ebp - 0x414]
sub eax, 0x8cc014e4
je 0x41767d
jmp 0x40fdac
mov eax, dword [ebp - 0x414]
sub eax, 0x8cc4d583
je 0x41df98
jmp 0x40fdc2
mov eax, dword [ebp - 0x414]
sub eax, 0x8d334132
je 0x418c35
jmp 0x40fdd8
mov eax, dword [ebp - 0x414]
sub eax, 0x8e44058a
je 0x41ebac
jmp 0x40fdee
mov eax, dword [ebp - 0x414]
sub eax, 0x8eb9acd1
je 0x41adab
jmp 0x40fe04
mov eax, dword [ebp - 0x414]
sub eax, 0x8eedf137
je 0x41ef66
jmp 0x40fe1a
mov eax, dword [ebp - 0x414]
sub eax, 0x8f8d9655
je 0x4199b7
jmp 0x40fe30
mov eax, dword [ebp - 0x414]
sub eax, 0x8fbc0e04
je 0x41ec23
jmp 0x40fe46
mov eax, dword [ebp - 0x414]
sub eax, 0x900ca079
je 0x41a58c
jmp 0x40fe5c
mov eax, dword [ebp - 0x414]
sub eax, 0x9023c98c
je 0x418637
jmp 0x40fe72
mov eax, dword [ebp - 0x414]
sub eax, 0x9045e070
je 0x41db80
jmp 0x40fe88
mov eax, dword [ebp - 0x414]
sub eax, 0x9129afc3
je 0x4194d6
jmp 0x40fe9e
mov eax, dword [ebp - 0x414]
sub eax, 0x9150125b
je 0x4164f8
jmp 0x40feb4
mov eax, dword [ebp - 0x414]
sub eax, 0x9239ad19
je 0x41aa8b
jmp 0x40feca
mov eax, dword [ebp - 0x414]
sub eax, 0x92edac8b
je 0x419ead
jmp 0x40fee0
mov eax, dword [ebp - 0x414]
sub eax, 0x93357a89
je 0x41b6a1
jmp 0x40fef6
mov eax, dword [ebp - 0x414]
sub eax, 0x935d9b9a
je 0x41aeea
mov dword [ebp - 0x410], 0xae33acf
jmp 0x41f048
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x410], 0xb53a8c68
jmp 0x41f048
mov dword [ebp - 0x410], 0x451ff0e2
jmp 0x41f048
mov dl, byte [ebp - 0x321]
mov eax, 0x5b0c25ae
mov ecx, 0xb89827fc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
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, 0x16e15885
mov ecx, 0x4e67d150
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x318]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x311], al
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
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, 0x567c4f03
mov ecx, 0xd4f4906d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
sub edx, 0x4bf62cd
sub edx, 1
add edx, 0x4bf62cd
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, 0x9c26ac14
mov ecx, 0xda9a3a83
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
mov edx, ecx
add edx, 0xcc38f3c
sub edx, 1
sub edx, 0xcc38f3c
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, 0x5fe6c73c
mov ecx, 0x4a8ad899
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x3e8]
mov byte [eax], 0
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
mov edx, ecx
sub edx, 0x4269eb79
sub edx, 1
add edx, 0x4269eb79
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, 0x979a3e6d
mov ecx, 0xb8be9a5b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
mov edx, ecx
add edx, 0x375cab27
sub edx, 1
sub edx, 0x375cab27
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, 0x33eacf9
mov ecx, 0xf9bdbbb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x3e0]
mov dword [eax], 0
mov dword [ebp - 0x410], 0x670d1020
jmp 0x41f048
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
sub edx, 0x51f5424a
sub edx, 1
add edx, 0x51f5424a
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, 0xb02da1d7
mov ecx, 0xdd4f9ce3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dword [ebp - 0x410], 0x3813f8e6
jmp 0x41f048
mov eax, dword [ebp - 0x3dc]
mov eax, dword [eax]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x410], 0x7d2353d4
jmp 0x41f048
mov eax, dword [ebp - 0x3dc]
mov dword [eax], 0
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
add edx, 0x39f07c1c
sub edx, 1
sub edx, 0x39f07c1c
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, 0xdddab6ec
mov ecx, 0xc390ee35
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dword [ebp - 0x410], 0x3813f8e6
jmp 0x41f048
mov dl, byte [ebp - 0x2d1]
mov eax, 0xb77c14f1
mov ecx, 0x43fc1bb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x3c8]
mov dword [eax], 1
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
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, 0x6e413cf9
mov ecx, 0x4b411fcd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dl, byte [ebp - 0x2b6]
mov eax, 0x57af42ac
mov ecx, 0x3f1e6f2b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dword [ebp - 0x410], 0x13ca9e1f
jmp 0x41f048
mov eax, dword [ebp - 0x2a4]
cmp eax, 0xefb8f04
setg al
and al, 1
mov byte [ebp - 0x29e], al
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
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, 0x3e9ea92c
mov ecx, 0x843dc008
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dl, byte [ebp - 0x29e]
mov eax, 0x211edd3a
mov ecx, 0x326c932b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
mov edx, ecx
add edx, 0xdd6ab8c0
sub edx, 1
sub edx, 0xdd6ab8c0
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, 0x8caabb50
mov ecx, 0x9e527bf6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dword [ebp - 0x410], 0xa74d9f78
jmp 0x41f048
mov eax, dword [ebp - 0x3b4]
mov byte [eax], 1
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
add edx, 0x8132910
sub edx, 1
sub edx, 0x8132910
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, 0x47dee5f7
mov ecx, 0x68dcc5ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x3b0]
mov dword [eax], 0xefb8ec6
mov dword [ebp - 0x410], 0x29e04c8d
jmp 0x41f048
mov ecx, dword [ebp - 0x294]
add ecx, 0x715a7a09
add ecx, 1
sub ecx, 0x715a7a09
mov eax, dword [ebp - 0x3b0]
mov dword [eax], ecx
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
add edx, 0xde8f9921
sub edx, 1
sub edx, 0xde8f9921
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, 0x181eb2fa
mov ecx, 0x4873c0c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dl, byte [ebp - 0x285]
mov eax, 0x24f4f422
mov ecx, 0x60bb128e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dword [ebp - 0x410], 0xf911a32e
jmp 0x41f048
mov dword [ebp - 0x410], 0x1698f62d
jmp 0x41f048
mov eax, dword [ebp - 0x3a0]
mov byte [eax], 1
mov dword [ebp - 0x410], 0x47be8aba
jmp 0x41f048
mov eax, dword [ebp - 0x39c]
mov dword [eax], 0
mov dword [ebp - 0x410], 0xfb2b1e87
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
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, 0xf83cf9e
mov ecx, 0x88c1f562
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dl, byte [ebp - 0x266]
mov eax, 0xca17852b
mov ecx, 0x66fd8765
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x394]
mov byte [eax], 0
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
sub edx, 0xf136175a
sub edx, 1
add edx, 0xf136175a
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, 0xa1964782
mov ecx, 0xddc64373
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
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, 0x45399f28
mov ecx, 0x214baeb4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
mov edx, ecx
sub edx, 0xddf8679c
sub edx, 1
add edx, 0xddf8679c
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, 0xee08d3e9
mov ecx, 0xc7612381
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dword [ebp - 0x410], 0xf548b33e
jmp 0x41f048
mov dword [ebp - 0x410], 0x1cd4f559
jmp 0x41f048
mov dl, byte [ebp - 0x24d]
mov eax, 0x7b504357
mov ecx, 0xfc30ddbd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
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, 0x7c2c5639
mov ecx, 0x42dcfef5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
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, 0x86c9a79f
mov ecx, 0xabf96ca9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x380]
mov byte [eax], 0
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
add edx, 0xcfe8d755
sub edx, 1
sub edx, 0xcfe8d755
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, 0xc72153b
mov ecx, 0xe295c503
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x378]
mov dword [eax], 0xefb8efc
mov dword [ebp - 0x410], 0xc94b8e44
jmp 0x41f048
mov dword [ebp - 0x410], 0xd6722400
jmp 0x41f048
mov dword [ebp - 0x410], 0xe81de553
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
mov edx, ecx
add edx, 0xbc53ded1
sub edx, 1
sub edx, 0xbc53ded1
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, 0x3c4db4cb
mov ecx, 0xb3b92d13
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
sub edx, 0x3db1d3
sub edx, 1
add edx, 0x3db1d3
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, 0x5de21a55
mov ecx, 0x7449a66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
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, 0x5b3f2dd
mov ecx, 0x5665e987
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x36c]
mov byte [eax], 0
mov dword [ebp - 0x410], 0x719e3c8c
jmp 0x41f048
mov dword [ebp - 0x410], 0x2b37c1
jmp 0x41f048
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
mov edx, ecx
add edx, 0x1a86b4ce
sub edx, 1
sub edx, 0x1a86b4ce
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, 0xc1cd47c5
mov ecx, 0xa105da66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [ebp - 0x228]
call eax
mov eax, dword [ebp - 0x368]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebp - 0x368]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x4414fc]
mov eax, dword [0x4414f8]
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, 0xc307a84
mov ecx, 0x60832d44
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov eax, dword [0x4414fc]
mov ecx, dword [0x4414f8]
mov edx, eax
sub edx, 0xe861c116
sub edx, 1
add edx, 0xe861c116
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, 0xcd7c911b
mov ecx, 0x5739075a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x410], eax
jmp 0x41f048
mov dword [ebp - 0x410], 0xf2afecb7
jmp 0x41f048
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x410], 0x468074ff
jmp 0x41f048
mov dword [ebp - 0x410], 0x528192de
jmp 0x41f048
mov eax, dword [ebp - 0x3b4]
mov byte [eax], 0
mov dword [ebp - 0x410], 0x9e527bf6
jmp 0x41f048
mov eax, dword [ebp - 0x3a0]
mov byte [eax], 1
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x410], 0x7e036fd3
jmp 0x41f048
mov dword [ebp - 0x410], 0x63d079ce
jmp 0x41f048
mov eax, dword [ebp - 0x388]
mov ecx, dword [eax]
xor eax, eax
sub eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x388]
mov dword [eax], ecx
mov dword [ebp - 0x410], 0x5708aa2
jmp 0x41f048
mov dword [ebp - 0x410], 0xabf96ca9
jmp 0x41f048
mov dword [ebp - 0x410], 0xccb1b57b
jmp 0x41f048
mov dword [ebp - 0x410], 0xf1af56ca
jmp 0x41f048
jmp 0x40f970