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

Disassembly:
sub esp, 0xc8
push ebx
push ebp
push esi
push edi
push dword [esp + 0xe0]
mov eax, ecx
push dword [esp + 0xe0]
mov dword [esp + 0xc0], eax
push edx
push eax
call fcn.0028621e
mov dword [esp + 0xd8], 0x2b031f
lea edi, [esp + 0xdc]
xor eax, eax
add esp, 0x10
stosd dword es:[edi], eax
xor edx, edx
xor ebx, ebx
mov esi, 0x20249965
mov ebp, ebx
push 0x31
stosd dword es:[edi], eax
pop ecx
push 0xb
stosd dword es:[edi], eax
mov dword [esp + 0x14], 0xfcd4
xor dword [esp + 0x14], 0x190c85a9
add dword [esp + 0x14], 0xffff0b68
mov eax, dword [esp + 0x14]
div ecx
xor edx, edx
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x82b21f
mov dword [esp + 0xb0], 0x9d2c
add dword [esp + 0xb0], 0xffff8784
xor dword [esp + 0xb0], 0x5334
mov dword [esp + 0x98], 0x35de
or dword [esp + 0x98], 0xbbac7f64
xor dword [esp + 0x98], 0xbbac5f77
mov dword [esp + 0x3c], 0x5331
imul eax, dword [esp + 0x3c], 0x51
pop ecx
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0xd6c022f4
shl dword [esp + 0x38], 0xe
xor dword [esp + 0x38], 0x9c1d17d9
mov dword [esp + 0x70], 0x43e1
imul eax, dword [esp + 0x70], 0x7d
mov dword [esp + 0x70], eax
add dword [esp + 0x70], 0xa218
xor dword [esp + 0x70], 0x21f6ad
mov dword [esp + 0x30], 0x4503
shl dword [esp + 0x30], 2
shr dword [esp + 0x30], 6
or dword [esp + 0x30], 0x4d15e60d
xor dword [esp + 0x30], 0x4d15df8b
mov dword [esp + 0x34], 0x74d7
or dword [esp + 0x34], 0x105ab796
shl dword [esp + 0x34], 0xa
xor dword [esp + 0x34], 0xc506604d
xor dword [esp + 0x34], 0xaed924f1
mov dword [esp + 0x74], 0x6d24
mov eax, dword [esp + 0x74]
div ecx
mov dword [esp + 0x74], eax
add dword [esp + 0x74], 0x47b7
xor dword [esp + 0x74], 0x1984
mov dword [esp + 0x1c], 0x3752
shr dword [esp + 0x1c], 0xd
shl dword [esp + 0x1c], 7
xor dword [esp + 0x1c], 0x4bca7b62
xor dword [esp + 0x1c], 0x4bca6fc3
mov dword [esp + 0x3c], 0x25c9
imul eax, dword [esp + 0x3c], 0x2b
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x4d00d794
add dword [esp + 0x3c], 0xf5ea
xor dword [esp + 0x3c], 0x4d07d2e9
mov dword [esp + 0xb4], 0x2443
or dword [esp + 0xb4], 0x236ce4cd
xor dword [esp + 0xb4], 0x236ca22e
mov dword [esp + 0x54], 0x83e7
xor edx, edx
imul eax, dword [esp + 0x54], 0x4b
push 0x70
pop ecx
push 0x19
mov dword [esp + 0x58], eax
shl dword [esp + 0x58], 0xc
xor dword [esp + 0x58], 0x6a4afedc
mov dword [esp + 0x88], 0x6783
imul eax, dword [esp + 0x88], 0xc
mov dword [esp + 0x88], eax
xor dword [esp + 0x88], 0x4957a
mov dword [esp + 0x18], 0x229d
or dword [esp + 0x18], 0x814a9294
shl dword [esp + 0x18], 9
shl dword [esp + 0x18], 0xf
xor dword [esp + 0x18], 0x9d0050ad
mov dword [esp + 0xb4], 0x2d97
imul eax, dword [esp + 0xb4], 0x1e
mov dword [esp + 0xb4], eax
xor dword [esp + 0xb4], 0x51d57
mov dword [esp + 0x64], 0x3c05
add dword [esp + 0x64], 0xffffa924
mov eax, dword [esp + 0x64]
div ecx
xor edx, edx
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x2490b3c
mov dword [esp + 0x60], 0xc7e0
imul eax, dword [esp + 0x60], 0x4d
pop ecx
push 0x63
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
div ecx
xor edx, edx
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x26604
mov dword [esp + 0x90], 0x7a86
mov eax, dword [esp + 0x90]
pop ecx
div ecx
push 0x78
mov dword [esp + 0x90], eax
xor edx, edx
xor dword [esp + 0x90], 0x65b1
mov dword [esp + 0x48], 0x88a8
add dword [esp + 0x48], 0x20d1
imul eax, dword [esp + 0x48], 0x48
pop ecx
mov dword [esp + 0x44], eax
shl dword [esp + 0x44], 9
xor dword [esp + 0x44], 0x5f5403e0
mov dword [esp + 0x24], 0x3051
add dword [esp + 0x24], 0x7540
shr dword [esp + 0x24], 9
add dword [esp + 0x24], 0xffff2307
xor dword [esp + 0x24], 0xffff142a
mov dword [esp + 0x6c], 0x8988
xor dword [esp + 0x6c], 0x987ec90e
shr dword [esp + 0x6c], 0xb
xor dword [esp + 0x6c], 0x13669a
mov dword [esp + 0x7c], 0x3165
imul eax, dword [esp + 0x7c], 0x5f
mov dword [esp + 0x7c], eax
xor dword [esp + 0x7c], 0x123eaf
mov dword [esp + 0x18], 0x5e91
xor dword [esp + 0x18], 0x9cdb4e8c
imul eax, dword [esp + 0x18], 0x1d
mov dword [esp + 0x18], eax
add dword [esp + 0x18], 0xfffff288
xor dword [esp + 0x18], 0xc4d09640
mov dword [esp + 0xa8], 0xb57d
shl dword [esp + 0xa8], 2
xor dword [esp + 0xa8], 0x2c62f
mov dword [esp + 0x64], 0x3358
mov eax, dword [esp + 0x64]
div ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
xor edx, edx
push 0x3f
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x1603
mov dword [esp + 0x9c], 0x8a98
add dword [esp + 0x9c], 0xffff3c65
xor dword [esp + 0x9c], 0xffff89ce
mov dword [esp + 0x80], 0x6211
add dword [esp + 0x80], 0xfffff2c3
xor dword [esp + 0x80], 0x1de7
mov dword [esp + 0x58], 0x41b8
shr dword [esp + 0x58], 1
add dword [esp + 0x58], 0xffff6af9
xor dword [esp + 0x58], 0xfffffe8c
mov dword [esp + 0xa4], 0xc862
or dword [esp + 0xa4], 0x3cd3702e
xor dword [esp + 0xa4], 0x3cd39ac8
mov dword [esp + 0x20], 0x9e6b
add dword [esp + 0x20], 0x8502
add dword [esp + 0x20], 0xfffffd0d
or dword [esp + 0x20], 0x9d8e0101
xor dword [esp + 0x20], 0x9d8f7433
mov dword [esp + 0x68], 0xece8
mov eax, dword [esp + 0x68]
push 0x36
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x68], eax
or dword [esp + 0x68], 0x6ba114
xor dword [esp + 0x68], 0x6ba8c8
mov dword [esp + 0x4c], 0x9e3a
shl dword [esp + 0x4c], 0xa
shr dword [esp + 0x4c], 0x10
xor dword [esp + 0x4c], 0x4a42
mov dword [esp + 0x88], 0xdb1b
or dword [esp + 0x88], 0xd99f0b08
xor dword [esp + 0x88], 0xd99f99ca
mov dword [esp + 0x40], 8
imul eax, dword [esp + 0x40], 0x18
push 0x69
pop ecx
push 0x1f
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0xc0f4996d
xor dword [esp + 0x44], 0xbf6e7c38
xor dword [esp + 0x44], 0x7f9accba
mov dword [esp + 0x94], 0x2469
add dword [esp + 0x94], 0xffff5fa4
xor dword [esp + 0x94], 0xffffb223
mov dword [esp + 0xa4], 0x46b7
add dword [esp + 0xa4], 0x98cb
xor dword [esp + 0xa4], 0xe957
mov dword [esp + 0x9c], 0x8961
mov eax, dword [esp + 0x9c]
div ecx
xor edx, edx
mov dword [esp + 0x9c], eax
xor dword [esp + 0x9c], 0x7c6a
mov dword [esp + 0x54], 0xbfcd
add dword [esp + 0x54], 0x7a4c
or dword [esp + 0x54], 0xe027540f
xor dword [esp + 0x54], 0xe0277e1e
mov dword [esp + 0x2c], 0xd45a
add dword [esp + 0x2c], 0xffffe0e4
xor dword [esp + 0x2c], 0x3152d3ae
add dword [esp + 0x2c], 0xffffe469
xor dword [esp + 0x2c], 0x31524af8
mov dword [esp + 0x30], 0x2e55
mov eax, dword [esp + 0x30]
div ecx
xor edx, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
pop ecx
div ecx
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x2c], 0x21
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x62
mov eax, dword [esp + 0x78]
mov edx, 0x2e3b3d09
mov ecx, dword [esp + 0x48]
cmp esi, edx
jg 0x288bae
je 0x288b4b
cmp esi, 0x3b58768
je 0x288b33
cmp esi, 0x7b9b427
je 0x288aff
cmp esi, 0xeda1c85
je 0x288abc
cmp esi, 0x20249965
je 0x288ab2
mov eax, 0x28b6130d
cmp esi, eax
jne 0x288c4c
push dword [esp + 0x60]
lea eax, [esp + 0xc8]
push dword [esp + 0xb4]
push dword [esp + 0x1c]
push ecx
push dword [esp + 0x94]
push ecx
push ecx
push dword [esp + 0x70]
push eax
push dword [esp + 0xd8]
lea eax, [esp + 0xe4]
push dword [esp + 0x64]
push ecx
push dword [esp + 0x10c]
push ecx
push dword [esp + 0x54]
push dword [esp + 0xb0]
mov edx, dword [esp + 0x74]
push ebx
push eax
call fcn.002931e5
add esp, 0x48
test eax, eax
je 0x288bf6
mov eax, dword [esp + 0x8c]
mov eax, dword [esp + 0x5c]
call fcn.00296fac
and eax, 0x1f
mov esi, 0xeda1c85
imul edi, eax, 0x2c
imul eax, dword [esp + 0xbc], 0x2c
add edi, ebx
add eax, ebx
cmp edi, eax
mov dword [esp + 0x78], eax
cmovae edi, ebx
jmp 0x2889c8
mov esi, 0x7b9b427
jmp 0x2889d1
push dword [esp + 0x7c]
mov ecx, dword [esp + 0xe0]
push dword [esp + 0x70]
push dword [edi]
push dword [esp + 0x30]
push dword [esp + 0x54]
mov edx, dword [esp + 0x40]
call fcn.00288e14
mov ecx, eax
add esp, 0x14
mov eax, dword [esp + 0x78]
test ecx, ecx
mov esi, 0x3b58768
mov dword [esp + 0x48], ecx
mov edx, 0x2e3b3d09
cmovne esi, edx
jmp 0x2889d1
mov eax, dword [esp + 0x94]
mov edx, 0x20000
mov eax, dword [esp + 0xac]
mov eax, dword [esp + 0x10]
push ecx
push ecx
call fcn.00287d07
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x288c72
mov esi, 0x3b73a3d9
jmp 0x2889c4
add edi, 0x2c
cmp edi, eax
sbb esi, esi
and esi, 0xd7654c32
add esi, 0x3774d053
jmp 0x2889d1
push ecx
push ecx
push dword [esp + 0xa4]
lea eax, [esp + 0xcc]
push dword [esp + 0x70]
push eax
push ebp
push dword [esp + 0xc0]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x34]
call fcn.0029819e
push dword [esp + 0x64]
test eax, eax
mov esi, 0x3b58768
push dword [esp + 0x40]
mov eax, 0x3b9a6e50
push dword [esp + 0xc8]
mov edx, dword [esp + 0x80]
cmovne esi, eax
mov ecx, dword [esp + 0xa8]
call fcn.00288d09
add esp, 0x28
jmp 0x288c47
cmp esi, 0x3774d053
je 0x288c30
cmp esi, 0x3afafbd8
je 0x288c5d
cmp esi, 0x3b73a3d9
je 0x288c00
mov eax, 0x3b9a6e50
cmp esi, eax
jne 0x288c4c
push dword [esp + 0x88]
mov ecx, dword [esp + 0xbc]
push dword [esp + 0x50]
push ebp
push dword [esp + 0x34]
mov edx, dword [esp + 0x78]
call fcn.00283774
add esp, 0x10
mov esi, 0x3774d053
jmp 0x2889c4
mov eax, dword [esp + 0x30]
mov edx, 0x2000
mov eax, dword [esp + 0x70]
mov eax, dword [esp + 0x38]
push ecx
push ecx
call fcn.00287d07
mov ebp, eax
mov esi, 0x3afafbd8
test ebp, ebp
mov eax, 0x28b6130d
pop ecx
pop ecx
cmovne esi, eax
jmp 0x2889c4
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x40]
push ebp
call fcn.00299b59
pop ecx
mov esi, 0x3afafbd8
mov edx, 0x2e3b3d09
cmp esi, 0xa9bd3de
je 0x288c72
mov eax, dword [esp + 0x78]
jmp 0x2889cd
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0xa0]
push ebx
call fcn.00299b59
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc8
ret