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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x9c
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x1006a204]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
sub edx, 0x669b8015
sub edx, 1
add edx, 0x669b8015
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa0], 0xee39bccc
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x8089359c
je 0x10002cd6
jmp 0x10001704
mov eax, dword [ebp - 0xa8]
sub eax, 0x80e36a01
je 0x1000303c
jmp 0x1000171a
mov eax, dword [ebp - 0xa8]
sub eax, 0x829d6d27
je 0x10004728
jmp 0x10001730
mov eax, dword [ebp - 0xa8]
sub eax, 0x82fd8040
je 0x10003d1d
jmp 0x10001746
mov eax, dword [ebp - 0xa8]
sub eax, 0x833e1c79
je 0x100043ff
jmp 0x1000175c
mov eax, dword [ebp - 0xa8]
sub eax, 0x8b85221b
je 0x1000245e
jmp 0x10001772
mov eax, dword [ebp - 0xa8]
sub eax, 0x8b857aad
je 0x10003944
jmp 0x10001788
mov eax, dword [ebp - 0xa8]
sub eax, 0x92cbd9d3
je 0x1000357a
jmp 0x1000179e
mov eax, dword [ebp - 0xa8]
sub eax, 0x988f6bb7
je 0x10004600
jmp 0x100017b4
mov eax, dword [ebp - 0xa8]
sub eax, 0x98a5cb06
je 0x100048dd
jmp 0x100017ca
mov eax, dword [ebp - 0xa8]
sub eax, 0x99015ad8
je 0x1000390e
jmp 0x100017e0
mov eax, dword [ebp - 0xa8]
sub eax, 0x9b071e56
je 0x10004669
jmp 0x100017f6
mov eax, dword [ebp - 0xa8]
sub eax, 0x9e226f64
je 0x10002d58
jmp 0x1000180c
mov eax, dword [ebp - 0xa8]
sub eax, 0xa098229f
je 0x1000488c
jmp 0x10001822
mov eax, dword [ebp - 0xa8]
sub eax, 0xa0b42813
je 0x100033c4
jmp 0x10001838
mov eax, dword [ebp - 0xa8]
sub eax, 0xa2046c74
je 0x1000479a
jmp 0x1000184e
mov eax, dword [ebp - 0xa8]
sub eax, 0xa4cc4f92
je 0x10004148
jmp 0x10001864
mov eax, dword [ebp - 0xa8]
sub eax, 0xa792b3f1
je 0x10002a42
jmp 0x1000187a
mov eax, dword [ebp - 0xa8]
sub eax, 0xa9301c83
je 0x100025c7
jmp 0x10001890
mov eax, dword [ebp - 0xa8]
sub eax, 0xa9aa482c
je 0x10003fac
jmp 0x100018a6
mov eax, dword [ebp - 0xa8]
sub eax, 0xaa994268
je 0x1000487d
jmp 0x100018bc
mov eax, dword [ebp - 0xa8]
sub eax, 0xac4a0267
je 0x10004c4c
jmp 0x100018d2
mov eax, dword [ebp - 0xa8]
sub eax, 0xac517506
je 0x10003071
jmp 0x100018e8
mov eax, dword [ebp - 0xa8]
sub eax, 0xaedb7348
je 0x1000493d
jmp 0x100018fe
mov eax, dword [ebp - 0xa8]
sub eax, 0xb3b1c95b
je 0x10003741
jmp 0x10001914
mov eax, dword [ebp - 0xa8]
sub eax, 0xb4a77bb5
je 0x100032a6
jmp 0x1000192a
mov eax, dword [ebp - 0xa8]
sub eax, 0xb513e8be
je 0x100029f9
jmp 0x10001940
mov eax, dword [ebp - 0xa8]
sub eax, 0xb51a8fbc
je 0x10004c10
jmp 0x10001956
mov eax, dword [ebp - 0xa8]
sub eax, 0xb584abba
je 0x10002f6c
jmp 0x1000196c
mov eax, dword [ebp - 0xa8]
sub eax, 0xb5c899d9
je 0x10003664
jmp 0x10001982
mov eax, dword [ebp - 0xa8]
sub eax, 0xb78cf148
je 0x10003001
jmp 0x10001998
mov eax, dword [ebp - 0xa8]
sub eax, 0xb7f1c74e
je 0x10003ba1
jmp 0x100019ae
mov eax, dword [ebp - 0xa8]
sub eax, 0xb8274aea
je 0x10004b68
jmp 0x100019c4
mov eax, dword [ebp - 0xa8]
sub eax, 0xb97c5aad
je 0x10004737
jmp 0x100019da
mov eax, dword [ebp - 0xa8]
sub eax, 0xba14c513
je 0x1000494c
jmp 0x100019f0
mov eax, dword [ebp - 0xa8]
sub eax, 0xba334d62
je 0x100031ab
jmp 0x10001a06
mov eax, dword [ebp - 0xa8]
sub eax, 0xbdd462b7
je 0x10003d0e
jmp 0x10001a1c
mov eax, dword [ebp - 0xa8]
sub eax, 0xbf16c369
je 0x10002be3
jmp 0x10001a32
mov eax, dword [ebp - 0xa8]
sub eax, 0xc14ab378
je 0x10004a1d
jmp 0x10001a48
mov eax, dword [ebp - 0xa8]
sub eax, 0xc48d0237
je 0x100038ff
jmp 0x10001a5e
mov eax, dword [ebp - 0xa8]
sub eax, 0xc56502f6
je 0x10004962
jmp 0x10001a74
mov eax, dword [ebp - 0xa8]
sub eax, 0xc5edb728
je 0x10003e6f
jmp 0x10001a8a
mov eax, dword [ebp - 0xa8]
sub eax, 0xc889f6d8
je 0x10004c9f
jmp 0x10001aa0
mov eax, dword [ebp - 0xa8]
sub eax, 0xc922572f
je 0x10003512
jmp 0x10001ab6
mov eax, dword [ebp - 0xa8]
sub eax, 0xcb6dcec8
je 0x10003d8b
jmp 0x10001acc
mov eax, dword [ebp - 0xa8]
sub eax, 0xcd02b57f
je 0x100049b9
jmp 0x10001ae2
mov eax, dword [ebp - 0xa8]
sub eax, 0xce031595
je 0x100033b5
jmp 0x10001af8
mov eax, dword [ebp - 0xa8]
sub eax, 0xd17fb083
je 0x10003c17
jmp 0x10001b0e
mov eax, dword [ebp - 0xa8]
sub eax, 0xd1803b0f
je 0x10004be7
jmp 0x10001b24
mov eax, dword [ebp - 0xa8]
sub eax, 0xd400598e
je 0x10003a20
jmp 0x10001b3a
mov eax, dword [ebp - 0xa8]
sub eax, 0xd4c0cd35
je 0x10002adf
jmp 0x10001b50
mov eax, dword [ebp - 0xa8]
sub eax, 0xd5b0d030
je 0x10003838
jmp 0x10001b66
mov eax, dword [ebp - 0xa8]
sub eax, 0xd7d1f312
je 0x1000426a
jmp 0x10001b7c
mov eax, dword [ebp - 0xa8]
sub eax, 0xd8f6c912
je 0x100040c3
jmp 0x10001b92
mov eax, dword [ebp - 0xa8]
sub eax, 0xdc5a29e0
je 0x10003b2b
jmp 0x10001ba8
mov eax, dword [ebp - 0xa8]
sub eax, 0xde011ff6
je 0x10004758
jmp 0x10001bbe
mov eax, dword [ebp - 0xa8]
sub eax, 0xdf2e74ce
je 0x10004389
jmp 0x10001bd4
mov eax, dword [ebp - 0xa8]
sub eax, 0xe162bc0f
je 0x10003589
jmp 0x10001bea
mov eax, dword [ebp - 0xa8]
sub eax, 0xe1ace300
je 0x10002dd5
jmp 0x10001c00
mov eax, dword [ebp - 0xa8]
sub eax, 0xe4ed20bc
je 0x1000331c
jmp 0x10001c16
mov eax, dword [ebp - 0xa8]
sub eax, 0xe649ea01
je 0x100049c8
jmp 0x10001c2c
mov eax, dword [ebp - 0xa8]
sub eax, 0xe83e7f0f
je 0x10002b3f
jmp 0x10001c42
mov eax, dword [ebp - 0xa8]
sub eax, 0xe912c945
je 0x100042ca
jmp 0x10001c58
mov eax, dword [ebp - 0xa8]
sub eax, 0xe913c4ab
je 0x1000254a
jmp 0x10001c6e
mov eax, dword [ebp - 0xa8]
sub eax, 0xea9da844
je 0x10002dc6
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x90], eax
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0x59c5ad12
sub edx, 1
sub edx, 0x59c5ad12
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, 0x5992ce27
mov ecx, 0xee03f169
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [ebp - 0xa4]
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10010cd0
add esp, 0xc
mov dword [ebp - 0xa0], 0xa9301c83
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
mov edx, eax
sub edx, 0x527578fa
sub edx, 1
add edx, 0x527578fa
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, 0xde011ff6
mov ecx, 0x416b896f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
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, 0x3e1c9eb0
mov ecx, 0xa792b3f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
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 eax, dword [ebp - 0x84]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0xf101187b
sub edx, 1
sub edx, 0xf101187b
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, 0x3e1c9eb0
mov ecx, 0xd4c0cd35
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
mov edx, eax
add edx, 0x6e97fe00
sub edx, 1
sub edx, 0x6e97fe00
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, 0xa2046c74
mov ecx, 0x2b6063f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [ebp - 0x50]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa0], 0xf9b0369f
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
mov edx, eax
add edx, 0x743f4ff5
sub edx, 1
sub edx, 0x743f4ff5
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, 0x7b1f9c7
mov ecx, 0x499fe9c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0xf9498963
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
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, 0xaedb7348
mov ecx, 0xea9da844
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa0], 0xec6c95e6
jmp 0x10004cf3
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
sub edx, 0x284ebfb4
sub edx, 1
add edx, 0x284ebfb4
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, 0x3bacd537
mov ecx, 0x5ac9317
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [ebp - 0x40]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x39], al
mov dword [ebp - 0xa0], 0x3d776a64
jmp 0x10004cf3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa0], 0x19ad3406
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0xb97c5aad
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x3c78d849
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
sub edx, 0x8db7bee7
sub edx, 1
add edx, 0x8db7bee7
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, 0x1e2aafe7
mov ecx, 0xe4ed20bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
sub ecx, 0x98c4e701
add ecx, eax
add ecx, 0x98c4e701
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0xb36f1ca6
sub edx, 1
sub edx, 0xb36f1ca6
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, 0x1e2aafe7
mov ecx, 0xce031595
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0xa0b42813
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
mov edx, eax
sub edx, 0xb0af508
sub edx, 1
add edx, 0xb0af508
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, 0x5f7b008b
mov ecx, 0x752be13c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ax, word [ebp - 0x2a]
movzx eax, ax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x24], ax
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
mov edx, eax
add edx, 0x1803358a
sub edx, 1
sub edx, 0x1803358a
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, 0x72aeaad0
mov ecx, 0x92cbd9d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0xe162bc0f
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0xb768a885
sub edx, 1
sub edx, 0xb768a885
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, 0xba14c513
mov ecx, 0xb5e61bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dl, byte [ebp - 0x21]
mov eax, 0xf06a837
mov ecx, 0x42bf37b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
sub edx, 0xde6673e6
sub edx, 1
add edx, 0xde6673e6
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, 0xc56502f6
mov ecx, 0x573ae3f8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
sub edx, 0xc928d968
sub edx, 1
add edx, 0xc928d968
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, 0xd1803b0f
mov ecx, 0x95ff64c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x99015ad8
jmp 0x10004cf3
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa0], 0x8b857aad
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
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, 0x68b0d9d9
mov ecx, 0x185627b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x7da462e5
add edx, eax
add edx, 0x7da462e5
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x544cbbcb
add ecx, eax
sub ecx, 0x544cbbcb
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10010e30
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x64]
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 al
and al, 1
mov byte [ebp - 0x17], al
mov dword [ebp - 0xa0], 0xdc5a29e0
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
sub edx, 0xb107b5d7
sub edx, 1
add edx, 0xb107b5d7
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, 0x3bc19b96
mov ecx, 0xb7f1c74e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
sub edx, 0x8c9f5d16
sub edx, 1
add edx, 0x8c9f5d16
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, 0x2bcbd4aa
mov ecx, 0xd17fb083
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov cl, byte [ebp - 0x17]
and cl, 1
mov eax, dword [ebp - 0x60]
mov byte [eax], cl
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0xf0065a1
sub edx, 1
sub edx, 0xf0065a1
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, 0x2bcbd4aa
mov ecx, 0x9c45dfa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x82fd8040
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
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, 0xcd02b57f
mov ecx, 0xcb6dcec8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0xee89c4b0
sub edx, 1
sub edx, 0xee89c4b0
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, 0xb51a8fbc
mov ecx, 0x34bb4996
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0xf81d7902
sub edx, 1
sub edx, 0xf81d7902
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, 0xcd02b57f
mov ecx, 0x48f4bc70
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x10a07800
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0x25e13722
sub edx, 1
sub edx, 0x25e13722
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, 0x45628540
mov ecx, 0x6ea4ffb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0x280f82dc
sub edx, 1
sub edx, 0x280f82dc
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, 0x7f2e59f1
mov ecx, 0xf97e770e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
mov edx, eax
add edx, 0x5fd97b34
sub edx, 1
sub edx, 0x5fd97b34
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, 0x435bccaf
mov ecx, 0x1c49415c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0xdca6c49c
sub edx, 1
sub edx, 0xdca6c49c
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, 0xac4a0267
mov ecx, 0x5d2484a5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0x6a0bfa1a
sub edx, 1
sub edx, 0x6a0bfa1a
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, 0x565cfa33
mov ecx, 0x833e1c79
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov ecx, dword [0x1006b4a8]
mov eax, dword [0x1006b4a4]
mov edx, ecx
add edx, 0x673d0a7b
sub edx, 1
sub edx, 0x673d0a7b
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, 0xfaaf8db9
mov ecx, 0xf4c184a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0xa0b42813
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
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, 0xc889f6d8
mov ecx, 0x4101c84c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0xb97c5aad
jmp 0x10004cf3
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100100a0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], 0x416b896f
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
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, 0x211296e2
mov ecx, 0x6339d501
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0xb513e8be
jmp 0x10004cf3
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
mov edx, eax
sub edx, 0x2d795b5c
sub edx, 1
add edx, 0x2d795b5c
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, 0x74eb6b5a
mov ecx, 0x98a5cb06
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [0x1006b4a8]
mov ecx, dword [0x1006b4a4]
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, 0x74eb6b5a
mov ecx, 0x5ffe4aaa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x9e226f64
jmp 0x10004cf3
mov ax, word [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xa0], 0xb5e61bc
jmp 0x10004cf3
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0x573ae3f8
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0xcb6dcec8
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x6c7beaa2
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x50693b64
jmp 0x10004cf3
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], 0x38af7ac0
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x95ff64c
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x34bb4996
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x5d2484a5
jmp 0x10004cf3
mov dword [ebp - 0xa0], 0x4101c84c
jmp 0x10004cf3
jmp 0x100016e8