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

Disassembly:
sub esp, 0x724
push ebx
push ebp
push esi
push edi
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], ecx
mov dword [esp + 0xf4], 0x81a2
imul eax, dword [esp + 0xf4], 0x51
mov dword [esp + 0xf4], eax
mov esi, 0x149dffe6
xor dword [esp + 0xf4], 0x29046b
mov dword [esp + 0x18], 0xa317
mov eax, dword [esp + 0x18]
xor edx, edx
push 0x6d
pop edi
div edi
push 0x12
mov dword [esp + 0x1c], eax
xor edx, edx
or dword [esp + 0x1c], 0xb0bf28c0
shl dword [esp + 0x1c], 8
xor dword [esp + 0x1c], 0xbf29f1c0
mov dword [esp + 0xcc], 0x87c
shl dword [esp + 0xcc], 4
xor dword [esp + 0xcc], 0x8950
mov dword [esp + 0xc0], 0xaf72
xor dword [esp + 0xc0], 0xf8536856
xor dword [esp + 0xc0], 0xf853f78b
mov dword [esp + 0x80], 0x2378
imul eax, dword [esp + 0x80], 0x77
pop ecx
push 0x5c
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0x64312f2b
xor dword [esp + 0x80], 0x642133c7
mov dword [esp + 0x2c], 0xea19
add dword [esp + 0x2c], 0xffff5808
shl dword [esp + 0x2c], 0x10
imul eax, dword [esp + 0x2c], 0x6f
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0xac4f53f6
mov dword [esp + 0x64], 0x9778
shl dword [esp + 0x64], 7
xor dword [esp + 0x64], 0x598ba3f9
add dword [esp + 0x64], 0x8ff6
xor dword [esp + 0x64], 0x59c0ab27
mov dword [esp + 0xb8], 0x881f
shr dword [esp + 0xb8], 0xa
or dword [esp + 0xb8], 0x5b999195
xor dword [esp + 0xb8], 0x5b999b93
mov dword [esp + 0x78], 0x74b1
xor dword [esp + 0x78], 0x6074f824
shr dword [esp + 0x78], 0xd
xor dword [esp + 0x78], 0x31884
mov dword [esp + 0xdc], 0x3039
mov eax, dword [esp + 0xdc]
div ecx
xor edx, edx
mov dword [esp + 0xdc], eax
xor dword [esp + 0xdc], 0x6384
mov dword [esp + 0x70], 0xc64f
mov eax, dword [esp + 0x70]
pop ecx
div ecx
mov dword [esp + 0x6c], eax
or dword [esp + 0x6c], 0xd5a0b868
xor dword [esp + 0x6c], 0xd5a0f550
mov dword [esp + 0x78], 0xb856
add dword [esp + 0x78], 0x47b5
imul eax, dword [esp + 0x78], 0x2a
mov dword [esp + 0x78], eax
xor dword [esp + 0x78], 0x2a3a18
mov dword [esp + 0x14], 0x8351
add dword [esp + 0x14], 0x81f5
add dword [esp + 0x14], 0xe517
shl dword [esp + 0x14], 2
xor dword [esp + 0x14], 0x7a51f
mov dword [esp + 0x68], 0xf66b
add dword [esp + 0x68], 0xffff1308
shl dword [esp + 0x68], 6
xor dword [esp + 0x68], 0x2750a
xor edx, edx
mov dword [esp + 0x34], 0x9fd9
add dword [esp + 0x34], 0x4b8e
add dword [esp + 0x34], 0xffff2f9e
shr dword [esp + 0x34], 0xf
xor dword [esp + 0x34], 0x3a08
mov dword [esp + 0x2c], 0x966c
xor dword [esp + 0x2c], 0x8d45c2e0
xor dword [esp + 0x2c], 0x65a85158
add dword [esp + 0x2c], 0xffff603c
xor dword [esp + 0x2c], 0xe8ec61cf
mov dword [esp + 0x80], 0x4029
mov eax, dword [esp + 0x80]
push 0x60
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0x86a261cb
xor dword [esp + 0x80], 0x86a2059f
mov dword [esp + 0x24], 0xe8e3
mov eax, dword [esp + 0x24]
div edi
push 0x34
mov dword [esp + 0x28], eax
xor edx, edx
add dword [esp + 0x28], 0x483f
xor dword [esp + 0x28], 0xbcef0a4e
xor dword [esp + 0x28], 0xbcef6349
mov dword [esp + 0x20], 0x6f91
add dword [esp + 0x20], 0xffff8468
imul eax, dword [esp + 0x20], 0x33
pop edi
push 0x29
pop ecx
mov dword [esp + 0x1c], eax
shl dword [esp + 0x1c], 7
xor dword [esp + 0x1c], 0xfecd495c
mov dword [esp + 0xcc], 0xa61
shr dword [esp + 0xcc], 0xd
xor dword [esp + 0xcc], 0x4d64
mov dword [esp + 0xc4], 0x609b
add dword [esp + 0xc4], 0xae34
xor dword [esp + 0xc4], 0x12005
mov dword [esp + 0xe4], 0x313f
add dword [esp + 0xe4], 0xf40e
xor dword [esp + 0xe4], 0x1621e
mov dword [esp + 0xa4], 0xad27
xor dword [esp + 0xa4], 0x11741994
xor dword [esp + 0xa4], 0x828bebc7
xor dword [esp + 0xa4], 0x93ff4a0d
mov dword [esp + 0x8c], 0x2eca
shl dword [esp + 0x8c], 3
add dword [esp + 0x8c], 0xffff4fca
xor dword [esp + 0x8c], 0xafdc
mov dword [esp + 0xac], 0xb5e9
mov eax, dword [esp + 0xac]
div edi
xor edx, edx
mov dword [esp + 0xac], eax
or dword [esp + 0xac], 0x3cbbe239
xor dword [esp + 0xac], 0x3cbbda4d
mov dword [esp + 0x54], 0x653d
xor dword [esp + 0x54], 0x5e29d2db
mov eax, dword [esp + 0x54]
div ecx
mov dword [esp + 0x54], eax
imul eax, dword [esp + 0x54], 0x30
mov dword [esp + 0x54], eax
xor dword [esp + 0x54], 0x6e3d0fd3
mov dword [esp + 0x4c], 0xee4d
add dword [esp + 0x4c], 0xffff4943
imul eax, dword [esp + 0x4c], 0x23
mov dword [esp + 0x4c], eax
or dword [esp + 0x4c], 0x6650922d
xor dword [esp + 0x4c], 0x6657f47d
mov dword [esp + 0xe0], 0x4442
shl dword [esp + 0xe0], 0xa
xor dword [esp + 0xe0], 0x1114709
mov dword [esp + 0x5c], 0x70f3
add dword [esp + 0x5c], 0xc573
xor edx, edx
xor dword [esp + 0x5c], 0x8bd692b9
add dword [esp + 0x5c], 0x375f
xor dword [esp + 0x5c], 0x8bd7cab9
mov dword [esp + 0x98], 0x8d49
or dword [esp + 0x98], 0xadf95343
mov eax, dword [esp + 0x98]
push 0x6f
pop ecx
div ecx
push 0x57
mov dword [esp + 0x9c], eax
xor edx, edx
xor dword [esp + 0x9c], 0x1915aad
mov dword [esp + 0xf0], 0x9445
xor dword [esp + 0xf0], 0xfa8556cd
xor dword [esp + 0xf0], 0xfa8587ad
mov dword [esp + 0xfc], 0xa356
xor dword [esp + 0xfc], 0x20e3d0f
xor dword [esp + 0xfc], 0x20eaa39
mov dword [esp + 0xb4], 0x9fc9
shl dword [esp + 0xb4], 1
add dword [esp + 0xb4], 0xffff5705
xor dword [esp + 0xb4], 0x873c
mov dword [esp + 0xac], 0x5aa4
imul eax, dword [esp + 0xac], 0xd
pop ecx
push 0x74
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xac]
div ecx
pop ecx
mov dword [esp + 0xa8], eax
xor edx, edx
xor dword [esp + 0xa8], 0x44cc
mov dword [esp + 0xa0], 0x6a20
shl dword [esp + 0xa0], 5
add dword [esp + 0xa0], 0xffff5b62
xor dword [esp + 0xa0], 0xca81d
mov dword [esp + 0xc0], 0xc97c
shr dword [esp + 0xc0], 5
xor dword [esp + 0xc0], 0x2e12
mov dword [esp + 0x94], 0x481c
shl dword [esp + 0x94], 5
shl dword [esp + 0x94], 0xf
xor dword [esp + 0x94], 0x81c0713e
mov dword [esp + 0x70], 0x6e12
add dword [esp + 0x70], 0x239d
shl dword [esp + 0x70], 0xe
xor dword [esp + 0x70], 0x246bc9a9
mov dword [esp + 0x20], 0x8d84
shl dword [esp + 0x20], 7
xor dword [esp + 0x20], 0x627ea561
add dword [esp + 0x20], 0xffffb69b
xor dword [esp + 0x20], 0x623827c0
mov dword [esp + 0xe8], 0x2459
imul eax, dword [esp + 0xe8], 0x5f
push 0x49
mov dword [esp + 0xec], eax
xor dword [esp + 0xec], 0xd4756
mov dword [esp + 0x44], 0x3738
shr dword [esp + 0x44], 0xf
add dword [esp + 0x44], 0x7756
mov eax, dword [esp + 0x44]
div ecx
pop ecx
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0x4d7c
mov dword [esp + 0xf0], 0xa6e8
shr dword [esp + 0xf0], 0xb
xor dword [esp + 0xf0], 0x7121
mov dword [esp + 0x90], 0x3aaa
imul eax, dword [esp + 0x90], 0x35
mov dword [esp + 0x90], eax
or dword [esp + 0x90], 0x9258fa78
xor dword [esp + 0x90], 0x925ce803
mov dword [esp + 0x44], 0xc1a7
or dword [esp + 0x44], 0xe727275b
xor edx, edx
mov eax, dword [esp + 0x44]
div ecx
xor edx, edx
mov dword [esp + 0x44], eax
or dword [esp + 0x44], 0x34b38de4
xor dword [esp + 0x44], 0x37bb8fe4
mov dword [esp + 0x3c], 0x91c3
mov eax, dword [esp + 0x3c]
push 0x64
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x3c], eax
add dword [esp + 0x3c], 0x788e
mov eax, dword [esp + 0x3c]
div edi
push 0x21
mov dword [esp + 0x40], eax
xor edx, edx
xor dword [esp + 0x40], 0x26f9
mov dword [esp + 0x5c], 0xe29b
shl dword [esp + 0x5c], 5
shr dword [esp + 0x5c], 9
mov eax, dword [esp + 0x5c]
pop ecx
div ecx
push 0x17
mov dword [esp + 0x5c], eax
xor edx, edx
xor dword [esp + 0x5c], 0x4ef7
mov dword [esp + 0x34], 0x179
add dword [esp + 0x34], 0x7a5c
or dword [esp + 0x34], 0xddf9ffa6
xor dword [esp + 0x34], 0xddf99719
mov dword [esp + 0xa0], 0xa45d
mov eax, dword [esp + 0xa0]
pop ecx
div ecx
push 0x4b
mov dword [esp + 0xa0], eax
xor edx, edx
xor dword [esp + 0xa0], 0xa9b19ce5
xor dword [esp + 0xa0], 0xa9b19a72
mov dword [esp + 0x4c], 0x6fb4
shl dword [esp + 0x4c], 9
shr dword [esp + 0x4c], 0xb
shr dword [esp + 0x4c], 4
xor dword [esp + 0x4c], 0x531d
mov dword [esp + 0xd4], 0x1eab
or dword [esp + 0xd4], 0x295ec68a
xor dword [esp + 0xd4], 0x295ec908
mov dword [esp + 0x88], 0x5da6
xor dword [esp + 0x88], 0x5fdaae01
xor dword [esp + 0x88], 0xdf7664b8
xor dword [esp + 0x88], 0x80ac9034
mov dword [esp + 0x54], 0x8aec
mov eax, dword [esp + 0x54]
pop ecx
div ecx
push 0x45
mov dword [esp + 0x54], eax
xor edx, edx
imul eax, dword [esp + 0x54], 0x5a
pop ecx
mov dword [esp + 0x50], eax
imul eax, dword [esp + 0x50], 0x7e
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0x52267c
mov dword [esp + 0x38], 0x22ed
add dword [esp + 0x38], 0xffffcd0d
imul eax, dword [esp + 0x38], 0x72
mov dword [esp + 0x38], eax
shl dword [esp + 0x38], 0xc
xor dword [esp + 0x38], 0x8dd516dd
mov dword [esp + 0x64], 0x24eb
xor dword [esp + 0x64], 0xb5c0f43
xor dword [esp + 0x64], 0xa1a0b70d
mov eax, dword [esp + 0x64]
div ecx
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x27a3009
mov dword [esp + 0xdc], 0x7660
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xdc], eax
xor dword [esp + 0xdc], 0xe09
mov dword [esp + 0xd4], 0x758c
shl dword [esp + 0xd4], 0xa
xor dword [esp + 0xd4], 0x1d672ff
mov dword [esp + 0xb8], 0x7b50
shr dword [esp + 0xb8], 1
shr dword [esp + 0xb8], 3
xor dword [esp + 0xb8], 0x37ef
mov dword [esp + 0x88], 0x99fa
xor dword [esp + 0x88], 0xe57d132d
xor dword [esp + 0x88], 0x77fb962a
xor dword [esp + 0x88], 0x92961cfd
mov eax, dword [esp + 0x18]
call fcn.100145f8
mov edi, dword [esp + 0xfc]
mov ebp, eax
mov ebx, dword [esp + 0xfc]
mov eax, 0x2cd60113
cmp esi, 0x1e5e78f1
jg 0x10013460
je 0x10013418
cmp esi, 0x178ada5
je 0x10013636
cmp esi, 0x2a95541
je 0x100133e9
cmp esi, 0x12daf843
je 0x100133bd
cmp esi, 0x149dffe6
je 0x1001335e
cmp esi, 0x178c8cba
je 0x10013327
cmp esi, 0x1a9938f9
jne 0x10013628
push dword [esp + 0x40]
lea eax, [esp + 0x52c]
push 1
push eax
push ecx
push dword [esp + 0xf8]
push dword [esp + 0x34]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xac]
push 0
push 0
call fcn.100189f6
add esp, 0x20
mov esi, 0x32f46056
jmp 0x1001328e
mov edx, dword [esp + 0xfc]
lea eax, [esp + 0x320]
mov ecx, dword [esp + 0x100]
push eax
push 0x100012f8
call fcn.10002628
neg eax
pop ecx
sbb esi, esi
pop ecx
and esi, 0x16fb7084
add esi, 0x22b4e350
jmp 0x1001328e
mov eax, dword [esp + 0xbc]
mov eax, dword [esp + 0xc8]
push ecx
push 0x24
pop ecx
call fcn.100157e8
mov edi, eax
pop ecx
test edi, edi
je 0x1001364e
push ecx
push dword [esp + 0xf8]
lea eax, [esp + 0x120]
push dword [esp + 0x7c]
push eax
push dword [esp + 0xc4]
push dword [esp + 0x74]
push dword [esp + 0x40]
mov edx, dword [esp + 0x98]
push ecx
call fcn.10001d54
add esp, 0x20
mov esi, 0x178c8cba
jmp 0x1001328e
push dword [esp + 0x48]
push dword [esp + 0x108]
push dword [esp + 0xa4]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x64]
call fcn.100091cd
add esp, 0xc
mov esi, 0x2a95541
jmp 0x1001328e
push dword [esp + 0x38]
push dword [esp + 0x54]
push dword [esp + 0x8c]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x118]
call fcn.100078f0
add esp, 0xc
mov esi, 0x178ada5
jmp 0x1001328e
push dword [esp + 0x108]
push dword [esp + 0xb0]
push dword [esp + 0x94]
push dword [esp + 0xb0]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x114]
call fcn.1000d0de
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov esi, 0x12daf843
mov eax, 0x2cd60113
cmovne esi, eax
jmp 0x10013293
cmp esi, 0x22b4e350
je 0x100135fc
cmp esi, 0x23197851
je 0x100135c3
cmp esi, eax
je 0x1001353c
cmp esi, 0x32f46056
je 0x10013513
cmp esi, 0x39b053d4
jne 0x10013628
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0xd8]
call fcn.10009295
push dword [esp + 0x68]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x7c]
push eax
mov dword [esp + 0x118], eax
call fcn.1001bbab
pop ecx
pop ecx
push dword [esp + 0x1c]
lea eax, [eax*2 + 2]
push dword [esp + 0x28]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x114]
push ebp
push ebp
push ecx
push dword [esp + 0x94]
push ecx
push eax
push ebp
push dword [esp + 0x50]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x5c]
call fcn.1001c353
add esp, 0x28
neg eax
sbb esi, esi
and esi, 0x649501
jmp 0x10013353
push dword [esp + 0x3c]
push ebx
push dword [esp + 0x4c]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0xfc]
call fcn.100091cd
add esp, 0xc
mov esi, 0x12daf843
jmp 0x1001328e
push 0x100013a8
push dword [esp + 0xe4]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
call fcn.1001bf25
push dword [esp + 0x100]
mov esi, eax
lea ecx, [esp + 0x534]
push dword [esp + 0xf8]
lea eax, [esp + 0x128]
mov edx, ebx
push dword [esp + 0xa8]
push eax
lea eax, [esp + 0x338]
push eax
push 0x104
push dword [esp + 0x7c]
push esi
call fcn.100164ec
push esi
push dword [esp + 0xec]
push dword [esp + 0xd0]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe4]
call fcn.1001c5f7
add esp, 0x34
mov esi, 0x1a9938f9
jmp 0x1001328e
push dword [esp + 0xc4]
mov edx, dword [esp + 0xd0]
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x114]
call fcn.10011b71
neg eax
pop ecx
sbb esi, esi
and esi, 0x1bb523b0
pop ecx
add esi, 0x2a95541
jmp 0x1001328e
push dword [esp + 0xb8]
push edi
push dword [esp + 0xdc]
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x70]
call fcn.100091cd
add esp, 0xc
mov esi, 0xf568d32
mov eax, 0x2cd60113
cmp esi, 0xf568d32
jne 0x10013293
jmp 0x1001364e
mov eax, dword [esp + 0x100]
mov dword [edi + 0x20], eax
mov eax, dword [0x10021400]
mov dword [edi + 0x10], eax
mov dword [0x10021400], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x724
ret