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

Disassembly:
sub esp, 0x13c
mov eax, dword [esp + 0x148]
push ebx
mov ebx, dword [esp + 0x160]
push ebp
push esi
push edi
push ebx
push dword [esp + 0x16c]
movzx eax, ax
push dword [esp + 0x16c]
mov dword [esp + 0x148], ecx
push dword [esp + 0x16c]
push dword [esp + 0x16c]
push eax
push dword [esp + 0x16c]
push dword [esp + 0x16c]
push edx
push ecx
call fcn.1001878c
mov dword [esp + 0x16c], 0x583ce9
xor eax, eax
mov dword [esp + 0x170], eax
add esp, 0x28
mov dword [esp + 0x134], eax
mov ecx, eax
mov dword [esp + 0xc0], 0xad16
mov ebp, eax
or dword [esp + 0xc0], 0x555fd697
xor edx, edx
xor dword [esp + 0xc0], 0x2f7787b8
mov esi, 0x25892389
xor dword [esp + 0xc0], 0x7a28782f
mov dword [esp + 0x20], 0x7eb5
add dword [esp + 0x20], 0xfffff63d
add dword [esp + 0x20], 0xffff0078
or dword [esp + 0x20], 0x4797881a
xor dword [esp + 0x20], 0xfffffd69
mov dword [esp + 0x88], 0x78bf
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x88]
push 0x18
pop edi
div edi
push 0x71
mov dword [esp + 0x8c], eax
xor edx, edx
mov eax, dword [esp + 0x8c]
pop edi
div edi
push 0x42
mov dword [esp + 0x8c], eax
xor edx, edx
xor dword [esp + 0x8c], 0xc3
mov dword [esp + 0x68], 0x1d52
shr dword [esp + 0x68], 2
add dword [esp + 0x68], 0xa5b0
mov eax, dword [esp + 0x68]
pop edi
div edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x829f
mov dword [esp + 0x3c], 0x1010
add dword [esp + 0x3c], 0xa1d3
imul eax, dword [esp + 0x3c], 0x4d
mov dword [esp + 0x3c], eax
shr dword [esp + 0x3c], 7
xor dword [esp + 0x3c], 0x2b02
mov dword [esp + 0x100], 0xd02c
shl dword [esp + 0x100], 0xb
xor dword [esp + 0x100], 0x6c16000
mov dword [esp + 0xdc], 0x3e7a
shl dword [esp + 0xdc], 0xf
add dword [esp + 0xdc], 0x6fd2
xor dword [esp + 0xdc], 0x1f396fd2
mov dword [esp + 0x54], 0x6540
or dword [esp + 0x54], 0xabd80c30
add dword [esp + 0x54], 0x2f33
xor dword [esp + 0x54], 0x5dee4f13
xor dword [esp + 0x54], 0xf236d3b0
mov dword [esp + 0x34], 0x1dad
add dword [esp + 0x34], 0x750f
xor edx, edx
add dword [esp + 0x34], 0xffffd67c
shl dword [esp + 0x34], 1
xor dword [esp + 0x34], 0x8d270
mov dword [esp + 0x9c], 0x417e
shr dword [esp + 0x9c], 0xe
shr dword [esp + 0x9c], 5
xor dword [esp + 0x9c], 0x200
mov dword [esp + 0x6c], 0xe381
shl dword [esp + 0x6c], 0xa
shr dword [esp + 0x6c], 5
or dword [esp + 0x6c], 0x19abac4a
xor dword [esp + 0x6c], 0x19bffd6a
mov dword [esp + 0x120], 0x8a1
add dword [esp + 0x120], 0xffff0079
xor dword [esp + 0x120], 0x7fff091a
mov dword [esp + 0x30], 0x1ee0
xor dword [esp + 0x30], 0x4b30d2e7
imul eax, dword [esp + 0x30], 0xf
push 0x50
pop edi
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0x61762d3d
xor dword [esp + 0x30], 0x6add954
mov dword [esp + 0x12c], 0x6f09
shl dword [esp + 0x12c], 4
xor dword [esp + 0x12c], 0x6f093
mov dword [esp + 0x38], 0x6d37
or dword [esp + 0x38], 0xbc9f258d
mov eax, dword [esp + 0x38]
div edi
mov dword [esp + 0x38], eax
shl dword [esp + 0x38], 0xb
xor dword [esp + 0x38], 0xdcbe36a5
mov dword [esp + 0xfc], 0x60dd
add dword [esp + 0xfc], 0xd81c
xor dword [esp + 0xfc], 0x15f59
mov dword [esp + 0x48], 0x684a
shr dword [esp + 0x48], 8
xor dword [esp + 0x48], 0xb6528adf
or dword [esp + 0x48], 0x494b1842
xor dword [esp + 0x48], 0xff5b9ae8
mov dword [esp + 0x40], 0xd38d
imul eax, dword [esp + 0x40], 0x3f
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0xb4057afc
imul eax, dword [esp + 0x40], 0x61
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0x46bd0f38
mov dword [esp + 0x78], 0x72c
or dword [esp + 0x78], 0xf1e32cea
shr dword [esp + 0x78], 4
xor dword [esp + 0x78], 0xf1e0789
mov dword [esp + 0x104], 0xb41c
or dword [esp + 0x104], 0x354d258a
xor dword [esp + 0x104], 0x354d8014
mov dword [esp + 0xd0], 0x3806
imul eax, dword [esp + 0xd0], 0x25
mov dword [esp + 0xd0], eax
imul eax, dword [esp + 0xd0], 0xd
mov dword [esp + 0xd0], eax
xor dword [esp + 0xd0], 0x692bc5
mov dword [esp + 0xc8], 0xfc29
shl dword [esp + 0xc8], 6
shr dword [esp + 0xc8], 0xe
xor dword [esp + 0xc8], 0x65a9
mov dword [esp + 0x58], 0xd58f
add dword [esp + 0x58], 0xffff2098
add dword [esp + 0x58], 0xffff7f58
imul eax, dword [esp + 0x58], 0x5d
mov dword [esp + 0x58], eax
xor dword [esp + 0x58], 0xffcdc61c
mov dword [esp + 0x50], 0xe6a
or dword [esp + 0x50], 0x4f5f9b59
xor dword [esp + 0x50], 0xd722ed3f
xor dword [esp + 0x50], 0x478c9a98
xor dword [esp + 0x50], 0xdff1ee91
mov dword [esp + 0x114], 0x4a89
shl dword [esp + 0x114], 3
xor dword [esp + 0x114], 0x25781
mov dword [esp + 0x10c], 0x976c
xor edx, edx
shl dword [esp + 0x10c], 4
xor dword [esp + 0x10c], 0x949b8
mov dword [esp + 0xf4], 0x34ae
shr dword [esp + 0xf4], 8
xor dword [esp + 0xf4], 0x3d4a
mov dword [esp + 0x98], 0xbf07
imul eax, dword [esp + 0x98], 0x5d
push 0x57
pop edi
push 0x4e
mov dword [esp + 0x9c], eax
or dword [esp + 0x9c], 0x9efaacd3
xor dword [esp + 0x9c], 0x9effad20
mov dword [esp + 0x2c], 0xa8d8
imul eax, dword [esp + 0x2c], 0x4b
mov dword [esp + 0x2c], eax
add dword [esp + 0x2c], 0xc172
or dword [esp + 0x2c], 0x7fda690d
xor dword [esp + 0x2c], 0x7ffa31cb
mov dword [esp + 0xf0], 0x5e54
shr dword [esp + 0xf0], 6
xor dword [esp + 0xf0], 0x34c1
mov dword [esp + 0x94], 0xf675
xor dword [esp + 0x94], 0x7b1fe4ea
mov eax, dword [esp + 0x94]
div edi
xor edx, edx
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0x16a786d
mov dword [esp + 0xbc], 0x3e80
or dword [esp + 0xbc], 0x1ab31455
shl dword [esp + 0xbc], 0x10
xor dword [esp + 0xbc], 0x3ed53818
mov dword [esp + 0xb4], 0xa6a
add dword [esp + 0xb4], 0xa0a9
add dword [esp + 0xb4], 0xffff2736
xor dword [esp + 0xb4], 0xffffd082
mov dword [esp + 0xac], 0x310e
shl dword [esp + 0xac], 0xe
shl dword [esp + 0xac], 0xa
xor dword [esp + 0xac], 0xe000421
mov dword [esp + 0xa4], 0x2936
shl dword [esp + 0xa4], 7
add dword [esp + 0xa4], 0xf70e
xor dword [esp + 0xa4], 0x15e7e6
mov dword [esp + 0x50], 0xa47e
add dword [esp + 0x50], 0x19c
shr dword [esp + 0x50], 0xe
mov eax, dword [esp + 0x50]
pop edi
div edi
mov dword [esp + 0x4c], eax
xor dword [esp + 0x4c], 0x2858
mov dword [esp + 0xcc], 0x994e
shr dword [esp + 0xcc], 4
shl dword [esp + 0xcc], 0xe
xor dword [esp + 0xcc], 0x2654ef8
mov dword [esp + 0x8c], 0xbea6
xor dword [esp + 0x8c], 0x5a1b9e43
shr dword [esp + 0x8c], 6
xor dword [esp + 0x8c], 0x1683e99
mov dword [esp + 0x24], 0xdd28
imul eax, dword [esp + 0x24], 0x70
mov dword [esp + 0x24], eax
add dword [esp + 0x24], 0xafb5
imul eax, dword [esp + 0x24], 0x4a
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0x1c2ae579
mov dword [esp + 0xb4], 0xdcbf
imul eax, dword [esp + 0xb4], 0x5c
mov dword [esp + 0xb4], eax
shr dword [esp + 0xb4], 1
xor dword [esp + 0xb4], 0x27ddb4
mov dword [esp + 0x5c], 0xfade
xor dword [esp + 0x5c], 0x4d92b6c4
xor dword [esp + 0x5c], 0xcaafc244
or dword [esp + 0x5c], 0x31e719ec
xor dword [esp + 0x5c], 0xb7ffb37a
mov dword [esp + 0x44], 0x28a
xor dword [esp + 0x44], 0x4da1dd22
xor edx, edx
mov eax, dword [esp + 0x44]
push 3
pop edi
div edi
push 0x73
mov dword [esp + 0x48], eax
xor edx, edx
imul eax, dword [esp + 0x48], 6
pop edi
push 0x1e
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0x9b43e6ea
mov dword [esp + 0xf4], 0x36b5
or dword [esp + 0xf4], 0xba462576
xor dword [esp + 0xf4], 0xba467445
mov dword [esp + 0xfc], 0xedf4
mov eax, dword [esp + 0xfc]
div edi
xor edx, edx
mov dword [esp + 0xfc], eax
xor dword [esp + 0xfc], 0x3c09
mov dword [esp + 0xc0], 0x51e1
shl dword [esp + 0xc0], 0xe
add dword [esp + 0xc0], 0xa393
xor dword [esp + 0xc0], 0x1478f45e
mov dword [esp + 0x98], 0x5a10
shr dword [esp + 0x98], 5
or dword [esp + 0x98], 0x1e1b91bd
xor dword [esp + 0x98], 0x1e1ba669
mov dword [esp + 0x30], 0xf9e6
mov eax, dword [esp + 0x30]
pop edi
div edi
push 3
mov dword [esp + 0x30], eax
xor edx, edx
mov eax, dword [esp + 0x30]
pop edi
div edi
push 0x45
mov dword [esp + 0x30], eax
xor edx, edx
mov eax, dword [esp + 0x30]
pop edi
div edi
push 0x6f
mov dword [esp + 0x30], eax
xor edx, edx
xor dword [esp + 0x30], 0x175b
mov dword [esp + 0x78], 0xd398
add dword [esp + 0x78], 0xffff1989
add dword [esp + 0x78], 0xffff1285
xor dword [esp + 0x78], 0xfffef5bc
mov dword [esp + 0x1c], 0x655b
add dword [esp + 0x1c], 0xffff7e48
shr dword [esp + 0x1c], 0xe
xor dword [esp + 0x1c], 0xee581d4a
xor dword [esp + 0x1c], 0xee5bfd9c
mov dword [esp + 0xc8], 0x84ab
shl dword [esp + 0xc8], 0x10
imul eax, dword [esp + 0xc8], 9
pop edi
mov dword [esp + 0xc4], eax
xor dword [esp + 0xc4], 0xaa037e91
mov dword [esp + 0x108], 0x8def
shr dword [esp + 0x108], 2
xor dword [esp + 0x108], 0x6e9
mov dword [esp + 0xa4], 0x9e4a
or dword [esp + 0xa4], 0xf830c118
add dword [esp + 0xa4], 0xffffcf48
xor dword [esp + 0xa4], 0xf830fde4
mov dword [esp + 0x128], 0xa749
add dword [esp + 0x128], 0xffffd318
xor dword [esp + 0x128], 0x3bcc
mov dword [esp + 0x110], 0x69ce
mov eax, dword [esp + 0x110]
div edi
mov dword [esp + 0x110], eax
xor dword [esp + 0x110], 0x4e5d
mov dword [esp + 0x11c], 0x1c1d
xor edx, edx
shr dword [esp + 0x11c], 7
xor dword [esp + 0x11c], 0x7964
mov dword [esp + 0xd4], 0x7eee
imul eax, dword [esp + 0xd4], 0x2e
push 0x25
pop edi
push 0x4d
mov dword [esp + 0xd8], eax
or dword [esp + 0xd8], 0x4861a6de
xor dword [esp + 0xd8], 0x4877a989
mov dword [esp + 0x20], 0x21a6
add dword [esp + 0x20], 0x17af
or dword [esp + 0x20], 0xf7f5c8f1
shr dword [esp + 0x20], 3
xor dword [esp + 0x20], 0x1efee7b8
mov dword [esp + 0xec], 0xc496
add dword [esp + 0xec], 0xffff73f8
xor dword [esp + 0xec], 0x6b63
mov dword [esp + 0x88], 0x6b07
add dword [esp + 0x88], 0xfffffdc4
add dword [esp + 0x88], 0xd3cd
xor dword [esp + 0x88], 0x172eb
mov dword [esp + 0x128], 0x13d4
shl dword [esp + 0x128], 0x10
xor dword [esp + 0x128], 0x13d417ed
mov dword [esp + 0xe4], 0x6ec0
mov eax, dword [esp + 0xe4]
div edi
xor edx, edx
mov dword [esp + 0xe4], eax
shl dword [esp + 0xe4], 3
xor dword [esp + 0xe4], 0x5412
mov dword [esp + 0x84], 0xb775
mov eax, dword [esp + 0x84]
pop edi
div edi
push 0x6c
mov dword [esp + 0x84], eax
xor edx, edx
imul eax, dword [esp + 0x84], 0x6a
pop edi
push 0x3f
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0x9990
mov dword [esp + 0xdc], 0x9fef
mov eax, dword [esp + 0xdc]
div edi
xor edx, edx
mov dword [esp + 0xdc], eax
add dword [esp + 0xdc], 0xca88
xor dword [esp + 0xdc], 0x935e
mov dword [esp + 0xb0], 0x4217
shl dword [esp + 0xb0], 0x10
or dword [esp + 0xb0], 0x795e81bc
xor dword [esp + 0xb0], 0x7b5feec4
mov dword [esp + 0x6c], 0x15f5
mov eax, dword [esp + 0x6c]
pop edi
div edi
mov dword [esp + 0x68], eax
add dword [esp + 0x68], 0x27c1
xor dword [esp + 0x68], 0x58c8dd5f
xor dword [esp + 0x68], 0x58c8945c
mov dword [esp + 0x60], 0x2df4
shr dword [esp + 0x60], 8
imul eax, dword [esp + 0x60], 0x1c
mov dword [esp + 0x60], eax
or dword [esp + 0x60], 0x1dc13999
xor dword [esp + 0x60], 0x1dc147a6
mov dword [esp + 0x118], 0xd70d
xor dword [esp + 0x118], 0x1df81154
xor dword [esp + 0x118], 0x1df8a692
mov dword [esp + 0xe4], 0x3df6
add dword [esp + 0xe4], 0xffff4325
xor dword [esp + 0xe4], 0xfffff2fb
mov dword [esp + 0x70], 0x2318
xor dword [esp + 0x70], 0xf1d2b51
shr dword [esp + 0x70], 0xd
add dword [esp + 0x70], 0xa910
xor dword [esp + 0x70], 0x12b73
mov edi, dword [esp + 0x13c]
mov dword [esp + 0x7c], 0x9e39
shr dword [esp + 0x7c], 0xa
add dword [esp + 0x7c], 0xffffc634
xor dword [esp + 0x7c], 0xffff8828
mov edx, 0x247dbf53
mov eax, dword [esp + 0x14]
cmp esi, edx
jg 0x10017d18
je 0x10017c01
cmp esi, 0x10833e14
je 0x10017b8f
cmp esi, 0x15b84d59
je 0x10017b72
cmp esi, 0x15d84100
je 0x10017b55
cmp esi, 0x16fd57e4
je 0x10017eb8
cmp esi, 0x2004267a
jne 0x10017eab
test ebx, ebx
je 0x10017b02
mov eax, dword [ebx + 4]
jmp 0x10017b04
xor eax, eax
test ebx, ebx
je 0x10017b0c
mov edx, dword [ebx]
jmp 0x10017b0e
xor edx, edx
push eax
push dword [esp + 0xb0]
push dword [esp + 0xe0]
push dword [esp + 0x148]
push edi
push ecx
push dword [esp + 0x98]
mov ecx, dword [esp + 0xfc]
call fcn.1001c745
add esp, 0x1c
neg eax
sbb esi, esi
and esi, 0x7b198ee
add esi, 0x27bc2f7f
mov ecx, dword [esp + 0x10]
jmp 0x10017aaa
push dword [esp + 0xe4]
mov ecx, dword [esp + 0x11c]
mov edx, eax
call fcn.10004e2b
pop ecx
mov esi, 0x16fd57e4
jmp 0x10017b4c
mov edx, dword [esp + 0x168]
mov ecx, edi
call fcn.10003414
test eax, eax
mov esi, 0x27bc2f7f
push 1
pop eax
cmovne ebp, eax
jmp 0x10017b4c
push dword [esp + 0xf0]
push dword [esp + 0x48]
push dword [esp + 0x160]
push ecx
push dword [esp + 0x140]
push dword [esp + 0x70]
push dword [esp + 0xcc]
push dword [esp + 0x40]
push ecx
push dword [esp + 0x150]
push dword [esp + 0x17c]
push ecx
push dword [esp + 0xbc]
push dword [esp + 0x100]
mov ecx, dword [esp + 0x84]
call fcn.1000b07f
mov ecx, dword [esp + 0x48]
add esp, 0x38
test eax, eax
mov dword [esp + 0x14], eax
mov esi, 0x16fd57e4
mov edx, 0x247dbf53
cmovne esi, edx
jmp 0x10017ab3
test ebx, ebx
je 0x10017c36
push dword [esp + 0x2c]
mov ecx, 0x10001644
push dword [esp + 0x98]
push dword [esp + 0xc4]
mov edx, dword [esp + 0x104]
call fcn.1000c471
mov esi, eax
add esp, 0xc
mov dword [esp + 0x138], esi
jmp 0x10017c3d
mov esi, dword [esp + 0x138]
mov ecx, dword [esp + 0x120]
sub esp, 0xc
or ecx, dword [esp + 0x78]
or ecx, dword [esp + 0xa8]
or ecx, dword [esp + 0x40]
or ecx, dword [esp + 0x60]
or ecx, dword [esp + 0xe8]
or ecx, dword [esp + 0x10c]
or ecx, dword [esp + 0x48]
or ecx, dword [esp + 0x70]
push dword [esp + 0x134]
mov edx, dword [esp + 0x16c]
push dword [esp + 0x24]
push dword [esp + 0xb8]
push dword [esp + 0x120]
push dword [esp + 0xe0]
push dword [esp + 0x38]
push dword [esp + 0x98]
push esi
push ecx
call fcn.10011d15
push dword [esp + 0x4c]
mov edi, eax
push esi
push dword [esp + 0x10c]
mov edx, dword [esp + 0x158]
mov ecx, dword [esp + 0x14c]
call fcn.10007d7b
add esp, 0x3c
test edi, edi
je 0x10017e9c
push ecx
push dword [esp + 0x128]
mov edx, dword [esp + 0x8c]
xor eax, eax
inc eax
push ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x14c]
push eax
push edi
call fcn.1000fcb5
add esp, 0x14
mov dword [esp + 0x140], eax
mov esi, 0x2004267a
jmp 0x10017b4c
cmp esi, 0x25892389
je 0x10017ea6
cmp esi, 0x27bc2f7f
je 0x10017e8c
cmp esi, 0x28dd5313
je 0x10017def
cmp esi, 0x28e249b5
je 0x10017d76
cmp esi, 0x2f6dc86d
jne 0x10017eab
mov edx, dword [esp + 0x20]
mov ecx, edi
call fcn.10011aae
mov ecx, dword [esp + 0x88]
mov esi, 0x27bc2f7f
cmp eax, ecx
mov eax, 0x15b84d59
cmove esi, eax
jmp 0x10017b4c
push ecx
push ecx
push dword [esp + 0x98]
push ecx
push dword [esp + 0xfc]
push dword [esp + 0x3c]
push dword [esp + 0x48]
push dword [esp + 0xb4]
mov edx, dword [esp + 0x114]
call fcn.1000afb5
test eax, eax
mov dword [esp + 0x150], eax
mov eax, 0x10833e14
mov esi, 0x1153912b
cmovne esi, eax
mov eax, dword [esp + 0x30]
push eax
push dword [esp + 0xc4]
push dword [esp + 0xd0]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe4]
call fcn.10003ff4
mov ecx, dword [esp + 0x3c]
add esp, 0x2c
mov edx, 0x247dbf53
jmp 0x10017eab
mov eax, dword [esp + 0xfc]
mov ecx, 0x200
mov eax, dword [esp + 0x38]
push ecx
mov dword [esp + 0x138], ecx
call fcn.1000acad
mov esi, eax
pop ecx
test esi, esi
je 0x10017e82
push dword [esp + 0x40]
lea eax, [esp + 0x138]
mov edx, esi
push dword [esp + 0x4c]
push eax
call fcn.10007317
add esp, 0xc
test eax, eax
jne 0x10017e63
push esi
push ecx
push ecx
push dword [esp + 0xcc]
push dword [esp + 0xd8]
push dword [esp + 0xe4]
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x90]
call fcn.1001d758
add esp, 0x18
mov dword [esp + 0x10], eax
push esi
push dword [esp + 0x110]
push dword [esp + 0x11c]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
call fcn.10003ff4
add esp, 0xc
mov esi, 0x28e249b5
jmp 0x10017b4c
push dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
mov edx, edi
call fcn.10004e2b
pop ecx
mov esi, 0x15d84100
jmp 0x10017b4c
mov esi, 0x28dd5313
cmp esi, 0x1153912b
je 0x10017ecd
jmp 0x10017aaf
push dword [esp + 0x7c]
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x74]
call fcn.10004e2b
pop ecx
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x13c
ret