Function at 0x10016349
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc4
push ebx
push ebp
push esi
push edi
push dword [esp + 0xdc]
mov eax, edx
mov dword [esp + 0x40], ecx
push dword [esp + 0xdc]
mov dword [esp + 0xc4], eax
push eax
push ecx
call fcn.1000dd01
mov dword [esp + 0xdc], 0xf4e1a3
xor ebp, ebp
mov dword [esp + 0xe0], ebp
add esp, 0x10
mov dword [esp + 0x18], 0xdd6ae3
xor edx, edx
shl dword [esp + 0x18], 0xf
mov esi, 0x74f73e
xor dword [esp + 0x18], 0x403f1f54
mov ebx, ebp
add dword [esp + 0x18], 0x1a
xor dword [esp + 0x18], 0xf54e9f6f
mov dword [esp + 0x24], 0xeb0069
shl dword [esp + 0x24], 6
or dword [esp + 0x24], 0x2a59ce39
xor dword [esp + 0x24], 0x7b22c670
xor dword [esp + 0x24], 0x41fb1808
mov dword [esp + 0x94], 0x4d8b54
shr dword [esp + 0x94], 6
xor dword [esp + 0x94], 0x1362c
mov dword [esp + 0x44], 0x58bb75
or dword [esp + 0x44], 0xaae6dfc1
xor dword [esp + 0x44], 0x8404d511
xor dword [esp + 0x44], 0x2efed927
mov dword [esp + 0x7c], 0x1480a7
add dword [esp + 0x7c], 0xffff7f3e
add dword [esp + 0x7c], 0xfe87
xor dword [esp + 0x7c], 0x10fc4a
mov dword [esp + 0x64], 0x215caf
imul eax, dword [esp + 0x64], 0x49
push 0x7d
pop edi
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0xb5aac85e
xor dword [esp + 0x64], 0xbc251163
mov dword [esp + 0x58], 0xa51f00
shr dword [esp + 0x58], 0xd
add dword [esp + 0x58], 0xa902
xor dword [esp + 0x58], 0xa16ef
mov dword [esp + 0x74], 0x77d214
add dword [esp + 0x74], 0xffff06e1
mov eax, dword [esp + 0x74]
div edi
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x7428c
mov dword [esp + 0xac], 0xcd1ab2
imul eax, dword [esp + 0xac], 0x6a
mov dword [esp + 0xac], eax
xor dword [esp + 0xac], 0x54ea538d
mov dword [esp + 0x98], 0xdbd866
add dword [esp + 0x98], 0x202f
xor dword [esp + 0x98], 0xdf0721
mov dword [esp + 0xa4], 0x4412af
shl dword [esp + 0xa4], 9
xor dword [esp + 0xa4], 0x8826f945
mov dword [esp + 0x90], 0x8b054c
add dword [esp + 0x90], 0xffff6776
xor dword [esp + 0x90], 0x802695
mov dword [esp + 0x4c], 0x803bbc
xor dword [esp + 0x4c], 0xf954cf4f
imul eax, dword [esp + 0x4c], 0x29
mov dword [esp + 0x4c], eax
xor dword [esp + 0x4c], 0x31c6c8a
mov dword [esp + 0x28], 0x2fdf65
add dword [esp + 0x28], 0xebca
shl dword [esp + 0x28], 0xf
xor dword [esp + 0x28], 0x7c6bdf46
xor dword [esp + 0x28], 0x19fc35e5
mov dword [esp + 0x84], 0x27445
shl dword [esp + 0x84], 9
xor edx, edx
xor dword [esp + 0x84], 0x4e65caf
mov dword [esp + 0xb0], 0xa7fcec
add dword [esp + 0xb0], 0xc013
xor dword [esp + 0xb0], 0xa46360
mov dword [esp + 0x54], 0x1e7bd6
or dword [esp + 0x54], 0x6eb8eda9
xor dword [esp + 0x54], 0x174b145a
xor dword [esp + 0x54], 0x79f047c1
mov dword [esp + 0xa0], 0xf225cd
xor dword [esp + 0xa0], 0x7bb18fe3
xor dword [esp + 0xa0], 0x7b4c3189
mov dword [esp + 0x1c], 0xa9a194
xor dword [esp + 0x1c], 0xd8a31c9e
imul eax, dword [esp + 0x1c], 0x45
push 0x61
pop edi
push 0x51
mov dword [esp + 0x20], eax
shl dword [esp + 0x20], 8
xor dword [esp + 0x20], 0xe4f2e08d
mov dword [esp + 0x54], 0xc380
xor dword [esp + 0x54], 0xc988c4b8
add dword [esp + 0x54], 0xa4f8
xor dword [esp + 0x54], 0xc98c7fab
mov dword [esp + 0x70], 0x446a15
shl dword [esp + 0x70], 0xa
or dword [esp + 0x70], 0x90282c3d
xor dword [esp + 0x70], 0x91a22a80
mov dword [esp + 0x24], 0x59ea12
xor dword [esp + 0x24], 0x473a57be
xor dword [esp + 0x24], 0xca11446f
shr dword [esp + 0x24], 2
xor dword [esp + 0x24], 0x23554105
mov dword [esp + 0xb8], 0x35b91
imul eax, dword [esp + 0xb8], 0x34
mov dword [esp + 0xb8], eax
xor dword [esp + 0xb8], 0xa1e8a8
mov dword [esp + 0x3c], 0xd817d7
add dword [esp + 0x3c], 0xfffff226
imul eax, dword [esp + 0x3c], 0x70
mov dword [esp + 0x3c], eax
shr dword [esp + 0x3c], 9
xor dword [esp + 0x3c], 0x2248a7
mov dword [esp + 0xac], 0xa31d7
xor dword [esp + 0xac], 0x65e089aa
xor dword [esp + 0xac], 0x65e17354
mov dword [esp + 0x14], 0x4122a1
add dword [esp + 0x14], 0xffffa4c1
add dword [esp + 0x14], 0xc5fc
or dword [esp + 0x14], 0x12ce4ef2
xor dword [esp + 0x14], 0x12cbbe28
mov dword [esp + 0x34], 0xc2794d
shl dword [esp + 0x34], 0xd
shr dword [esp + 0x34], 0xd
add dword [esp + 0x34], 0xfe1c
xor dword [esp + 0x34], 0x81b68
mov dword [esp + 0x60], 0x5a56dd
mov eax, dword [esp + 0x60]
div edi
xor edx, edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
pop edi
div edi
push 0x68
mov dword [esp + 0x60], eax
xor edx, edx
xor dword [esp + 0x60], 0x6766a
mov dword [esp + 0x30], 0x3e2b6a
add dword [esp + 0x30], 0x129a
shl dword [esp + 0x30], 6
mov eax, dword [esp + 0x30]
pop edi
div edi
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x2e66d0
mov dword [esp + 0x60], 0xcd1cf0
add dword [esp + 0x60], 0xb94c
shl dword [esp + 0x60], 6
xor dword [esp + 0x60], 0x337bcccf
xor edx, edx
mov dword [esp + 0x9c], 0xaebe50
add dword [esp + 0x9c], 0xfffff128
xor dword [esp + 0x9c], 0xaa4d46
mov dword [esp + 0x40], 0x25c431
or dword [esp + 0x40], 0x1da31f31
imul eax, dword [esp + 0x40], 0x56
push 0x46
pop edi
push 0x42
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0xf667b651
mov dword [esp + 0x90], 0xa31987
shl dword [esp + 0x90], 6
xor dword [esp + 0x90], 0x28cc6158
mov dword [esp + 0x18], 0x354a50
mov eax, dword [esp + 0x18]
div edi
xor edx, edx
mov dword [esp + 0x18], eax
add dword [esp + 0x18], 0x2c60
mov eax, dword [esp + 0x18]
pop edi
div edi
push 0x66
mov dword [esp + 0x18], eax
xor edx, edx
xor dword [esp + 0x18], 0x2fa90
mov dword [esp + 0x8c], 0x88f874
xor dword [esp + 0x8c], 0x6c15b926
xor dword [esp + 0x8c], 0x6c9ba62f
mov dword [esp + 0x4c], 0xeacb20
imul eax, dword [esp + 0x4c], 0x5f
pop edi
mov dword [esp + 0x48], eax
imul eax, dword [esp + 0x48], 0x39
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0x66611837
mov dword [esp + 0x80], 0x92fa66
imul eax, dword [esp + 0x80], 0x6c
mov dword [esp + 0x80], eax
shr dword [esp + 0x80], 8
xor dword [esp + 0x80], 0x39173b
mov dword [esp + 0x78], 0x5d4274
add dword [esp + 0x78], 0x50a4
xor dword [esp + 0x78], 0x9369b914
xor dword [esp + 0x78], 0x933e6c0e
mov dword [esp + 0x70], 0x5cda44
shl dword [esp + 0x70], 0xa
imul eax, dword [esp + 0x70], 0x2d
mov dword [esp + 0x70], eax
xor dword [esp + 0x70], 0x497a8708
mov dword [esp + 0x34], 0xf53545
imul eax, dword [esp + 0x34], 0x1e
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x624adff8
mov eax, dword [esp + 0x34]
div edi
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x136cacf
mov edi, dword [esp + 0xc0]
mov eax, dword [esp + 0x68]
mov edx, 0x24f9e1f
cmp esi, 0x7f133b9
jg 0x10016af9
je 0x10016acf
cmp esi, 0x74f73e
je 0x10016ac5
cmp esi, 0x23a4e5e
je 0x10016a9d
cmp esi, edx
je 0x10016a38
mov eax, 0x34e3846
cmp esi, eax
je 0x10016997
cmp esi, 0x61963e1
jne 0x10016bab
mov eax, dword [esp + 0x58]
mov edx, 0x2000
mov eax, dword [esp + 0x64]
push ecx
call fcn.10015a10
mov ebp, eax
mov esi, 0xa3d6cb9
test ebp, ebp
mov eax, 0x34e3846
pop ecx
cmovne esi, eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
jmp 0x1001691c
push dword [esp + 0xb0]
lea eax, [esp + 0xc8]
push ecx
push ecx
push dword [esp + 0x90]
push dword [esp + 0x38]
push ecx
push dword [esp + 0x64]
push dword [esp + 0xac]
push ecx
push dword [esp + 0xc8]
push dword [esp + 0xc0]
push ecx
push dword [esp + 0xec]
push ecx
push eax
push dword [esp + 0xe8]
mov edx, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
push ebx
call fcn.10021f78
add esp, 0x44
test eax, eax
je 0x10016a2e
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0x54]
call fcn.100182df
and eax, 0x1f
mov esi, 0xdd080cd
imul edi, eax, 0x2c
imul eax, dword [esp + 0xc0], 0x2c
add edi, ebx
add eax, ebx
cmp edi, eax
mov dword [esp + 0x68], eax
cmovae edi, ebx
jmp 0x10016991
mov esi, 0x7f133b9
jmp 0x1001698d
push dword [esp + 0x18]
lea eax, [esp + 0xcc]
push eax
push dword [esp + 0x40]
push dword [esp + 0xc0]
push ebp
push dword [esp + 0xcc]
push dword [esp + 0x38]
mov edx, dword [esp + 0x88]
call fcn.1000b531
push dword [esp + 0x78]
mov edx, dword [esp + 0xd8]
test eax, eax
push dword [esp + 0x50]
mov eax, 0x8b5bd62
mov esi, 0x8e189f6
push dword [esp + 0x34]
mov ecx, dword [esp + 0xd0]
cmovne esi, eax
call fcn.10006274
add esp, 0x28
jmp 0x10016ba2
mov eax, dword [esp + 0x7c]
mov edx, 0x20000
mov eax, dword [esp + 0x44]
push ecx
call fcn.10015a10
mov ebx, eax
pop ecx
test ebx, ebx
je 0x10016bdc
mov esi, 0x61963e1
jmp 0x1001698d
mov esi, 0x23a4e5e
jmp 0x10016921
push dword [esp + 0x48]
mov ecx, ebp
push dword [esp + 0x8c]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x98]
call fcn.1000ce30
add esp, 0xc
mov esi, 0xa3d6cb9
jmp 0x1001698d
cmp esi, 0x8b5bd62
je 0x10016b7c
cmp esi, 0x8e189f6
je 0x10016b64
cmp esi, 0xa3d6cb9
je 0x10016bbc
cmp esi, 0xdd080cd
jne 0x10016bab
push dword [edi]
mov edx, dword [esp + 0xc0]
push dword [esp + 0x54]
push dword [esp + 0x24]
mov ecx, dword [esp + 0xa0]
call fcn.100188bf
mov ecx, dword [esp + 0x48]
add esp, 0xc
test eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x68]
mov esi, 0x8e189f6
mov edx, 0x24f9e1f
cmovne esi, edx
jmp 0x10016921
add edi, 0x2c
cmp edi, eax
sbb esi, esi
and esi, 0x5df4d14
add esi, 0x7f133b9
jmp 0x10016921
push dword [esp + 0x24]
push ecx
push dword [esp + 0x48]
push dword [esp + 0xa8]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x3c]
push ebp
call fcn.1001131c
add esp, 0x14
mov esi, 0x7f133b9
mov ecx, dword [esp + 0x3c]
mov edx, 0x24f9e1f
cmp esi, 0x937a2bc
je 0x10016bdc
mov eax, dword [esp + 0x68]
jmp 0x10016921
push dword [esp + 0x34]
mov ecx, ebx
push dword [esp + 0x74]
push dword [esp + 0x80]
mov edx, dword [esp + 0x8c]
call fcn.1000ce30
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret