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

Disassembly:
sub esp, 0x25c
mov dword [esp + 0x24], 0xa25d52
xor edx, edx
shl dword [esp + 0x24], 5
mov ecx, 0xadec1a
shr dword [esp + 0x24], 5
xor dword [esp + 0x24], 0xa25d4e
mov dword [esp + 0x2c], 0x2e7f2a
shr dword [esp + 0x2c], 8
add dword [esp + 0x2c], 0xeff2
xor dword [esp + 0x2c], 0x11e58
mov dword [esp + 0x40], 0x17ae02
add dword [esp + 0x40], 0xea57
xor dword [esp + 0x40], 0x179866
mov dword [esp + 0x3c], 0x461107
shl dword [esp + 0x3c], 8
xor dword [esp + 0x3c], 0x461f7239
mov dword [esp + 4], 0x5d6a28
mov eax, dword [esp + 4]
push ebx
push ebp
push esi
push edi
push 0x3f
pop edi
div edi
push 0x1f
mov dword [esp + 0x18], eax
xor edx, edx
shr dword [esp + 0x18], 1
xor esi, esi
imul eax, dword [esp + 0x18], 0x7e
pop edi
push 0x67
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x5ff2a1
mov dword [esp + 0x48], 0xb2a23f
shr dword [esp + 0x48], 0xb
add dword [esp + 0x48], 0x9894
xor dword [esp + 0x48], 0xb64b7
mov dword [esp + 0x14], 0x6cfcf1
imul eax, dword [esp + 0x14], 0x3c
mov dword [esp + 0x14], eax
imul eax, dword [esp + 0x14], 0x55
mov dword [esp + 0x14], eax
shl dword [esp + 0x14], 6
xor dword [esp + 0x14], 0xcfc462bd
mov dword [esp + 0x1c], 0xc91874
or dword [esp + 0x1c], 0xe43e51a0
shr dword [esp + 0x1c], 0xb
shr dword [esp + 0x1c], 0xf
xor dword [esp + 0x1c], 0x15307
mov dword [esp + 0x58], 0xd76930
add dword [esp + 0x58], 0x5157
xor dword [esp + 0x58], 0xda94d8
mov dword [esp + 0x30], 0xbb641a
xor dword [esp + 0x30], 0xa2396b38
or dword [esp + 0x30], 0x651ddf60
add dword [esp + 0x30], 0xffff7432
xor dword [esp + 0x30], 0xe79022de
mov dword [esp + 0x5c], 0x1e254e
xor dword [esp + 0x5c], 0x181efa4e
xor dword [esp + 0x5c], 0x180eb6a5
mov dword [esp + 0x20], 0xed8fd1
mov eax, dword [esp + 0x20]
div edi
xor edx, edx
mov dword [esp + 0x20], eax
shl dword [esp + 0x20], 0xc
shr dword [esp + 0x20], 6
xor dword [esp + 0x20], 0x1e6db9b
mov dword [esp + 0x60], 0xde719f
add dword [esp + 0x60], 0xc241
xor dword [esp + 0x60], 0xdc2615
mov dword [esp + 0x28], 0x15a7eb
shl dword [esp + 0x28], 0xf
mov eax, dword [esp + 0x28]
pop edi
div edi
mov dword [esp + 0x24], eax
shl dword [esp + 0x24], 6
xor dword [esp + 0x24], 0x83bb7963
mov dword [esp + 0x28], 0xfb43c7
mov ebx, 0x8aedab8
or dword [esp + 0x28], 0x7fbd3ae7
mov ebp, 0xa4a05
xor dword [esp + 0x28], 0x67bab5f8
xor dword [esp + 0x28], 0x18410744
mov dword [esp + 0x40], 0xbe8a3f
imul eax, dword [esp + 0x40], 0x29
mov edi, dword [esp + 0x60]
mov dword [esp + 0x40], eax
shr dword [esp + 0x40], 1
xor dword [esp + 0x40], 0xf4d00e7
mov dword [esp + 0x38], 0xe5745d
add dword [esp + 0x38], 0xffff2516
shr dword [esp + 0x38], 7
xor dword [esp + 0x38], 0xde1f7
mov dword [esp + 0x20], 0xbe4664
imul eax, dword [esp + 0x20], 0x68
mov dword [esp + 0x20], eax
or dword [esp + 0x20], 0xca4f051e
shr dword [esp + 0x20], 4
xor dword [esp + 0x20], 0xcfd8858
mov dword [esp + 0x30], 0x41d9a9
add dword [esp + 0x30], 0x642c
imul eax, dword [esp + 0x30], 0x22
mov dword [esp + 0x30], eax
or dword [esp + 0x30], 0x21107530
xor dword [esp + 0x30], 0x29d0ff29
mov dword [esp + 0x48], 0x821fcf
imul eax, dword [esp + 0x48], 0x3e
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0x6d09fea3
xor dword [esp + 0x48], 0x728aa922
cmp ecx, ebx
jg 0x100159f6
je 0x100159b3
cmp ecx, ebp
je 0x100159a7
cmp ecx, 0xadec1a
je 0x10015987
cmp ecx, 0x1d302b7
je 0x10015a74
cmp ecx, 0x62f4efd
jne 0x10015a66
mov eax, dword [esp + 0x3c]
mov ecx, 0xf2ba37a
mov dword [esp + 0x60], eax
jmp 0x1001594a
mov eax, dword [esp + 0x14]
mov edx, 0x44c
mov eax, dword [esp + 0x4c]
push ecx
call fcn.10016f53
pop ecx
mov dword [0x10025bd8], eax
mov ecx, 0xfe64653
jmp 0x1001594a
mov eax, dword [esp + 0x34]
mov dword [esp + 0x60], eax
mov ecx, ebx
jmp 0x1001594a
push ecx
push dword [esp + 0x28]
push dword [esp + 0x64]
mov eax, dword [0x10025bd8]
add eax, 0x238
push eax
push ecx
push ecx
push dword [esp + 0x34]
push dword [esp + 0x74]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
call fcn.1000e259
add esp, 0x20
mov ecx, 0xbed348a
test eax, eax
push 1
pop eax
cmove esi, eax
jmp 0x1001594a
cmp ecx, 0xbed348a
je 0x10015a5c
cmp ecx, 0xf2ba37a
je 0x10015a47
cmp ecx, 0xfe64653
jne 0x10015a66
push dword [esp + 0x10]
push dword [esp + 0x54]
push dword [esp + 0x4c]
call fcn.10023231
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10015a40
mov eax, dword [0x10025bd8]
xor ecx, ecx
inc ecx
mov dword [eax + 0x444], ecx
mov ecx, 0x62f4efd
jmp 0x1001594a
mov ecx, ebp
jmp 0x1001594a
push dword [esp + 0x54]
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.10007cc1
pop ecx
jmp 0x100159af
call fcn.10021987
mov ecx, 0x1d302b7
cmp ecx, 0x5333664
jne 0x1001594a
jmp 0x10015aab
push dword [esp + 0x20]
lea eax, [esp + 0x68]
push dword [esp + 0x3c]
push dword [esp + 0x48]
mov edx, dword [esp + 0x34]
push eax
call fcn.100024aa
push dword [esp + 0x58]
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x78]
call fcn.10009113
mov ecx, dword [0x10025bd8]
add esp, 0x14
mov dword [ecx + 0x1c], eax
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x25c
ret