Function at 0x979adc
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 0x979b0f
cmp dword [esi + 0x74], ebx
jne 0x979b26
cmp eax, ebp
je 0x979b1d
cmp dword [eax + 0x1c], ebp
jne 0x979b26
cmp dword [eax + 0x20], ebp
jne 0x979b26
push edi
call fcn.00963bdc
add esp, 4
cmp dword [esi + 0x74], ebx
jne 0x979b82
mov eax, dword [esi + 0x37e0]
cmp eax, ebp
je 0x979b3f
cmp dword [eax + 0x1c], ebp
jne 0x979b82
cmp dword [eax + 0x20], ebp
jne 0x979b82
mov dword [edi], ebp
mov dword [edi + 4], ebp
mov eax, dword [esi]
cmp eax, 2
je 0x979c1b
cmp eax, 6
je 0x979c1b
cmp eax, 0xe
je 0x979c1b
cmp eax, 0x12
je 0x979c1b
cmp eax, 0x10
je 0x979c1b
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 0x979b8e
mov dword [esp + 0x14], ebx
mov eax, dword [esi]
cmp eax, 6
je 0x979bbb
cmp eax, 7
je 0x979bbb
cmp eax, 0xe
je 0x979bbb
cmp eax, 0xf
je 0x979bbb
cmp eax, 0x11
je 0x979bbb
cmp eax, 0x10
je 0x979bbb
cmp eax, 0x13
je 0x979bbb
cmp eax, 0x12
je 0x979bbb
mov dword [edi + 0x1c], ebp
cmp dword [esi + 0x37dc], ebp
jne 0x979bcc
push esi
call fcn.00963dcc
add esp, 4
mov eax, dword [esi]
cmp eax, ebx
je 0x979bea
cmp eax, ebp
je 0x979bea
cmp eax, 5
je 0x979bea
cmp eax, 4
je 0x979bea
cmp eax, 0x15
je 0x979bea
cmp eax, 0x14
jne 0x979c60
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0097d51c
mov ebx, eax
add esp, 8
cmp ebx, ebp
jne 0x979d91
cmp dword [esp + 0x10], 0xd8
je 0x979c5b
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.0097ad0c
add esp, 0xc
test eax, eax
jne 0x979c3d
pop edi
pop esi
pop ebp
mov eax, 0xffffffe9
pop ebx
add esp, 0x10
ret
push edi
call fcn.00963c2c
add esp, 4
test eax, eax
je 0x979b82
pop edi
pop esi
pop ebp
mov eax, 0xffffffe9
pop ebx
add esp, 0x10
ret
mov ebx, 1
cmp dword [esi + 0x4de0], ebp
jne 0x979c74
mov dword [esi + 0x37d8], ebp
mov dword [esi + 0x37d4], ebp
mov eax, dword [esi + 0x37e0]
cmp eax, ebp
je 0x979c9f
cmp dword [esi + 0x74], ebx
jne 0x979e4d
cmp dword [eax + 0x1c], ebp
jne 0x979e4d
cmp dword [eax + 0x20], ebp
jne 0x979e4d
jmp 0x979c9f
mov edi, dword [esp + 0x24]
mov eax, 1
cmp eax, ebp
je 0x979d8f
lea ecx, [esp + 0x10]
push ecx
push edi
call fcn.0097d51c
mov ebx, eax
add esp, 8
cmp ebx, ebp
jne 0x979d91
mov eax, dword [esp + 0x10]
cmp eax, 0x100
je 0x979d8f
cmp eax, 0xde
jg 0x97a160
je 0x97a1c1
cmp eax, 0xdd
ja 0x97a1c1
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 0x979efc
cmp dword [esp + 0x14], ebp
je 0x979efc
mov dword [esp + 0x14], ebp
cmp dword [esi + 0x74], 1
jne 0x979e87
cmp dword [esi + 0x4de0], ebp
jne 0x979e87
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.0097eaac
mov ebx, eax
add esp, 0x10
cmp ebx, 1
je 0x97a093
cmp ebx, 2
je 0x97a093
cmp dword [esi + 0x4de0], ebp
jne 0x979ec0
mov eax, dword [esp + 0x24]
mov ecx, dword [edi]
add dword [eax + 0x38], ecx
cmp dword [esi + 0x37e0], ebp
jne 0x979edd
mov edx, dword [edi + 0x34]
push edx
call fcn.00981cd9
push edi
mov dword [edi + 0x34], ebp
call fcn.00981cd9
add esp, 8
cmp ebx, ebp
jl 0x979d91
jne 0x979d8f
mov eax, dword [esp + 0x10]
cmp eax, ebp
jne 0x979cd3
jmp 0x979c9b
push 0x38
call fcn.00981ccb
mov edi, eax
add esp, 4
cmp edi, ebp
jne 0x979f1b
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 0x97a0f7
cmp eax, ebp
je 0x97a0f7
cmp eax, 5
je 0x97a0f7
cmp eax, 4
je 0x97a0f7
cmp eax, 0x15
je 0x97a0f7
cmp eax, 0x14
je 0x97a0f7
mov ecx, dword [esp + 0x24]
push esi
push edi
push ecx
call fcn.00979a5c
mov ebx, eax
add esp, 0xc
cmp ebx, ebp
je 0x979f98
mov edx, dword [edi + 0x34]
push edx
call fcn.00981cd9
push edi
mov dword [edi + 0x34], ebp
call fcn.00981cd9
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 0x979fbc
cmp dword [esi + 0x4de0], ebp
jne 0x979fbc
mov dword [esi + 0x74], 1
jmp 0x979fbf
mov dword [esi + 0x74], ebp
mov eax, dword [edi + 8]
cmp eax, ebp
jne 0x97a002
cmp dword [edi + 0xc], 0x3f
jne 0x979fe2
cmp dword [edi + 0x10], ebp
jne 0x979fe2
cmp dword [edi + 0x14], ebp
jne 0x979fe2
cmp dword [esi + 0x4de0], ebp
je 0x979e69
cmp eax, ebp
jne 0x97a002
cmp dword [edi + 0xc], ebp
jne 0x97a002
cmp dword [edi + 0x14], ebp
jne 0x97a00d
mov ecx, dword [edi]
mov eax, dword [esi + 0x37d4]
add eax, ecx
mov dword [esi + 0x37d4], eax
jmp 0x97a00d
cmp dword [edi + 0x14], ebp
jne 0x97a00d
inc dword [esi + 0x37d8]
mov ecx, dword [esi + 0x4de0]
inc ecx
mov eax, ecx
mov dword [esi + 0x4de0], ecx
cmp eax, 1
jne 0x979e69
xor ecx, ecx
cmp edx, ebp
jle 0x97a042
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 0x97a034
mov eax, dword [esi + 0x7c]
imul eax, dword [esi + 0x78]
imul eax, ecx
shl eax, 6
lea edx, [eax + eax]
push edx
call fcn.00981ccb
add esp, 4
cmp eax, ebp
mov dword [esi + 0x4de4], eax
jne 0x979e69
mov eax, dword [edi + 0x34]
push eax
call fcn.00981cd9
push edi
mov dword [edi + 0x34], ebp
call fcn.00981cd9
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 0x97a0b9
cmp dword [esi + 0x1c], ebp
jne 0x97a0b9
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 0x97a0a6
cmp ebx, 2
jne 0x97a0a6
cmp dword [esi + 0x68], ebp
je 0x97a0d2
push esi
call fcn.0096785c
add esp, 4
mov eax, dword [edi + 0x34]
push eax
call fcn.00981cd9
push edi
mov dword [edi + 0x34], ebp
call fcn.00981cd9
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.00981cd9
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 0x97a1c1
jmp dword [eax*4 + 0x60017710]
mov edi, dword [esp + 0x24]
push edi
call fcn.0097d59c
mov ebx, eax
add esp, 4
cmp ebx, ebp
jne 0x979d91
jmp 0x979c9f