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

Disassembly:
sub esp, 0xbc
push ebx
push ebp
push esi
mov esi, dword [esp + 0xd8]
push edi
mov edi, dword [esp + 0xd8]
push esi
push edi
push dword [esp + 0xdc]
push dword [esp + 0xdc]
push edx
push ecx
call fcn.0028621e
and dword [esp + 0xa8], 0
add esp, 0x18
and dword [esp + 0x94], 0
xor edx, edx
mov dword [esp + 0x88], 0x5a24e
mov ecx, 0x30c9553
mov dword [esp + 0x8c], 0x45de8a
mov dword [esp + 0x1c], 0xdfb4
shl dword [esp + 0x1c], 4
shr dword [esp + 0x1c], 7
mov eax, dword [esp + 0x1c]
push 0xa
pop ebx
div ebx
push 0x5e
mov dword [esp + 0x20], eax
xor edx, edx
xor dword [esp + 0x20], 0x19b4
mov dword [esp + 0x44], 0xbe23
imul eax, dword [esp + 0x44], 0x53
pop ebx
push 0x16
mov dword [esp + 0x44], eax
imul eax, dword [esp + 0x44], 0x35
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0xcc36781
mov dword [esp + 0x60], 0xdf26
or dword [esp + 0x60], 0x39c310cb
shr dword [esp + 0x60], 0xa
xor dword [esp + 0x60], 0xe251b
mov dword [esp + 0x1c], 0xa1b8
or dword [esp + 0x1c], 0xfb1679b2
add dword [esp + 0x1c], 0xffffff9f
mov eax, dword [esp + 0x1c]
div ebx
xor edx, edx
mov dword [esp + 0x1c], eax
xor dword [esp + 0x1c], 0x2aba856
mov dword [esp + 0x68], 0x996b
add dword [esp + 0x68], 0xffff1dad
imul eax, dword [esp + 0x68], 0x68
pop ebx
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0xffe222f7
mov dword [esp + 0x10], 0x2520
shr dword [esp + 0x10], 0x10
add dword [esp + 0x10], 0xffff1bb7
shl dword [esp + 0x10], 0x10
xor dword [esp + 0x10], 0x1bb74b47
mov dword [esp + 0x4c], 0xb977
or dword [esp + 0x4c], 0x4f826a43
mov eax, dword [esp + 0x4c]
div ebx
mov dword [esp + 0x4c], eax
xor dword [esp + 0x4c], 0x39d087e
mov dword [esp + 0x70], 0x2501
xor dword [esp + 0x70], 0x3ca6318
xor dword [esp + 0x70], 0x3ca32f9
mov dword [esp + 0x44], 0x42b8
add dword [esp + 0x44], 0xffffed3a
shl dword [esp + 0x44], 5
xor dword [esp + 0x44], 0x5f68f
mov dword [esp + 0x6c], 0x291f
or dword [esp + 0x6c], 0xbce1a2d9
xor dword [esp + 0x6c], 0xbce1c352
mov dword [esp + 0x34], 0xedd3
add dword [esp + 0x34], 0x3002
or dword [esp + 0x34], 0x8b71aa01
xor dword [esp + 0x34], 0x8b71bf1e
xor edx, edx
mov dword [esp + 0x84], 0xf4e4
mov ebp, 0xf723
mov eax, dword [esp + 0x84]
push 0x5f
pop ebx
div ebx
push 0x37
mov dword [esp + 0x88], eax
xor edx, edx
xor dword [esp + 0x88], 0xc78
mov dword [esp + 0x3c], 0x4356
add dword [esp + 0x3c], 0xffffd5ac
imul eax, dword [esp + 0x3c], 0x46
pop ebx
push 0x47
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x6c475
mov dword [esp + 0x28], 0xcb2f
add dword [esp + 0x28], ebp
shr dword [esp + 0x28], 0xe
shr dword [esp + 0x28], 0x10
xor dword [esp + 0x28], 0x2e28
mov dword [esp + 0x58], 0xfd82
add dword [esp + 0x58], 0xe81f
or dword [esp + 0x58], 0x6cc057e0
xor dword [esp + 0x58], 0x6cc192ef
mov dword [esp + 0x54], 0xdb04
mov eax, dword [esp + 0x54]
div ebx
xor edx, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
pop ebx
div ebx
push 0x43
mov dword [esp + 0x54], eax
xor edx, edx
xor dword [esp + 0x54], 0xb39
mov dword [esp + 0x6c], 0x4e23
xor dword [esp + 0x6c], 0xb9a8297f
xor dword [esp + 0x6c], 0xb9a84d4b
mov dword [esp + 0x18], 0x4a37
add dword [esp + 0x18], 0xd794
or dword [esp + 0x18], 0x89d2f415
add dword [esp + 0x18], 0xfffff7ff
xor dword [esp + 0x18], 0x89d39260
mov dword [esp + 0x7c], 0x3d1e
add dword [esp + 0x7c], ebp
xor dword [esp + 0x7c], 0x123be
mov dword [esp + 0x34], 0xe157
add dword [esp + 0x34], 0xbe7d
xor dword [esp + 0x34], 0x3fe6836f
xor dword [esp + 0x34], 0x3fe73c9c
mov dword [esp + 0x84], 0x5035
or dword [esp + 0x84], 0xfc0ef04c
xor dword [esp + 0x84], 0xfc0e80c0
mov dword [esp + 0x2c], 0x903f
imul eax, dword [esp + 0x2c], 0x13
pop ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
div ebx
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x28], 0x60
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0xf06a2
mov dword [esp + 0x20], 0x6d96
shr dword [esp + 0x20], 9
shl dword [esp + 0x20], 6
add dword [esp + 0x20], 0x3df6
xor dword [esp + 0x20], 0x18a9
mov dword [esp + 0x48], 0x8aa4
xor dword [esp + 0x48], 0xaed0ec44
imul eax, dword [esp + 0x48], 5
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0x6a123677
mov dword [esp + 0x60], 0xb39
add dword [esp + 0x60], 0xffff65f5
shr dword [esp + 0x60], 5
xor dword [esp + 0x60], 0x7ffd257
xor edx, edx
mov dword [esp + 0x2c], 0x8b33
mov ebp, 0x237fd4a0
shr dword [esp + 0x2c], 0xf
mov eax, dword [esp + 0x2c]
push 0x22
pop ebx
div ebx
push 0x38
mov dword [esp + 0x30], eax
xor edx, edx
xor dword [esp + 0x30], 0x2102
mov dword [esp + 0x5c], 0x1e87
add dword [esp + 0x5c], 0xffff476c
mov eax, dword [esp + 0x5c]
pop ebx
div ebx
push 0x3f
mov dword [esp + 0x5c], eax
xor edx, edx
xor dword [esp + 0x5c], 0x4927c5f
mov dword [esp + 0x40], 0x3f07
shr dword [esp + 0x40], 0xd
shl dword [esp + 0x40], 0xf
xor dword [esp + 0x40], 0x97dd
mov dword [esp + 0x80], 0x7b03
xor dword [esp + 0x80], 0x54c50ac1
xor dword [esp + 0x80], 0x54c50369
mov dword [esp + 0x78], 0xef9
mov eax, dword [esp + 0x78]
pop ebx
div ebx
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x407a
xor ebx, ebx
cmp ecx, ebp
jg 0x29180a
je 0x2917e3
cmp ecx, 0x24c2039
je 0x2917ba
cmp ecx, 0x30c9553
je 0x2917ab
cmp ecx, 0x6e7eff8
je 0x29191c
cmp ecx, 0x11046b10
je 0x291782
cmp ecx, 0x14eca713
je 0x29176e
cmp ecx, 0x1dc14596
jne 0x29190e
push dword [esp + 0x14]
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esi + 0x10]
call fcn.0028cd39
add esp, 0xc
mov ecx, 0x307d8b85
jmp 0x2916fa
mov ecx, esi
call fcn.00285a60
mov dword [edi + 4], eax
mov ecx, 0x24c2039
jmp 0x2916fa
push dword [esp + 0x54]
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esi + 0xc]
call fcn.0028cd39
add esp, 0xc
mov ecx, 0x1dc14596
jmp 0x2916fa
mov dword [edi], ebx
mov ecx, 0x14eca713
mov dword [edi + 4], ebx
jmp 0x2916fa
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 4]
push ecx
push ecx
call fcn.00287d07
mov dword [edi], eax
pop ecx
pop ecx
test eax, eax
je 0x29193e
mov ecx, ebp
jmp 0x2916fa
push dword [esp + 0x10]
lea edx, [esp + 0x9c]
mov ecx, edi
push dword [esp + 0x68]
push dword [esp + 0x20]
call fcn.00292910
add esp, 0xc
mov ecx, 0x30a5c116
jmp 0x2916fa
cmp ecx, 0x3028b478
je 0x2918e7
cmp ecx, 0x307d8b85
je 0x2918b8
cmp ecx, 0x30a5c116
je 0x291890
cmp ecx, 0x33903050
je 0x291867
cmp ecx, 0x3b3cf68b
jne 0x29190e
push dword [esp + 0x48]
lea eax, [esp + 0x9c]
push dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
lea edx, [esi + 0x18]
push eax
call fcn.00285936
add esp, 0xc
mov ecx, 0x33903050
jmp 0x2916fa
push dword [esp + 0x58]
lea eax, [esp + 0x9c]
push dword [esp + 0x30]
mov ecx, dword [esp + 0x68]
lea edx, [esi + 0x20]
push eax
call fcn.00285936
add esp, 0xc
mov ecx, 0x6e7eff8
jmp 0x2916fa
push dword [esp + 0x44]
lea eax, [esp + 0x9c]
mov edx, esi
push dword [esp + 0x74]
mov ecx, dword [esp + 0x54]
push eax
call fcn.00285936
add esp, 0xc
mov ecx, 0x3028b478
jmp 0x2916fa
push dword [esp + 0x80]
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x38]
mov edx, dword [esp + 0x84]
mov ecx, dword [esi + 0x14]
call fcn.0028cd39
add esp, 0xc
mov ecx, 0x3b3cf68b
jmp 0x2916fa
push dword [esp + 0x84]
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x3c]
mov edx, dword [esp + 0x78]
mov ecx, dword [esi + 8]
call fcn.0028cd39
add esp, 0xc
mov ecx, 0x11046b10
cmp ecx, 0x994ed1c
jne 0x2916fa
jmp 0x29193e
push dword [esp + 0x74]
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x84]
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0x28]
call fcn.0028cd39
add esp, 0xc
xor eax, eax
cmp dword [edi], ebx
pop edi
pop esi
pop ebp
setne al
pop ebx
add esp, 0xbc
ret