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

Disassembly:
push edi
push esi
push ebx
sub esp, 0xe8
mov esi, eax
mov edx, 2
mov eax, 0xa4d920
mov ebx, 0xa70f20
mov ecx, 0xa4d920
cmp ecx, ebx
jae 0x4e89fb
mov ecx, dword [eax]
test ecx, ecx
je 0x4e89f2
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x4e89ce
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x4e89ce
add edx, 0xffffffff
mov ecx, dword [eax + 0x188]
test ecx, ecx
je 0x4e89e5
mov ecx, dword [eax + 0x184]
test ecx, ecx
jne 0x4e89e5
add edx, 0xffffffff
mov ecx, dword [eax + 0x2f8]
test ecx, ecx
jne 0x4e89f2
add edx, 0xffffffff
add eax, 0x46c
cmp eax, ebx
jb 0x4e89b7
test edx, edx
jle 0x4e8ea6
mov eax, dword [0xa4d7f8]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
mov dword [esp + 8], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x24], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x28]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x30]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x38]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0x40]
mov dword [esp + 0x48], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0x48]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0x50]
mov dword [esp + 0x58], edx
mov edx, dword [eax + 0x54]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x58]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0x5c]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 0x60]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 0x64]
mov dword [esp + 0x6c], edx
mov edx, dword [eax + 0x68]
mov dword [esp + 0x70], edx
mov edx, dword [eax + 0x6c]
mov dword [esp + 0x74], edx
test esi, esi
jl 0x4e8ce5
cmp esi, 5
jge 0x4e8ce5
mov eax, 0xa4d920
mov edx, 0xa4d920
cmp edx, ebx
jae 0x4e8d4c
mov edx, dword [eax]
test edx, edx
je 0x4e8cd6
mov dl, byte [eax + 0xe]
cmp dl, byte [esp + 0x38]
jne 0x4e8cd6
movsx edx, word [eax + 4]
cmp dx, word [esp + 0x40]
jne 0x4e8cd6
movsx edx, word [eax + 6]
cmp dx, word [esp + 0x42]
jne 0x4e8cd6
movsx edx, word [eax + 8]
cmp dx, word [esp + 0x44]
jne 0x4e8cd6
movsx edx, word [eax + 0xa]
cmp dx, word [esp + 0x46]
jne 0x4e8cd6
movsx edx, word [eax + 0xc]
cmp dx, word [esp + 0x48]
jne 0x4e8cd6
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xe4], edx
lea edx, [esp + 0x78]
push edx
call fcn.004e6f24
pop ecx
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
movsx ecx, word [edx + esi*2 + 0x9b5b60]
movsx edx, word [esp + esi*2 + 0xb0]
mov eax, edx
add eax, 1
cmp eax, ecx
jge 0x4e8eb8
cmp eax, edx
jne 0x4e8cac
mov eax, edx
add eax, 0xffffffff
test eax, eax
jl 0x4e8eb0
cmp eax, edx
jne 0x4e8cbd
add esp, 0xe8
pop ebx
pop esi
pop edi
ret
add eax, 0x46c
cmp eax, ebx
jb 0x4e8aee
jmp 0x4e8d4c
mov eax, 0xa4d920
mov edx, 0xa4d920
cmp edx, ebx
jae 0x4e8d4c
mov edx, dword [eax]
test edx, edx
je 0x4e8d43
mov dl, byte [eax + 0xe]
cmp dl, byte [esp + 0x38]
jne 0x4e8d43
movsx edx, word [eax + 4]
cmp dx, word [esp + 0x40]
jne 0x4e8d43
movsx edx, word [eax + 6]
cmp dx, word [esp + 0x42]
jne 0x4e8d43
movsx edx, word [eax + 8]
cmp dx, word [esp + 0x44]
jne 0x4e8d43
movsx edx, word [eax + 0xa]
cmp dx, word [esp + 0x46]
jne 0x4e8d43
movsx edx, word [eax + 0xc]
cmp dx, word [esp + 0x48]
jne 0x4e8d43
add esp, 0xe8
pop ebx
pop esi
pop edi
ret
add eax, 0x46c
cmp eax, ebx
jb 0x4e8cf3
mov esi, 0xa4d920
mov eax, 0xa4d920
cmp eax, ebx
jae 0x4e8dbf
mov eax, 0xa4d920
neg eax
add eax, ebx
cmp eax, 0x1a88
jb 0x4e8daf
mov eax, dword [esi]
test eax, eax
je 0x4e8dc1
add esi, 0x46c
mov eax, dword [esi]
test eax, eax
je 0x4e8dc1
add esi, 0x46c
mov eax, dword [esi]
test eax, eax
je 0x4e8dc1
add esi, 0x46c
mov eax, dword [esi]
test eax, eax
je 0x4e8dc1
add esi, 0x46c
mov eax, dword [esi]
test eax, eax
je 0x4e8dc1
add esi, 0x46c
mov eax, 0xa6f498
cmp esi, eax
jbe 0x4e8d6a
mov eax, dword [esi]
test eax, eax
je 0x4e8dc1
add esi, 0x46c
cmp esi, ebx
jb 0x4e8daf
xor esi, esi
test esi, esi
je 0x4e8ebf
lea eax, [esp + 8]
push eax
lea ebx, [esi + 0x14]
lea ecx, [esi + 0x188]
lea edx, [esi + 0x2fc]
push edx
push ecx
push ebx
call fcn.004e6914
lea eax, [esp + 0x18]
push eax
call fcn.004e6f24
mov ebx, eax
add esp, 0x14
mov edx, dword [esi + 0x14]
lea edi, [esi + 0x10]
test edx, edx
je 0x4e8e1b
push ebx
push edi
lea edx, [edi + 0x168]
push edx
push dword [0xa720f0]
call fcn.004edb08
add esp, 0x10
mov dword [edi + 0x170], eax
mov edx, dword [esi + 0x188]
lea edi, [esi + 0x184]
test edx, edx
je 0x4e8e48
push ebx
push edi
lea edx, [edi + 0x168]
push edx
push dword [0xa720f0]
call fcn.004edb08
add esp, 0x10
mov dword [edi + 0x170], eax
push ebx
lea edi, [esi + 0x2f8]
push edi
lea edx, [esi + 0x460]
push edx
push dword [0xa720f0]
call fcn.004edb08
add esp, 0x10
mov dword [edi + 0x170], eax
mov dword [esi], 1
movzx edi, word [esp + 0x40]
mov word [esi + 4], di
movzx eax, word [esp + 0x42]
mov word [esi + 6], ax
movzx edx, word [esp + 0x44]
mov word [esi + 8], dx
movzx ecx, word [esp + 0x46]
mov word [esi + 0xa], cx
movzx ebx, word [esp + 0x48]
mov word [esi + 0xc], bx
movzx eax, byte [esp + 0x38]
mov byte [esi + 0xe], al
add esp, 0xe8
pop ebx
pop esi
pop edi
ret
lea eax, [ecx - 1]
jmp 0x4e8cc8
xor eax, eax
jmp 0x4e8cb7
call fcn.004e71e0
mov esi, dword [0xa4d7f8]
mov ecx, dword [0xa720ec]
mov dword [esp], ebp
mov eax, 4
mov edx, 0xa70ab4
mov ebx, esi
mov esi, edx
mov ebp, 0xa4d920
cmp edx, ebp
jb 0x4e9014
mov dword [esp + 4], eax
cmp esi, ecx
je 0x4e8ff8
mov eax, dword [esi]
test eax, eax
je 0x4e8ff8
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4e8f16
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4e8ff8
mov edx, dword [esi + 0x188]
test edx, edx
je 0x4e8f2e
mov eax, dword [esi + 0x184]
test eax, eax
je 0x4e8ff8
mov eax, dword [esi + 0x2f8]
test eax, eax
je 0x4e8ff8
movsx eax, word [esi + 4]
cmp ax, word [ebx + 0x38]
mov ebp, 0
je 0x4e8f50
mov ebp, 1
movsx eax, word [esi + 6]
cmp ax, word [ebx + 0x3a]
je 0x4e8f5d
add ebp, 1
movsx eax, word [esi + 8]
cmp ax, word [ebx + 0x3c]
je 0x4e8f6a
add ebp, 1
movsx eax, word [esi + 0xa]
cmp ax, word [ebx + 0x3e]
je 0x4e8f77
add ebp, 1
movsx eax, word [esi + 0xc]
cmp ax, word [ebx + 0x40]
je 0x4e8f84
add ebp, 1
mov al, byte [esi + 0xe]
cmp al, byte [ebx + 0x30]
je 0x4e8f8f
add ebp, 1
mov eax, dword [esp + 4]
cmp ebp, eax
jl 0x4e8ff8
mov ebp, dword [esp]
mov dword [esi], 0
mov ebx, 0xa70f20
test edi, edi
je 0x4e8fc1
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4e8fc1
lea ecx, [esi + 0x178]
call fcn.00829de0
mov edx, dword [esi + 0x188]
test edx, edx
je 0x4e8fda
mov eax, dword [esi + 0x184]
test eax, eax
je 0x4e8fda
lea ecx, [esi + 0x2ec]
call fcn.00829de0
mov eax, dword [esi + 0x2f8]
test eax, eax
je 0x4e8ff1
add esi, 0x460
mov ecx, esi
call fcn.00829de0
mov eax, 1
jmp 0x4e9029
add esi, 0xfffffb94
mov eax, 0xa4d920
cmp esi, eax
jae 0x4e8ef2
mov eax, dword [esp + 4]
mov edx, 0xa70ab4
add eax, 0xffffffff
test eax, eax
jg 0x4e8edf
mov ebp, dword [esp]
mov ebx, 0xa70f20
xor eax, eax
test eax, eax
je 0x4e8ea6
mov esi, 0xa4d920
mov eax, 0xa4d920
cmp eax, ebx
jae 0x4e90c0
mov eax, 0xa4d920
neg eax
add eax, ebx
cmp eax, 0x1a88
jb 0x4e90ac
mov eax, dword [esi]
test eax, eax
je 0x4e8dc9
add esi, 0x46c
mov eax, dword [esi]
test eax, eax
je 0x4e8dc9
add esi, 0x46c
mov eax, dword [esi]
test eax, eax
je 0x4e8dc9
add esi, 0x46c
mov eax, dword [esi]
test eax, eax
je 0x4e8dc9
add esi, 0x46c
mov eax, dword [esi]
test eax, eax
je 0x4e8dc9
add esi, 0x46c
mov eax, 0xa6f498
cmp esi, eax
jbe 0x4e9053
mov eax, dword [esi]
test eax, eax
je 0x4e8dc9
add esi, 0x46c
cmp esi, ebx
jb 0x4e90ac
xor esi, esi
jmp 0x4e8dc9