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

Disassembly:
sub esp, 0x414
mov eax, dword [0x887490]
xor eax, esp
mov dword [esp + 0x410], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x428]
lea eax, [esp + 0x20]
push 0x400
push eax
push dword [edi + 0x70]
push dword [edi + 0x7c]
call fcn.004e3760
movzx eax, word [esp + 0x22e]
add esp, 0x10
cmp dword [edi + 0x70], 0
movzx ebp, word [esp + 0x21a]
movzx ebx, word [esp + 0x218]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ebp
movzx ebp, word [esp + 0x21c]
mov dword [edi + 0x74], eax
jne 0x4ea237
mov ecx, dword [esp + 0x34]
xor eax, eax
bswap ecx
mov edx, 0x200
mov esi, 0x400
cmp ecx, 0x52434842
je 0x4ea20e
cmp ecx, 0x42484352
jne 0x4ea222
movzx esi, word [esp + 0x30]
xor eax, eax
cmp byte [esp + 0x2f], 0x21
movzx edx, word [esp + 0x32]
sete al
push esi
push edx
push eax
push dword [edi + 0x7c]
call fcn.004e7de0
add esp, 0x10
test eax, eax
jne 0x4ea237
mov dword [edi + 0x74], eax
mov eax, dword [edi + 0x74]
test eax, eax
je 0x4ea685
mov esi, dword [edi + 0x7c]
xor edx, edx
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x4ea256
cmp eax, 0xffffffff
setne dl
jmp 0x4ea264
movzx ecx, word [esi + 0x2e]
div ecx
mov ecx, dword [esi + 0x28]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x4ea685
test ecx, ecx
je 0x4ea27a
movzx eax, word [esi + 0x30]
mov dword [esp + 0x14], eax
jmp 0x4ea282
mov dword [esp + 0x14], 0
push dword [esi + 8]
call fcn.004610d0
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x10], eax
mov esi, edx
mov eax, dword [edi + 0x74]
xor edx, edx
call fcn.00509a70
cmp edx, esi
jg 0x4ea685
jl 0x4ea2b5
cmp eax, dword [esp + 0x10]
jae 0x4ea685
mov ecx, dword [edi + 0x7c]
mov ax, word [esp + 0x2c]
cmp ax, word [ecx + 0x32]
ja 0x4ea685
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx eax, cx
movzx esi, dx
mov dword [esp + 0x10], eax
add eax, esi
cmp eax, 0x200
ja 0x4ea685
mov eax, ebx
add esi, eax
mov dword [esp + 0x14], esi
cmp esi, 0x200
ja 0x4ea685
mov ecx, dword [esp + 0x10]
mov esi, ebp
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, 0x200
mov ecx, dword [esp + 0x18]
ja 0x4ea685
cmp bp, bx
jae 0x4ea330
cmp dword [esp + 0x10], eax
jbe 0x4ea344
cmp byte [esp + eax + 0x220], 0
je 0x4ea344
jmp 0x4ea685
cmp dword [esp + 0x14], esi
jbe 0x4ea344
cmp byte [esp + eax + 0x220], 0
jne 0x4ea685
test bp, bp
jne 0x4ea35b
test cx, cx
je 0x4ea365
test bx, bx
jne 0x4ea35b
test dx, dx
je 0x4ea35b
movzx ebx, cx
test cx, cx
jne 0x4ea374
cmp bx, bp
jb 0x4ea36a
movzx eax, bx
jmp 0x4ea36f
mov eax, 0x200
sub eax, ebp
movzx ecx, ax
test dx, dx
jne 0x4ea38b
cmp bx, bp
mov eax, 0x200
cmovbe eax, esi
sub eax, ebx
movzx ebp, ax
jmp 0x4ea38f
mov ebp, dword [esp + 0x1c]
movzx esi, cx
lea eax, [esi + 1]
push eax
call fcn.0048bf00
push esi
lea ecx, [esp + 0x228]
mov dword [edi + 4], eax
push ecx
push eax
call fcn.004f58b0
mov eax, dword [edi + 0x7c]
add esp, 0x10
mov cx, word [esp + 0x2c]
mov word [edi + 0x16], cx
movzx ecx, cx
movzx eax, word [eax + 0x2e]
add ecx, 8
sub eax, 0xc
mov dword [edi + 0x34], 0
cdq
idiv ecx
mov dword [edi + 0x3c], 0
mov word [edi + 0x78], ax
mov al, byte [esp + 0x2e]
movzx ecx, al
mov byte [edi + 0x1b], al
mov eax, ecx
and eax, 1
mov dword [edi + 0x20], eax
mov eax, ecx
shr eax, 1
and eax, 1
shr ecx, 2
mov dword [edi + 0x30], eax
and ecx, 1
xor eax, eax
mov dword [edi + 0x24], ecx
cmp word [esp + 0x216], ax
mov dword [edi + 0x2c], ecx
sete al
mov dword [edi + 0x28], ecx
mov dword [edi + 0x38], eax
mov dword [edi + 0x1c], eax
mov al, byte [esp + 0x2f]
cmp al, 1
je 0x4ea42c
cmp al, 0x21
je 0x4ea42c
xor eax, eax
jmp 0x4ea439
xor eax, eax
cmp byte [esp + 0x213], 1
sete al
mov dword [edi + 0x40], eax
cmp byte [edi + 0x1b], 0
jl 0x4ea68c
mov edx, dword [edi + 4]
cmp byte [edx], 0
je 0x4ea685
mov eax, dword [edi + 0x7c]
push edx
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x140]
call eax
add esp, 8
cmp eax, 1
je 0x4ea685
mov ecx, dword [edi + 0x7c]
push 0
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x18]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x18], 0
mov eax, dword [edi + 0x7c]
mov ecx, dword [eax + 0xc]
push ecx
mov eax, dword [ecx + 0xec]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push dword [edi + 0xc]
call fcn.004835b0
push eax
call fcn.004cdaa0
movzx ecx, al
add esp, 0x10
cmp ecx, 0x43
mov word [edi + 0x14], cx
setne al
dec al
and al, 0x20
mov byte [edi + 0x1a], al
cmp ecx, 0x43
jne 0x4ea4da
mov eax, dword [edi + 0x7c]
push dword [eax + 0xc]
call fcn.004e4650
add esp, 4
jmp 0x4ea4e1
mov dword [edi + 0x40], 0
mov eax, dword [edi + 0x7c]
push dword [edi + 4]
push dword [eax + 0xc]
call fcn.004b8120
mov word [edi + 0x18], ax
add esp, 8
movzx eax, bx
lea ebx, [esp + 0x220]
add ebx, eax
cmp byte [ebx], 0
je 0x4ea5c9
movzx esi, bp
lea eax, [esi + 1]
push eax
call fcn.0048bf00
push esi
push ebx
push eax
mov dword [edi + 8], eax
call fcn.004f58b0
mov eax, dword [edi + 0x7c]
push dword [edi + 8]
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x140]
call eax
add esp, 0x18
cmp eax, 1
je 0x4ea5c2
mov ecx, dword [edi + 0x7c]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x18]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x18], 0
push dword [edi + 0x10]
call fcn.004835b0
push eax
call fcn.004cdaa0
add esp, 8
cmp al, 0x4c
je 0x4ea5c9
mov eax, dword [edi + 0x7c]
mov ebx, dword [eax + 0xc]
call fcn.0048b3e0
test ax, ax
jne 0x4ea5c2
call fcn.0044a4a0
mov esi, eax
push 0x21
push esi
call fcn.0044a5c0
push 0x41d
push esi
call fcn.0044a660
push 0
push esi
call fcn.0044a620
push 0x21
call fcn.00458d20
push eax
push esi
call fcn.0044a560
mov eax, dword [ebx]
push esi
push ebx
mov eax, dword [eax + 0x144]
call eax
push esi
call fcn.0044acf0
add esp, 0x30
mov dword [edi + 0x74], 0
mov eax, dword [edi + 0x7c]
push dword [esp + 0x10]
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
call eax
mov ebp, dword [edi + 0x7c]
add esp, 8
movzx eax, word [edi + 0x16]
cmp ax, word [ebp + 0x32]
ja 0x4ea627
movzx ecx, word [edi + 0x14]
cmp ecx, 0x55
je 0x4ea627
cmp ecx, 0x4e
jne 0x4ea60c
cmp eax, 8
je 0x4ea68c
cmp eax, 4
jne 0x4ea627
jmp 0x4ea68c
cmp ecx, 0x44
jne 0x4ea618
cmp eax, 8
jne 0x4ea627
jmp 0x4ea68c
cmp ecx, 0x54
je 0x4ea611
cmp ecx, 0x4c
jne 0x4ea68c
cmp eax, 1
je 0x4ea68c
mov ebp, dword [ebp + 0xc]
xor ebx, ebx
cmp word [edi + 0x14], 0x55
setne bl
add ebx, 0x21
call fcn.0048b3e0
test ax, ax
jne 0x4ea685
call fcn.0044a4a0
mov esi, eax
push ebx
push esi
call fcn.0044a5c0
push 0x402
push esi
call fcn.0044a660
push 0
push esi
call fcn.0044a620
push ebx
call fcn.00458d20
push eax
push esi
call fcn.0044a560
mov eax, dword [ebp]
push esi
push ebp
mov eax, dword [eax + 0x144]
call eax
push esi
call fcn.0044acf0
add esp, 0x30
mov dword [edi + 0x74], 0
mov ecx, dword [esp + 0x420]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005091ef
add esp, 0x414
ret