Function at 0x10001200
Capabilities:
Allocate or change rwx memory
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xb8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [0x1006cc04]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
sub edx, 0xdc30d74b
sub edx, 1
add edx, 0xdc30d74b
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xb6], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xb5], al
mov dword [ebp - 0xbc], 0x5ec81933
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc4], eax
sub eax, 0x805084cb
je 0x10002e7f
jmp 0x10001284
mov eax, dword [ebp - 0xc4]
sub eax, 0x812ace7f
je 0x10002c0c
jmp 0x1000129a
mov eax, dword [ebp - 0xc4]
sub eax, 0x82fdfc21
je 0x10003735
jmp 0x100012b0
mov eax, dword [ebp - 0xc4]
sub eax, 0x843ef5b2
je 0x100031c3
jmp 0x100012c6
mov eax, dword [ebp - 0xc4]
sub eax, 0x8755a1e7
je 0x10003101
jmp 0x100012dc
mov eax, dword [ebp - 0xc4]
sub eax, 0x8c7e2c0b
je 0x10003f3e
jmp 0x100012f2
mov eax, dword [ebp - 0xc4]
sub eax, 0x8c8d0171
je 0x100022bb
jmp 0x10001308
mov eax, dword [ebp - 0xc4]
sub eax, 0x8d67d6c5
je 0x10003c6e
jmp 0x1000131e
mov eax, dword [ebp - 0xc4]
sub eax, 0x90a97469
je 0x100040fc
jmp 0x10001334
mov eax, dword [ebp - 0xc4]
sub eax, 0x9ed2f1d9
je 0x1000247b
jmp 0x1000134a
mov eax, dword [ebp - 0xc4]
sub eax, 0x9f9f8a98
je 0x1000408d
jmp 0x10001360
mov eax, dword [ebp - 0xc4]
sub eax, 0xa225c54a
je 0x10003ee7
jmp 0x10001376
mov eax, dword [ebp - 0xc4]
sub eax, 0xa2383c18
je 0x10003cb7
jmp 0x1000138c
mov eax, dword [ebp - 0xc4]
sub eax, 0xa3625883
je 0x10001f57
jmp 0x100013a2
mov eax, dword [ebp - 0xc4]
sub eax, 0xa3f8b4af
je 0x10004125
jmp 0x100013b8
mov eax, dword [ebp - 0xc4]
sub eax, 0xa4850563
je 0x1000304c
jmp 0x100013ce
mov eax, dword [ebp - 0xc4]
sub eax, 0xa4c3744f
je 0x10003e40
jmp 0x100013e4
mov eax, dword [ebp - 0xc4]
sub eax, 0xa6538b22
je 0x100030e3
jmp 0x100013fa
mov eax, dword [ebp - 0xc4]
sub eax, 0xa783b27f
je 0x1000345b
jmp 0x10001410
mov eax, dword [ebp - 0xc4]
sub eax, 0xa7cc15c8
je 0x10003555
jmp 0x10001426
mov eax, dword [ebp - 0xc4]
sub eax, 0xa97d41b7
je 0x10003ac8
jmp 0x1000143c
mov eax, dword [ebp - 0xc4]
sub eax, 0xadcac715
je 0x1000339a
jmp 0x10001452
mov eax, dword [ebp - 0xc4]
sub eax, 0xb2a9eeed
je 0x1000382e
jmp 0x10001468
mov eax, dword [ebp - 0xc4]
sub eax, 0xb2f844cf
je 0x100023ad
jmp 0x1000147e
mov eax, dword [ebp - 0xc4]
sub eax, 0xb62a3888
je 0x10002eed
jmp 0x10001494
mov eax, dword [ebp - 0xc4]
sub eax, 0xb6e6f95c
je 0x100024cc
jmp 0x100014aa
mov eax, dword [ebp - 0xc4]
sub eax, 0xb7f04818
je 0x10002fec
jmp 0x100014c0
mov eax, dword [ebp - 0xc4]
sub eax, 0xb8483f8a
je 0x100023fe
jmp 0x100014d6
mov eax, dword [ebp - 0xc4]
sub eax, 0xbb159f8e
je 0x100026e5
jmp 0x100014ec
mov eax, dword [ebp - 0xc4]
sub eax, 0xbd522223
je 0x10003eb7
jmp 0x10001502
mov eax, dword [ebp - 0xc4]
sub eax, 0xbd805d1b
je 0x1000387f
jmp 0x10001518
mov eax, dword [ebp - 0xc4]
sub eax, 0xbda7a4df
je 0x1000332d
jmp 0x1000152e
mov eax, dword [ebp - 0xc4]
sub eax, 0xc1839650
je 0x10003974
jmp 0x10001544
mov eax, dword [ebp - 0xc4]
sub eax, 0xc4177e95
je 0x10003f90
jmp 0x1000155a
mov eax, dword [ebp - 0xc4]
sub eax, 0xc61eaa1b
je 0x100021cf
jmp 0x10001570
mov eax, dword [ebp - 0xc4]
sub eax, 0xc91248b7
je 0x10002990
jmp 0x10001586
mov eax, dword [ebp - 0xc4]
sub eax, 0xc93ae86c
je 0x100035e2
jmp 0x1000159c
mov eax, dword [ebp - 0xc4]
sub eax, 0xcc75922f
je 0x100040ca
jmp 0x100015b2
mov eax, dword [ebp - 0xc4]
sub eax, 0xcd9966d8
je 0x10002245
jmp 0x100015c8
mov eax, dword [ebp - 0xc4]
sub eax, 0xcdde0b11
je 0x10003149
jmp 0x100015de
mov eax, dword [ebp - 0xc4]
sub eax, 0xce71c611
je 0x10003d47
jmp 0x100015f4
mov eax, dword [ebp - 0xc4]
sub eax, 0xd5de94c6
je 0x10001e7f
jmp 0x1000160a
mov eax, dword [ebp - 0xc4]
sub eax, 0xd668e561
je 0x10003be6
jmp 0x10001620
mov eax, dword [ebp - 0xc4]
sub eax, 0xd8c80e50
je 0x10002c72
jmp 0x10001636
mov eax, dword [ebp - 0xc4]
sub eax, 0xd9724d64
je 0x10002922
jmp 0x1000164c
mov eax, dword [ebp - 0xc4]
sub eax, 0xdbe1409d
je 0x100025ce
jmp 0x10001662
mov eax, dword [ebp - 0xc4]
sub eax, 0xe28e6731
je 0x10004064
jmp 0x10001678
mov eax, dword [ebp - 0xc4]
sub eax, 0xe2f862a6
je 0x100020d4
jmp 0x1000168e
mov eax, dword [ebp - 0xc4]
sub eax, 0xe425900c
je 0x1000252c
jmp 0x100016a4
mov eax, dword [ebp - 0xc4]
sub eax, 0xe4f90d1c
je 0x1000251d
jmp 0x100016ba
mov eax, dword [ebp - 0xc4]
sub eax, 0xe540c9dd
je 0x100039cd
jmp 0x100016d0
mov eax, dword [ebp - 0xc4]
sub eax, 0xe5c07b42
je 0x10003a3b
jmp 0x100016e6
mov eax, dword [ebp - 0xc4]
sub eax, 0xe985e1be
je 0x10002b34
jmp 0x100016fc
mov eax, dword [ebp - 0xc4]
sub eax, 0xeb319c6f
je 0x1000409c
jmp 0x10001712
mov eax, dword [ebp - 0xc4]
sub eax, 0xebb992c4
je 0x100026cb
jmp 0x10001728
mov eax, dword [ebp - 0xc4]
sub eax, 0xeccca9b7
je 0x10003e31
jmp 0x1000173e
mov eax, dword [ebp - 0xc4]
sub eax, 0xee2a80fa
je 0x10003f1a
jmp 0x10001754
mov eax, dword [ebp - 0xc4]
sub eax, 0xeed60247
je 0x10002849
jmp 0x1000176a
mov eax, dword [ebp - 0xc4]
sub eax, 0xeee15931
je 0x10004055
jmp 0x10001780
mov eax, dword [ebp - 0xc4]
sub eax, 0xf081fa63
je 0x10003c3d
jmp 0x10001796
mov eax, dword [ebp - 0xc4]
sub eax, 0xf1cc0449
je 0x10003349
jmp 0x100017ac
mov eax, dword [ebp - 0xc4]
sub eax, 0xf28e9c2c
je 0x1000265f
jmp 0x100017c2
mov eax, dword [ebp - 0xc4]
sub eax, 0xf35118eb
je 0x100037ba
jmp 0x100017d8
mov eax, dword [ebp - 0xc4]
sub eax, 0xf6883431
je 0x100029f0
jmp 0x100017ee
mov eax, dword [ebp - 0xc4]
sub eax, 0xf6a1bb62
je 0x10002707
mov dword [ebp - 0xbc], 0x2ad0e1ea
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
add edx, 0x23996a83
sub edx, 1
sub edx, 0x23996a83
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, 0xf9842041
mov ecx, 0x3814f460
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
sub edx, 0x1730fdc
sub edx, 1
add edx, 0x1730fdc
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, 0x3507a84d
mov ecx, 0x61ee3759
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
add edx, 0x592ad038
sub edx, 1
sub edx, 0x592ad038
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, 0xbd522223
mov ecx, 0xcd9966d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
add edx, 0x7c9e2dbd
sub edx, 1
sub edx, 0x7c9e2dbd
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, 0xbd522223
mov ecx, 0x8c8d0171
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0xe540c9dd
mov ecx, 0x41bc56ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0x2e1cbc92
sub edx, 1
sub edx, 0x2e1cbc92
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, 0x29a1ad10
mov ecx, 0xb8483f8a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [ebp - 0x74]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x6d], al
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0xf4e78db1
sub edx, 1
add edx, 0xf4e78db1
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, 0x29a1ad10
mov ecx, 0x516f6208
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0x1f258041
sub edx, 1
add edx, 0x1f258041
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, 0x69b46896
mov ecx, 0xb6e6f95c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0x7ac7a3e9
sub edx, 1
add edx, 0x7ac7a3e9
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, 0x69b46896
mov ecx, 0xe4f90d1c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dword [ebp - 0xbc], 0xb2a9eeed
jmp 0x10004143
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax]
mov eax, dword [ebp - 0xac]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xa4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xbc], 0x4411b8e4
jmp 0x10004143
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0x415f968
mov ecx, 0xf28e9c2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dword [ebp - 0xbc], 0x3a159274
jmp 0x10004143
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xbc], 0xbb159f8e
jmp 0x10004143
mov edx, dword [ebp - 0x68]
mov esi, 0xffffffff
mov eax, 0x11adb305
mov ecx, 0xf6a1bb62
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
sub edx, 0x795a8a72
sub edx, 1
add edx, 0x795a8a72
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, 0xa225c54a
mov ecx, 0xfa02cabf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0x35024861
mov ecx, 0xc91248b7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0x727c4d82
sub edx, 1
sub edx, 0x727c4d82
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, 0x35024861
mov ecx, 0xf6883431
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0x18e6fad0
mov ecx, 0x5e09ac65
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dword [ebp - 0xbc], 0xb2a9eeed
jmp 0x10004143
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
add eax, 0xc0928140
add eax, ecx
sub eax, 0xc0928140
mov dword [ebp - 0x48], eax
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0x8fcbddec
sub edx, 1
sub edx, 0x8fcbddec
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, 0x58c526e7
mov ecx, 0xd8c80e50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dword [ebp - 0xbc], 0x30ce59c2
jmp 0x10004143
mov dword [ebp - 0xbc], 0x3b5f2bf0
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
add edx, 0x4d97c459
sub edx, 1
sub edx, 0x4d97c459
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, 0x165c6981
mov ecx, 0x53557e87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dword [ebp - 0xbc], 0x7b346557
jmp 0x10004143
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x88]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x9f45400
add ecx, eax
add ecx, 0x9f45400
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001a190
call fcn.10010bb0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x2d], al
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0x8c7e2c0b
mov ecx, 0xa6538b22
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dl, byte [ebp - 0x2d]
mov eax, 0x8755a1e7
mov ecx, 0x1a3a1055
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [ebp - 0x80]
mov dword [eax], 0
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x41c74cff
add eax, ecx
add eax, 0x41c74cff
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xbc], 0xcdde0b11
jmp 0x10004143
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x7c]
mov byte [eax], cl
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0xe07f8ddc
add eax, ecx
sub eax, 0xe07f8ddc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xbc], 0x843ef5b2
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
add edx, 0xbb8be407
sub edx, 1
sub edx, 0xbb8be407
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, 0xc4177e95
mov ecx, 0x501a4a62
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [ebp - 0x88]
mov ax, word [eax]
mov word [ebp - 0x16], ax
mov dword [ebp - 0xbc], 0xf1cc0449
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0xeec52ff1
sub edx, 1
add edx, 0xeec52ff1
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, 0x29225819
mov ecx, 0xadcac715
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov cx, word [ebp - 0x16]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x88]
mov word [eax], cx
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0x29225819
mov ecx, 0x2b0ba1b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0xeee15931
mov ecx, 0x470d9d36
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0xe28e6731
mov ecx, 0xc93ae86c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0x17f938f6
sub edx, 1
add edx, 0x17f938f6
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, 0x8d67d6c5
mov ecx, 0xfaeddc69
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dword [ebp - 0xbc], 0x7e4b2e29
jmp 0x10004143
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0x5127dbb5
sub edx, 1
add edx, 0x5127dbb5
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, 0x7e3dd230
mov ecx, 0x2d555d90
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0x721a975b
sub edx, 1
sub edx, 0x721a975b
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, 0xeccca9b7
mov ecx, 0xbd805d1b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0xeccca9b7
mov ecx, 0xf7a770e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xb4]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0xb0]
mov dword [eax], ecx
mov eax, dword [ebp - 0xac]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000fc20
add esp, 0xc
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xbc], 0xa3625883
jmp 0x10004143
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0xeb319c6f
mov ecx, 0xe5c07b42
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [ebp - 0x78]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0xa8]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0xeb319c6f
mov ecx, 0xa97d41b7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dword [ebp - 0xbc], 0x41bc56ac
jmp 0x10004143
mov dword [ebp - 0xbc], 0xdbe1409d
jmp 0x10004143
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xbc], 0x2641f65e
jmp 0x10004143
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0x90a97469
mov ecx, 0xa2383c18
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x98]
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
add edx, 0x4d2d4671
sub edx, 1
sub edx, 0x4d2d4671
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, 0x90a97469
mov ecx, 0xce71c611
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xbc], eax
jmp 0x10004143
mov dword [ebp - 0xbc], 0x1e0ba6dc
jmp 0x10004143
mov dword [ebp - 0xbc], 0xbd805d1b
jmp 0x10004143
mov dword [ebp - 0xbc], 0x6762250d
jmp 0x10004143
mov dword [ebp - 0xbc], 0xcd9966d8
jmp 0x10004143
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xbc], 0xeed60247
jmp 0x10004143
mov dword [ebp - 0xbc], 0xe6b504e
jmp 0x10004143
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x88]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001a190
call fcn.10010bb0
add esp, 8
mov dword [ebp - 0xbc], 0xa4850563
jmp 0x10004143
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x20]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000fd80
add esp, 0xc
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xa4]
mov esi, dword [eax]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x80]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x7c]
mov byte [eax], cl
mov dword [ebp - 0xbc], 0x501a4a62
jmp 0x10004143
mov dword [ebp - 0xbc], 0xa783b27f
jmp 0x10004143
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], 0xa7cc15c8
jmp 0x10004143
mov dword [ebp - 0xbc], 0x485cceea
jmp 0x10004143
mov eax, dword [ebp - 0x78]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0xa8]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xbc], 0xe5c07b42
jmp 0x10004143
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0xbc], 0x3d818e3f
jmp 0x10004143
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], 0xa2383c18
jmp 0x10004143
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xbc], 0x2914c6c5
jmp 0x10001268