Function at 0x466660
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [0x4c9080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x60], 0x97d32629
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x6c], eax
sub eax, 0x80129aad
je 0x46a457
jmp 0x46669c
mov eax, dword [ebp - 0x6c]
sub eax, 0x80ed6495
je 0x46bf17
jmp 0x4666af
mov eax, dword [ebp - 0x6c]
sub eax, 0x81a43605
je 0x46a8ad
jmp 0x4666c2
mov eax, dword [ebp - 0x6c]
sub eax, 0x83a614a6
je 0x4681f0
jmp 0x4666d5
mov eax, dword [ebp - 0x6c]
sub eax, 0x83c1ebe8
je 0x46b50a
jmp 0x4666e8
mov eax, dword [ebp - 0x6c]
sub eax, 0x842d4939
je 0x46891f
jmp 0x4666fb
mov eax, dword [ebp - 0x6c]
sub eax, 0x857c8dc9
je 0x46b24d
jmp 0x46670e
mov eax, dword [ebp - 0x6c]
sub eax, 0x85c24a6e
je 0x46b7a5
jmp 0x466721
mov eax, dword [ebp - 0x6c]
sub eax, 0x85ebe1eb
je 0x468c4d
jmp 0x466734
mov eax, dword [ebp - 0x6c]
sub eax, 0x8676c179
je 0x46a168
jmp 0x466747
mov eax, dword [ebp - 0x6c]
sub eax, 0x86d5c4f0
je 0x4686a0
jmp 0x46675a
mov eax, dword [ebp - 0x6c]
sub eax, 0x8a7ae1ae
je 0x46be57
jmp 0x46676d
mov eax, dword [ebp - 0x6c]
sub eax, 0x8aa27adb
je 0x46b4e6
jmp 0x466780
mov eax, dword [ebp - 0x6c]
sub eax, 0x8abc66b4
je 0x46bcb7
jmp 0x466793
mov eax, dword [ebp - 0x6c]
sub eax, 0x8aed1230
je 0x46bbb8
jmp 0x4667a6
mov eax, dword [ebp - 0x6c]
sub eax, 0x8cfeaa48
je 0x46a44b
jmp 0x4667b9
mov eax, dword [ebp - 0x6c]
sub eax, 0x8d0ebad1
je 0x469b74
jmp 0x4667cc
mov eax, dword [ebp - 0x6c]
sub eax, 0x8d6a4402
je 0x46aae0
jmp 0x4667df
mov eax, dword [ebp - 0x6c]
sub eax, 0x8d704f91
je 0x46bfde
jmp 0x4667f2
mov eax, dword [ebp - 0x6c]
sub eax, 0x8f1cb732
je 0x468fef
jmp 0x466805
mov eax, dword [ebp - 0x6c]
sub eax, 0x8fadddc2
je 0x46bbc4
jmp 0x466818
mov eax, dword [ebp - 0x6c]
sub eax, 0x9191a722
je 0x46b7eb
jmp 0x46682b
mov eax, dword [ebp - 0x6c]
sub eax, 0x91b012ad
je 0x46ba39
jmp 0x46683e
mov eax, dword [ebp - 0x6c]
sub eax, 0x944509c7
je 0x46b789
jmp 0x466851
mov eax, dword [ebp - 0x6c]
sub eax, 0x96365a6e
je 0x46b9f3
jmp 0x466864
mov eax, dword [ebp - 0x6c]
sub eax, 0x97641b4f
je 0x468c41
jmp 0x466877
mov eax, dword [ebp - 0x6c]
sub eax, 0x97d32629
je 0x467b1d
jmp 0x46688a
mov eax, dword [ebp - 0x6c]
sub eax, 0x98319f6b
je 0x46bdd0
jmp 0x46689d
mov eax, dword [ebp - 0x6c]
sub eax, 0x99c5609b
je 0x469f91
jmp 0x4668b0
mov eax, dword [ebp - 0x6c]
sub eax, 0x9bc91c7c
je 0x46bfab
jmp 0x4668c3
mov eax, dword [ebp - 0x6c]
sub eax, 0x9c0fe487
je 0x46b1a5
jmp 0x4668d6
mov eax, dword [ebp - 0x6c]
sub eax, 0x9ca7435b
je 0x46a627
jmp 0x4668e9
mov eax, dword [ebp - 0x6c]
sub eax, 0x9f1f22d1
je 0x46a08a
jmp 0x4668fc
mov eax, dword [ebp - 0x6c]
sub eax, 0x9fdbcd78
je 0x467ec4
jmp 0x46690f
mov eax, dword [ebp - 0x6c]
sub eax, 0xa215651d
je 0x46beff
jmp 0x466922
mov eax, dword [ebp - 0x6c]
sub eax, 0xa23bd1b7
je 0x46c032
jmp 0x466935
mov eax, dword [ebp - 0x6c]
sub eax, 0xa2561d4c
je 0x46994a
jmp 0x466948
mov eax, dword [ebp - 0x6c]
sub eax, 0xa2f5a6ad
je 0x46b8ce
jmp 0x46695b
mov eax, dword [ebp - 0x6c]
sub eax, 0xa44c8378
je 0x469b68
jmp 0x46696e
mov eax, dword [ebp - 0x6c]
sub eax, 0xa7424942
je 0x4686ee
jmp 0x466981
mov eax, dword [ebp - 0x6c]
sub eax, 0xa743df32
je 0x46b99b
jmp 0x466994
mov eax, dword [ebp - 0x6c]
sub eax, 0xa98da67a
je 0x46ab74
jmp 0x4669a7
mov eax, dword [ebp - 0x6c]
sub eax, 0xa9b8a4db
je 0x4685f8
jmp 0x4669ba
mov eax, dword [ebp - 0x6c]
sub eax, 0xaa64062f
je 0x468137
jmp 0x4669cd
mov eax, dword [ebp - 0x6c]
sub eax, 0xab638bd9
je 0x46a8a1
jmp 0x4669e0
mov eax, dword [ebp - 0x6c]
sub eax, 0xacb0ff4f
je 0x4680a3
jmp 0x4669f3
mov eax, dword [ebp - 0x6c]
sub eax, 0xb04c8360
je 0x46bf5f
jmp 0x466a06
mov eax, dword [ebp - 0x6c]
sub eax, 0xb15e3a48
je 0x469cb2
jmp 0x466a19
mov eax, dword [ebp - 0x6c]
sub eax, 0xb1edfaab
je 0x469d00
jmp 0x466a2c
mov eax, dword [ebp - 0x6c]
sub eax, 0xb1f53bbe
je 0x46be1b
jmp 0x466a3f
mov eax, dword [ebp - 0x6c]
sub eax, 0xb4fccee0
je 0x46b2bf
jmp 0x466a52
mov eax, dword [ebp - 0x6c]
sub eax, 0xb4fe2a71
je 0x46a252
jmp 0x466a65
mov eax, dword [ebp - 0x6c]
sub eax, 0xb4ffa7b7
je 0x46936c
jmp 0x466a78
mov eax, dword [ebp - 0x6c]
sub eax, 0xb555445a
je 0x46b2d1
jmp 0x466a8b
mov eax, dword [ebp - 0x6c]
sub eax, 0xb70d63d4
je 0x46bb1b
jmp 0x466a9e
mov eax, dword [ebp - 0x6c]
sub eax, 0xb7a7efba
je 0x46a9fe
jmp 0x466ab1
mov eax, dword [ebp - 0x6c]
sub eax, 0xb8e17415
je 0x469222
jmp 0x466ac4
mov eax, dword [ebp - 0x6c]
sub eax, 0xb90ea4bd
je 0x4695a3
jmp 0x466ad7
mov eax, dword [ebp - 0x6c]
sub eax, 0xba0c177f
je 0x46be33
jmp 0x466aea
mov eax, dword [ebp - 0x6c]
sub eax, 0xba39b227
je 0x46a727
jmp 0x466afd
mov eax, dword [ebp - 0x6c]
sub eax, 0xbb88bf1d
je 0x46be0f
jmp 0x466b10
mov eax, dword [ebp - 0x6c]
sub eax, 0xbbe81dfc
je 0x46bec0
jmp 0x466b23
mov eax, dword [ebp - 0x6c]
sub eax, 0xbd20e3a6
je 0x46a1b6
jmp 0x466b36
mov eax, dword [ebp - 0x6c]
sub eax, 0xbe406b02
je 0x46be6f
jmp 0x466b49
mov eax, dword [ebp - 0x6c]
sub eax, 0xbf4f13e4
je 0x4696b0
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0x4aae14ed
sub edx, 1
sub edx, 0x4aae14ed
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, 0xfe594389
mov ecx, 0xe9a2fc46
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
add edx, 0xcb7a84c0
sub edx, 1
sub edx, 0xcb7a84c0
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, 0xd6445b8e
mov ecx, 0x7da6f1c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
sub edx, 0x2b79538c
sub edx, 1
add edx, 0x2b79538c
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, 0x111201dc
mov ecx, 0xfe714896
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0x120f6797
sub edx, 1
sub edx, 0x120f6797
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, 0x8aa27adb
mov ecx, 0x6999fa7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0xe8ba9c49
sub edx, 1
sub edx, 0xe8ba9c49
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, 0xbb88bf1d
mov ecx, 0xc0dc30dc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
sub edx, 0xcf8d9f69
sub edx, 1
add edx, 0xcf8d9f69
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, 0xc909be21
mov ecx, 0x697265ef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
sub edx, 0xa0609deb
sub edx, 1
add edx, 0xa0609deb
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, 0x83c1ebe8
mov ecx, 0xa7424942
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0xecee1fd7
sub edx, 1
sub edx, 0xecee1fd7
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, 0x83c1ebe8
mov ecx, 0xe7da10c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
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, 0x2ea5e2d8
mov ecx, 0xe04596de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0x85ebe1eb
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
add edx, 0x908f43a9
sub edx, 1
sub edx, 0x908f43a9
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, 0xfed0d51d
mov ecx, 0x5c97e375
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
sub edx, 0xe52d8ad2
sub edx, 1
add edx, 0xe52d8ad2
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, 0x5c0474ef
mov ecx, 0x544e3d58
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0xd2420ff0
sub edx, 1
sub edx, 0xd2420ff0
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, 0xbe406b02
mov ecx, 0x94770b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [ebp - 0x28]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x21], al
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
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, 0xe8512496
mov ecx, 0xd9323406
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
sub edx, 0xe2454614
sub edx, 1
add edx, 0xe2454614
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, 0xf223c5b9
mov ecx, 0xc773e852
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0xfc7b1ed9
sub edx, 1
sub edx, 0xfc7b1ed9
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, 0xe8d6ff8b
mov ecx, 0xb39f956
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0x8d0ebad1
jmp 0x46c03f
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
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]
mov edx, eax
mov eax, 0x421a9ee5
mov ecx, 0x349df6cd
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0x6a051c23
sub edx, 1
sub edx, 0x6a051c23
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, 0x78914bee
mov ecx, 0xb1edfaab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0xd8e178f7
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
add edx, 0xa5c6deb4
sub edx, 1
sub edx, 0xa5c6deb4
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, 0x51961802
mov ecx, 0xd63637f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
add edx, 0x9c2923aa
sub edx, 1
sub edx, 0x9c2923aa
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, 0xa215651d
mov ecx, 0x573d2cfb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0x5b317eca
sub edx, 1
sub edx, 0x5b317eca
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, 0xb555445a
mov ecx, 0xbd20e3a6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
sub edx, 0x783b812b
sub edx, 1
add edx, 0x783b812b
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, 0xda572b1a
mov ecx, 0x2a043762
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
add edx, 0x8d50d6d0
sub edx, 1
sub edx, 0x8d50d6d0
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, 0x5370e5e6
mov ecx, 0x7ddef736
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0xda1037ad
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0xc3af0b3d
sub edx, 1
sub edx, 0xc3af0b3d
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, 0x8aed1230
mov ecx, 0xea672218
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [ebp - 0x58]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x5c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x48]
mov al, byte [eax]
mov byte [ebp - 0x12], al
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
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, 0x51b8fa85
mov ecx, 0xed713133
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
add edx, 0xb0b3ce8f
sub edx, 1
sub edx, 0xb0b3ce8f
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, 0xc19eb23c
mov ecx, 0xc9795780
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0x81a43605
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
add edx, 0xb27759b9
sub edx, 1
sub edx, 0xb27759b9
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, 0x7c34e227
mov ecx, 0xe409179a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
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, 0x17ed3720
mov ecx, 0xdd0cc6ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
sub edx, 0x7e19c7bc
sub edx, 1
add edx, 0x7e19c7bc
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, 0x5e1ed06
mov ecx, 0x46a5be5c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
sub edx, 0x648b09d
sub edx, 1
add edx, 0x648b09d
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, 0x4c57fd0d
mov ecx, 0xeaba8e2b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0x264c0a8
sub edx, 1
sub edx, 0x264c0a8
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, 0xcdba0653
mov ecx, 0x128a6248
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [ebp - 0x48]
mov byte [eax], 1
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
sub edx, 0x4ef6c8c8
sub edx, 1
add edx, 0x4ef6c8c8
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, 0x5cfbead
mov ecx, 0x5d673a7c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x60], 0xf0f263b
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
sub edx, 0xa6bfbe69
sub edx, 1
add edx, 0xa6bfbe69
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, 0x32fe80df
mov ecx, 0x2aff97d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0xacb0ff4f
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
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, 0x9bc91c7c
mov ecx, 0x73a0c34b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0xdf63dc37
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
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, 0x8d704f91
mov ecx, 0x9191a722
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [ebp - 0x48]
mov byte [eax], 0
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
add edx, 0x1b8914f2
sub edx, 1
sub edx, 0x1b8914f2
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, 0x8d704f91
mov ecx, 0x5ced053d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
sub edx, 0x3bfed3c2
sub edx, 1
add edx, 0x3bfed3c2
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, 0x622cafba
mov ecx, 0x6a1e09d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [ebp - 0x48]
mov byte [eax], 1
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
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, 0x1a0c7c56
mov ecx, 0x44cb43ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
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, 0xd1a88fc6
mov ecx, 0x91b012ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
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, 0xd1a88fc6
mov ecx, 0x1a728de7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov ecx, dword [0x4ca5fc]
mov eax, dword [0x4ca5f8]
mov edx, ecx
add edx, 0x1c5f2886
sub edx, 1
sub edx, 0x1c5f2886
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, 0x7c81f665
mov ecx, 0x755336ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0xea672218
jmp 0x46c03f
mov dword [ebp - 0x60], 0x2c87577f
jmp 0x46c03f
mov eax, dword [0x4ca5fc]
mov ecx, dword [0x4ca5f8]
mov edx, eax
sub edx, 0x21067888
sub edx, 1
add edx, 0x21067888
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, 0x36f88958
mov ecx, 0xfec1c616
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x46c03f
mov dword [ebp - 0x60], 0x857c8dc9
jmp 0x46c03f
mov dword [ebp - 0x60], 0x83a614a6
jmp 0x46c03f
mov dword [ebp - 0x60], 0x3b6edae7
jmp 0x46c03f
mov dword [ebp - 0x60], 0xcef43eb2
jmp 0x46c03f
mov dword [ebp - 0x60], 0x7061eafe
jmp 0x46c03f
mov dword [ebp - 0x60], 0xb8e17415
jmp 0x46c03f
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x60], 0x67719c44
jmp 0x46c03f
mov dword [ebp - 0x60], 0x573d2cfb
jmp 0x46c03f
mov dword [ebp - 0x60], 0xfb8481
jmp 0x46c03f
mov byte [ebp - 0x49], 0
mov dword [ebp - 0x60], 0xf2afdbf6
jmp 0x46c03f
mov dword [ebp - 0x60], 0x73a0c34b
jmp 0x46c03f
mov eax, dword [ebp - 0x48]
mov byte [eax], 0
mov dword [ebp - 0x60], 0x9191a722
jmp 0x46c03f
mov eax, dword [ebp - 0x48]
mov byte [eax], 1
mov dword [ebp - 0x60], 0x726c5778
jmp 0x466686