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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [0x1006da04]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xa2], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xa1], al
mov dword [ebp - 0xa8], 0x1f81c320
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x8d5211ac
je 0x100052d6
jmp 0x100017db
mov eax, dword [ebp - 0xb0]
sub eax, 0x8fd3fcf5
je 0x10003dca
jmp 0x100017f1
mov eax, dword [ebp - 0xb0]
sub eax, 0x8ffe8465
je 0x100029a1
jmp 0x10001807
mov eax, dword [ebp - 0xb0]
sub eax, 0x9381aa61
je 0x100051c4
jmp 0x1000181d
mov eax, dword [ebp - 0xb0]
sub eax, 0x947dcc13
je 0x10005221
jmp 0x10001833
mov eax, dword [ebp - 0xb0]
sub eax, 0x9556b64d
je 0x10004a4e
jmp 0x10001849
mov eax, dword [ebp - 0xb0]
sub eax, 0x965fab81
je 0x10004c95
jmp 0x1000185f
mov eax, dword [ebp - 0xb0]
sub eax, 0x9700e072
je 0x100040d4
jmp 0x10001875
mov eax, dword [ebp - 0xb0]
sub eax, 0x98f3f7f3
je 0x100037af
jmp 0x1000188b
mov eax, dword [ebp - 0xb0]
sub eax, 0x9f29f9d1
je 0x10004da6
jmp 0x100018a1
mov eax, dword [ebp - 0xb0]
sub eax, 0x9f75faa9
je 0x1000276e
jmp 0x100018b7
mov eax, dword [ebp - 0xb0]
sub eax, 0xa1533609
je 0x10004fe2
jmp 0x100018cd
mov eax, dword [ebp - 0xb0]
sub eax, 0xa3fca0fb
je 0x100052b5
jmp 0x100018e3
mov eax, dword [ebp - 0xb0]
sub eax, 0xa443d223
je 0x10004790
jmp 0x100018f9
mov eax, dword [ebp - 0xb0]
sub eax, 0xa4fe41f5
je 0x10003b3e
jmp 0x1000190f
mov eax, dword [ebp - 0xb0]
sub eax, 0xa5716ecb
je 0x10005272
jmp 0x10001925
mov eax, dword [ebp - 0xb0]
sub eax, 0xa5b5ca54
je 0x10004f7f
jmp 0x1000193b
mov eax, dword [ebp - 0xb0]
sub eax, 0xa6565337
je 0x100049e0
jmp 0x10001951
mov eax, dword [ebp - 0xb0]
sub eax, 0xadd37c3e
je 0x100052c4
jmp 0x10001967
mov eax, dword [ebp - 0xb0]
sub eax, 0xb1ccf5fd
je 0x10003bce
jmp 0x1000197d
mov eax, dword [ebp - 0xb0]
sub eax, 0xb2c95dff
je 0x100029f2
jmp 0x10001993
mov eax, dword [ebp - 0xb0]
sub eax, 0xb302bb6e
je 0x100052a3
jmp 0x100019a9
mov eax, dword [ebp - 0xb0]
sub eax, 0xb3aa25cf
je 0x100036b0
jmp 0x100019bf
mov eax, dword [ebp - 0xb0]
sub eax, 0xb41f3862
je 0x10004de7
jmp 0x100019d5
mov eax, dword [ebp - 0xb0]
sub eax, 0xb591f49c
je 0x100042a2
jmp 0x100019eb
mov eax, dword [ebp - 0xb0]
sub eax, 0xb5e32156
je 0x100050ed
jmp 0x10001a01
mov eax, dword [ebp - 0xb0]
sub eax, 0xb67e9bba
je 0x10002f6e
jmp 0x10001a17
mov eax, dword [ebp - 0xb0]
sub eax, 0xb8223ddc
je 0x10002ff6
jmp 0x10001a2d
mov eax, dword [ebp - 0xb0]
sub eax, 0xb85375d6
je 0x10004ec4
jmp 0x10001a43
mov eax, dword [ebp - 0xb0]
sub eax, 0xb90eade8
je 0x100039dd
jmp 0x10001a59
mov eax, dword [ebp - 0xb0]
sub eax, 0xba3ff28c
je 0x100035a0
jmp 0x10001a6f
mov eax, dword [ebp - 0xb0]
sub eax, 0xbacc8bfc
je 0x10002b2d
jmp 0x10001a85
mov eax, dword [ebp - 0xb0]
sub eax, 0xbb82a58a
je 0x10004806
jmp 0x10001a9b
mov eax, dword [ebp - 0xb0]
sub eax, 0xbd8b9a0f
je 0x100051e5
jmp 0x10001ab1
mov eax, dword [ebp - 0xb0]
sub eax, 0xbed845e2
je 0x10003841
jmp 0x10001ac7
mov eax, dword [ebp - 0xb0]
sub eax, 0xbf8d26f7
je 0x10004366
jmp 0x10001add
mov eax, dword [ebp - 0xb0]
sub eax, 0xc099b259
je 0x10003c44
jmp 0x10001af3
mov eax, dword [ebp - 0xb0]
sub eax, 0xc3d933cf
je 0x10004dbb
jmp 0x10001b09
mov eax, dword [ebp - 0xb0]
sub eax, 0xc55a3a14
je 0x10002ce8
jmp 0x10001b1f
mov eax, dword [ebp - 0xb0]
sub eax, 0xc5f06cbf
je 0x10003fbd
jmp 0x10001b35
mov eax, dword [ebp - 0xb0]
sub eax, 0xc60d4f35
je 0x10003425
jmp 0x10001b4b
mov eax, dword [ebp - 0xb0]
sub eax, 0xc8fe83aa
je 0x100054d4
jmp 0x10001b61
mov eax, dword [ebp - 0xb0]
sub eax, 0xc90877d7
je 0x10003cfd
jmp 0x10001b77
mov eax, dword [ebp - 0xb0]
sub eax, 0xcb7afb41
je 0x10002a66
jmp 0x10001b8d
mov eax, dword [ebp - 0xb0]
sub eax, 0xcba09ab2
je 0x10004df6
jmp 0x10001ba3
mov eax, dword [ebp - 0xb0]
sub eax, 0xcbef59a1
je 0x10004b86
jmp 0x10001bb9
mov eax, dword [ebp - 0xb0]
sub eax, 0xcc644bec
je 0x1000421d
jmp 0x10001bcf
mov eax, dword [ebp - 0xb0]
sub eax, 0xd16c3a9f
je 0x10003235
jmp 0x10001be5
mov eax, dword [ebp - 0xb0]
sub eax, 0xd1a5f84b
je 0x10004e64
jmp 0x10001bfb
mov eax, dword [ebp - 0xb0]
sub eax, 0xd2fc17c2
je 0x10004592
jmp 0x10001c11
mov eax, dword [ebp - 0xb0]
sub eax, 0xd3e67f8c
je 0x10005434
jmp 0x10001c27
mov eax, dword [ebp - 0xb0]
sub eax, 0xd566e711
je 0x10003244
jmp 0x10001c3d
mov eax, dword [ebp - 0xb0]
sub eax, 0xd72f2d7d
je 0x100034b4
jmp 0x10001c53
mov eax, dword [ebp - 0xb0]
sub eax, 0xd951fb53
je 0x10003aed
jmp 0x10001c69
mov eax, dword [ebp - 0xb0]
sub eax, 0xd9c7a683
je 0x10005254
jmp 0x10001c7f
mov eax, dword [ebp - 0xb0]
sub eax, 0xdb0d7b1a
je 0x100032e5
jmp 0x10001c95
mov eax, dword [ebp - 0xb0]
sub eax, 0xdc6a81e3
je 0x10004ee2
jmp 0x10001cab
mov eax, dword [ebp - 0xb0]
sub eax, 0xdcb0a27c
je 0x10002ba3
jmp 0x10001cc1
mov eax, dword [ebp - 0xb0]
sub eax, 0xdeeb3eae
je 0x1000414a
jmp 0x10001cd7
mov eax, dword [ebp - 0xb0]
sub eax, 0xe13984a6
je 0x10002adc
jmp 0x10001ced
mov eax, dword [ebp - 0xb0]
sub eax, 0xe2f61e70
je 0x10003d81
jmp 0x10001d03
mov eax, dword [ebp - 0xb0]
sub eax, 0xe32d34b6
je 0x100050fc
jmp 0x10001d19
mov eax, dword [ebp - 0xb0]
sub eax, 0xe32fc1ac
je 0x10002a1b
jmp 0x10001d2f
mov eax, dword [ebp - 0xb0]
sub eax, 0xe46c1517
je 0x10003d57
jmp 0x10001d45
mov eax, dword [ebp - 0xb0]
sub eax, 0xe5a1dfe1
je 0x10004f09
mov dword [ebp - 0xa8], 0x4a6460e0
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
sub edx, 0x89dc86c0
sub edx, 1
add edx, 0x89dc86c0
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, 0x67521176
mov ecx, 0xb2c95dff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x212aedc2
jmp 0x100054e1
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x60]
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 - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0xcb7afb41
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
add edx, 0x58dc34dc
sub edx, 1
sub edx, 0x58dc34dc
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, 0x11094e34
mov ecx, 0xe13984a6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
add edx, 0xb3b0ba08
sub edx, 1
sub edx, 0xb3b0ba08
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, 0x11094e34
mov ecx, 0xbacc8bfc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
add edx, 0xf06fc6e5
sub edx, 1
sub edx, 0xf06fc6e5
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, 0x9f29f9d1
mov ecx, 0xdcb0a27c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
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, 0x7a109674
mov ecx, 0x1d993f17
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
add edx, 0xaed7d48d
sub edx, 1
sub edx, 0xaed7d48d
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, 0xef8a4c9a
mov ecx, 0x1ba10bbb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x58]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x51], al
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
sub edx, 0x258bd8df
sub edx, 1
add edx, 0x258bd8df
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, 0x9381aa61
mov ecx, 0xb8223ddc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
sub edx, 0x1ffe4a9c
sub edx, 1
add edx, 0x1ffe4a9c
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, 0xc3d933cf
mov ecx, 0x40d19c19
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x212aedc2
jmp 0x100054e1
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xa8], 0x2ac27899
jmp 0x100054e1
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
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, 0x50d3a9e7
mov ecx, 0x562cbee6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x49be665d
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
add edx, 0x4973aa3c
sub edx, 1
sub edx, 0x4973aa3c
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, 0xed4b37cf
mov ecx, 0xe8049fd6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
add edx, 0xffbf92ce
sub edx, 1
sub edx, 0xffbf92ce
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, 0xb41f3862
mov ecx, 0xf5207f52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dl, byte [ebp - 0x45]
mov eax, 0x2a3cd15
mov ecx, 0xf9a620bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
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, 0xcba09ab2
mov ecx, 0x6bfd6ffe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
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, 0xa8d93c2
mov ecx, 0xffcc843d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
sub edx, 0x5687df11
sub edx, 1
add edx, 0x5687df11
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, 0x4f97ddc2
mov ecx, 0xf2b5bbce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
sub edx, 0x45726f14
sub edx, 1
add edx, 0x45726f14
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, 0x4f97ddc2
mov ecx, 0xa4fe41f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x212aedc2
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
add edx, 0xf14fa9b5
sub edx, 1
sub edx, 0xf14fa9b5
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, 0xa5716ecb
mov ecx, 0xc099b259
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
sub edx, 0x63d3084a
sub edx, 1
add edx, 0x63d3084a
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, 0xa5716ecb
mov ecx, 0x6704f78e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
sub edx, 0xb1eb83ed
sub edx, 1
add edx, 0xb1eb83ed
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, 0x5c92ee05
mov ecx, 0xe46c1517
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dword [ebp - 0xa8], 0xf312e4b6
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
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, 0xdc6a81e3
mov ecx, 0x8fd3fcf5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
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, 0xdc6a81e3
mov ecx, 0x3d932b01
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
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, 0xa3fca0fb
mov ecx, 0x19b34897
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
add edx, 0xcbdbb05
sub edx, 1
sub edx, 0xcbdbb05
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, 0xadd37c3e
mov ecx, 0xdeeb3eae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
sub edx, 0x57573bdf
sub edx, 1
add edx, 0x57573bdf
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, 0xadd37c3e
mov ecx, 0x58282e2d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x33f2a1ae
jmp 0x100054e1
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
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 - 0x74]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x85dc02ed
add ecx, eax
add ecx, 0x85dc02ed
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001b190
call fcn.100121a0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x25], al
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
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, 0x8d5211ac
mov ecx, 0xbf8d26f7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dl, byte [ebp - 0x25]
mov eax, 0x32a417bf
mov ecx, 0x3684b05a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
add edx, 0xb6561d5c
sub edx, 1
sub edx, 0xb6561d5c
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, 0xa1533609
mov ecx, 0x3fc9dfd2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
add edx, 0xce5a3732
sub edx, 1
sub edx, 0xce5a3732
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, 0x3dba864a
mov ecx, 0xbb82a58a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
add edx, 0x3c1179be
sub edx, 1
sub edx, 0x3c1179be
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, 0x3dba864a
mov ecx, 0xeca6b92
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
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, 0x4b9f54d7
mov ecx, 0x9556b64d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
sub edx, 0xd2648b77
sub edx, 1
add edx, 0xd2648b77
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, 0xc79cf94
mov ecx, 0x7ef99578
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
mov edx, ecx
sub edx, 0x4c8c3285
sub edx, 1
add edx, 0x4c8c3285
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, 0x1a6f5275
mov ecx, 0x7df5a7de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x3f285066
jmp 0x100054e1
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], 0xdcb0a27c
jmp 0x100054e1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xa8], 0x2a6b34f9
jmp 0x100054e1
mov dword [ebp - 0xa8], 0xd72f2d7d
jmp 0x100054e1
mov ecx, dword [0x1006eca8]
mov eax, dword [0x1006eca4]
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, 0xee571d99
mov ecx, 0xd1a5f84b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
add edx, 0xaeeb6341
sub edx, 1
sub edx, 0xaeeb6341
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, 0xee571d99
mov ecx, 0xb85375d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x6bfd6ffe
jmp 0x100054e1
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xa8], 0x8fd3fcf5
jmp 0x100054e1
mov eax, dword [ebp - 0x78]
mov eax, dword [0x1006eca8]
mov ecx, dword [0x1006eca4]
mov edx, eax
sub edx, 0x443f2783
sub edx, 1
add edx, 0x443f2783
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, 0xc8fe83aa
mov ecx, 0x7f51370d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100054e1
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov byte [eax], cl
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x6b33e707
add edx, eax
sub edx, 0x6b33e707
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x70]
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.10011370
add esp, 0xc
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa8], 0x1bc18cb0
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x57a68b83
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x7044e606
jmp 0x100054e1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xa8], 0xb67e9bba
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x11c1b31d
jmp 0x100054e1
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa8], 0x685911c8
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x49b99aab
jmp 0x100054e1
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov dword [ebp - 0xa8], 0xc099b259
jmp 0x100054e1
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], 0x7d8c7093
jmp 0x100054e1
mov dword [ebp - 0xa8], 0x19b34897
jmp 0x100054e1
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], 0xdeeb3eae
jmp 0x100054e1
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
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 - 0x74]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0xcaff116b
add ecx, eax
add ecx, 0xcaff116b
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001b190
call fcn.100121a0
add esp, 8
mov dword [ebp - 0xa8], 0xb591f49c
jmp 0x100054e1
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xa8], 0xed33cce1
jmp 0x100054e1
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], 0xa5b5ca54
jmp 0x100017bf