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

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
push edi
xor ebp, ebp
mov eax, dword [esi + 0x37e0]
lea edi, [esi + 0x37e8]
cmp eax, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], ebp
mov ebx, 1
je 0x897b0f
cmp dword [esi + 0x74], ebx
jne 0x897b26
cmp eax, ebp
je 0x897b1d
cmp dword [eax + 0x1c], ebp
jne 0x897b26
cmp dword [eax + 0x20], ebp
jne 0x897b26
push edi
call fcn.00881bdc
add esp, 4
cmp dword [esi + 0x74], ebx
jne 0x897b82
mov eax, dword [esi + 0x37e0]
cmp eax, ebp
je 0x897b3f
cmp dword [eax + 0x1c], ebp
jne 0x897b82
cmp dword [eax + 0x20], ebp
jne 0x897b82
mov dword [edi], ebp
mov dword [edi + 4], ebp
mov eax, dword [esi]
cmp eax, 2
je 0x897c1b
cmp eax, 6
je 0x897c1b
cmp eax, 0xe
je 0x897c1b
cmp eax, 0x12
je 0x897c1b
cmp eax, 0x10
je 0x897c1b
mov eax, dword [esi + 0x44]
mov ecx, dword [edi + 0x20]
mov dword [edi + 0x10], eax
mov dword [edi + 0x1c], ebp
mov dword [edi + 0x24], ecx
cmp dword [esi + 0x37e0], ebp
je 0x897b8e
mov dword [esp + 0x14], ebx
mov eax, dword [esi]
cmp eax, 6
je 0x897bbb
cmp eax, 7
je 0x897bbb
cmp eax, 0xe
je 0x897bbb
cmp eax, 0xf
je 0x897bbb
cmp eax, 0x11
je 0x897bbb
cmp eax, 0x10
je 0x897bbb
cmp eax, 0x13
je 0x897bbb
cmp eax, 0x12
je 0x897bbb
mov dword [edi + 0x1c], ebp
cmp dword [esi + 0x37dc], ebp
jne 0x897bcc
push esi
call fcn.00881dcc
add esp, 4
mov eax, dword [esi]
cmp eax, ebx
je 0x897bea
cmp eax, ebp
je 0x897bea
cmp eax, 5
je 0x897bea
cmp eax, 4
je 0x897bea
cmp eax, 0x15
je 0x897bea
cmp eax, 0x14
jne 0x897c60
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0089b51c
mov ebx, eax
add esp, 8
cmp ebx, ebp
jne 0x897d91
cmp dword [esp + 0x10], 0xd8
je 0x897c5b
mov ebx, 0xfffffff3
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x10
ret
mov edx, dword [edi + 0x3c]
push ebp
push ebp
push edx
mov dword [edi + 0x1c], ebp
call fcn.00898d0c
add esp, 0xc
test eax, eax
jne 0x897c3d
pop edi
pop esi
pop ebp
mov eax, 0xffffffe9
pop ebx
add esp, 0x10
ret
push edi
call fcn.00881c2c
add esp, 4
test eax, eax
je 0x897b82
pop edi
pop esi
pop ebp
mov eax, 0xffffffe9
pop ebx
add esp, 0x10
ret
mov ebx, 1
cmp dword [esi + 0x4de0], ebp
jne 0x897c74
mov dword [esi + 0x37d8], ebp
mov dword [esi + 0x37d4], ebp
mov eax, dword [esi + 0x37e0]
cmp eax, ebp
je 0x897c9f
cmp dword [esi + 0x74], ebx
jne 0x897e4d
cmp dword [eax + 0x1c], ebp
jne 0x897e4d
cmp dword [eax + 0x20], ebp
jne 0x897e4d
jmp 0x897c9f
mov edi, dword [esp + 0x24]
mov eax, 1
cmp eax, ebp
je 0x897d8f
lea ecx, [esp + 0x10]
push ecx
push edi
call fcn.0089b51c
mov ebx, eax
add esp, 8
cmp ebx, ebp
jne 0x897d91
mov eax, dword [esp + 0x10]
cmp eax, 0x100
je 0x897d8f
cmp eax, 0xde
jg 0x898160
je 0x8981c1
cmp eax, 0xdd
ja 0x8981c1
xor edx, edx
mov dl, byte [eax + 0x60017630]
jmp dword [edx*4 + 0x60017604]
xor ebx, ebx
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x10
ret
mov edi, dword [esi + 0x37e0]
cmp edi, ebp
je 0x897efc
cmp dword [esp + 0x14], ebp
je 0x897efc
mov dword [esp + 0x14], ebp
cmp dword [esi + 0x74], 1
jne 0x897e87
cmp dword [esi + 0x4de0], ebp
jne 0x897e87
mov ecx, dword [edi]
mov eax, dword [esi + 0x37d8]
add eax, ecx
mov dword [esi + 0x37d8], eax
mov edx, dword [esp + 0x24]
push esi
push edi
lea eax, [esp + 0x18]
push edx
push eax
call fcn.0089caac
mov ebx, eax
add esp, 0x10
cmp ebx, 1
je 0x898093
cmp ebx, 2
je 0x898093
cmp dword [esi + 0x4de0], ebp
jne 0x897ec0
mov eax, dword [esp + 0x24]
mov ecx, dword [edi]
add dword [eax + 0x38], ecx
cmp dword [esi + 0x37e0], ebp
jne 0x897edd
mov edx, dword [edi + 0x34]
push edx
call fcn.0089fcd9
push edi
mov dword [edi + 0x34], ebp
call fcn.0089fcd9
add esp, 8
cmp ebx, ebp
jl 0x897d91
jne 0x897d8f
mov eax, dword [esp + 0x10]
cmp eax, ebp
jne 0x897cd3
jmp 0x897c9b
push 0x38
call fcn.0089fccb
mov edi, eax
add esp, 4
cmp edi, ebp
jne 0x897f1b
mov ebx, 0xfffffffb
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x10
ret
mov dword [edi + 0x1c], ebp
mov dword [edi + 0x20], ebp
mov dword [edi + 0x24], ebp
mov dword [edi + 0x28], ebp
mov dword [edi + 0x2c], ebp
mov dword [edi + 0x30], ebp
mov eax, dword [esi]
cmp eax, 1
je 0x8980f7
cmp eax, ebp
je 0x8980f7
cmp eax, 5
je 0x8980f7
cmp eax, 4
je 0x8980f7
cmp eax, 0x15
je 0x8980f7
cmp eax, 0x14
je 0x8980f7
mov ecx, dword [esp + 0x24]
push esi
push edi
push ecx
call fcn.00897a5c
mov ebx, eax
add esp, 0xc
cmp ebx, ebp
je 0x897f98
mov edx, dword [edi + 0x34]
push edx
call fcn.0089fcd9
push edi
mov dword [edi + 0x34], ebp
call fcn.0089fcd9
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [esi + 0x37d0]
mov dword [edi + 0x18], eax
mov edx, dword [esi + 0x37c0]
cmp dword [edi], edx
jge 0x897fbc
cmp dword [esi + 0x4de0], ebp
jne 0x897fbc
mov dword [esi + 0x74], 1
jmp 0x897fbf
mov dword [esi + 0x74], ebp
mov eax, dword [edi + 8]
cmp eax, ebp
jne 0x898002
cmp dword [edi + 0xc], 0x3f
jne 0x897fe2
cmp dword [edi + 0x10], ebp
jne 0x897fe2
cmp dword [edi + 0x14], ebp
jne 0x897fe2
cmp dword [esi + 0x4de0], ebp
je 0x897e69
cmp eax, ebp
jne 0x898002
cmp dword [edi + 0xc], ebp
jne 0x898002
cmp dword [edi + 0x14], ebp
jne 0x89800d
mov ecx, dword [edi]
mov eax, dword [esi + 0x37d4]
add eax, ecx
mov dword [esi + 0x37d4], eax
jmp 0x89800d
cmp dword [edi + 0x14], ebp
jne 0x89800d
inc dword [esi + 0x37d8]
mov ecx, dword [esi + 0x4de0]
inc ecx
mov eax, ecx
mov dword [esi + 0x4de0], ecx
cmp eax, 1
jne 0x897e69
xor ecx, ecx
cmp edx, ebp
jle 0x898042
mov eax, dword [esi + 0x37cc]
add eax, 4
mov ebx, dword [eax + 4]
imul ebx, dword [eax]
add ecx, ebx
add eax, 0x10
dec edx
jne 0x898034
mov eax, dword [esi + 0x7c]
imul eax, dword [esi + 0x78]
imul eax, ecx
shl eax, 6
lea edx, [eax + eax]
push edx
call fcn.0089fccb
add esp, 4
cmp eax, ebp
mov dword [esi + 0x4de4], eax
jne 0x897e69
mov eax, dword [edi + 0x34]
push eax
call fcn.0089fcd9
push edi
mov dword [edi + 0x34], ebp
call fcn.0089fcd9
add esp, 8
mov dword [esi + 0x37e0], ebp
mov ebx, 0xfffffffb
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x10
ret
cmp dword [esi + 0x4de0], ebp
je 0x8980b9
cmp dword [esi + 0x1c], ebp
jne 0x8980b9
inc dword [esi + 0x37d8]
mov dword [esi + 0x37e0], edi
mov dword [esi + 0x1c], ebp
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x10
ret
cmp dword [esi + 0x74], 1
jne 0x8980a6
cmp ebx, 2
jne 0x8980a6
cmp dword [esi + 0x68], ebp
je 0x8980d2
push esi
call fcn.0088585c
add esp, 4
mov eax, dword [edi + 0x34]
push eax
call fcn.0089fcd9
push edi
mov dword [edi + 0x34], ebp
call fcn.0089fcd9
add esp, 8
mov dword [esi + 0x37e0], ebp
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x24]
push edi
add dword [eax + 0x1c], 0xfffffffe
call fcn.0089fcd9
add esp, 4
xor ebx, ebx
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
add eax, 0xffffff21
cmp eax, 0x21
ja 0x8981c1
jmp dword [eax*4 + 0x60017710]
mov edi, dword [esp + 0x24]
push edi
call fcn.0089b59c
mov ebx, eax
add esp, 4
cmp ebx, ebp
jne 0x897d91
jmp 0x897c9f