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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
nop
mov ecx, dword [esi]
xor edi, edi
cmp ecx, dword [esi + 4]
jae 0x4ec649
mov al, byte [ecx]
movzx edi, al
test al, al
jle 0x4ec649
lea eax, [ecx + 1]
mov dword [esi], eax
jmp 0x4ec65f
push edi
mov ecx, esi
call fcn.0049f370
mov edi, eax
lea ecx, [edi - 1]
cmp ecx, 0x7f
jae case.default.0x4ec66e
mov ecx, edi
shr ecx, 3
dec ecx
cmp ecx, 0xb
ja case.default.0x4ec66e
jmp dword [ecx*4 + 0x4ecb4c]
cmp edi, 0xa
jne case.default.0x4ec66e
or dword [ebx + 8], 1
mov eax, dword [ebx + 0x78]
cmp eax, 0x5be7b0
jne 0x4ec69c
push 0x5be7b0
lea ecx, [ebx + 0x78]
call fcn.00465430
mov eax, dword [ebx + 0x78]
push eax
push esi
call fcn.004c3360
add esp, 8
jmp 0x4ecb2d
cmp edi, 0x12
jne case.default.0x4ec66e
or dword [ebx + 8], 2
mov eax, dword [ebx + 0x7c]
cmp eax, 0x5be7b0
jne 0x4ec6d2
push 0x5be7b0
lea ecx, [ebx + 0x7c]
call fcn.00465430
mov eax, dword [ebx + 0x7c]
push eax
push esi
call fcn.004c3360
add esp, 8
jmp 0x4ecb2d
cmp edi, 0x1a
jne case.default.0x4ec66e
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x4ec71e
mov edx, dword [ebx + 0x14]
mov eax, dword [ecx]
cmp edx, eax
jge 0x4ec719
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 4], eax
lea eax, [edx + 1]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 4]
push eax
push esi
call fcn.004c3360
add esp, 8
jmp 0x4ecb2d
cmp eax, dword [ebx + 0x18]
jne 0x4ec730
mov eax, dword [ebx + 0x18]
lea ecx, [ebx + 0x10]
inc eax
push eax
call fcn.004c32d0
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
push dword [ebx + 0x10]
push 0
call fcn.0049bdf0
mov edx, dword [ebx + 0x14]
add esp, 8
mov ecx, dword [ebx + 0x1c]
push eax
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x14]
push esi
call fcn.004c3360
add esp, 8
jmp 0x4ecb2d
cmp edi, 0x22
jne case.default.0x4ec66e
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4ecb35
mov ecx, dword [ebx + 0x44]
test ecx, ecx
je 0x4ec797
mov eax, dword [ebx + 0x3c]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4ec792
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x3c], eax
mov eax, ecx
jmp 0x4ec7c8
cmp edx, dword [ebx + 0x40]
jne 0x4ec7a9
mov eax, dword [ebx + 0x40]
lea ecx, [ebx + 0x38]
inc eax
push eax
call fcn.004c32d0
mov ecx, dword [ebx + 0x44]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x38]
push 0
call fcn.004bb410
mov edx, dword [ebx + 0x3c]
add esp, 8
mov ecx, dword [ebx + 0x44]
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x3c]
push eax
push esi
call fcn.004df190
add esp, 8
test al, al
je 0x4ecb35
inc dword [esi + 0x2c]
jmp 0x4ec630
cmp edi, 0x2a
jne case.default.0x4ec66e
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4ecb35
mov ecx, dword [ebx + 0x54]
test ecx, ecx
je 0x4ec81d
mov eax, dword [ebx + 0x4c]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4ec818
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x4c], eax
mov eax, ecx
jmp 0x4ec84e
cmp edx, dword [ebx + 0x50]
jne 0x4ec82f
mov eax, dword [ebx + 0x50]
lea ecx, [ebx + 0x48]
inc eax
push eax
call fcn.004c32d0
mov ecx, dword [ebx + 0x54]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x48]
push 0
call fcn.004bb470
mov edx, dword [ebx + 0x4c]
add esp, 8
mov ecx, dword [ebx + 0x54]
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x4c]
push eax
push esi
call fcn.004df1c0
add esp, 8
test al, al
je 0x4ecb35
inc dword [esi + 0x2c]
jmp 0x4ec630
cmp edi, 0x32
jne case.default.0x4ec66e
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4ecb35
mov ecx, dword [ebx + 0x64]
test ecx, ecx
je 0x4ec8a1
mov eax, dword [ebx + 0x5c]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4ec89c
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x5c], eax
jmp 0x4ec8d4
cmp edx, dword [ebx + 0x60]
jne 0x4ec8b3
mov eax, dword [ebx + 0x60]
lea ecx, [ebx + 0x58]
inc eax
push eax
call fcn.004c32d0
mov ecx, dword [ebx + 0x64]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x58]
push 0
call fcn.004bb510
mov edx, dword [ebx + 0x5c]
mov ecx, eax
mov eax, dword [ebx + 0x64]
add esp, 8
mov dword [eax + edx*4 + 4], ecx
inc dword [ebx + 0x5c]
mov dword [ebp - 4], ecx
mov ecx, esi
call fcn.0049ee30
mov ecx, dword [ebp - 4]
mov edi, eax
push esi
call fcn.004ede10
test al, al
je 0x4ecb35
push edi
mov ecx, esi
call fcn.0049e940
test al, al
je 0x4ecb35
inc dword [esi + 0x2c]
jmp 0x4ec630
cmp edi, 0x3a
jne case.default.0x4ec66e
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4ecb35
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x4ec944
mov eax, dword [ebx + 0x6c]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4ec93f
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x6c], eax
mov eax, ecx
jmp 0x4ec975
cmp edx, dword [ebx + 0x70]
jne 0x4ec956
mov eax, dword [ebx + 0x70]
lea ecx, [ebx + 0x68]
inc eax
push eax
call fcn.004c32d0
mov ecx, dword [ebx + 0x74]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x68]
push 0
call fcn.004bb4b0
mov edx, dword [ebx + 0x6c]
add esp, 8
mov ecx, dword [ebx + 0x74]
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x6c]
push eax
push esi
call fcn.004df1f0
add esp, 8
test al, al
je 0x4ecb35
inc dword [esi + 0x2c]
jmp 0x4ec630
cmp edi, 0x42
jne case.default.0x4ec66e
mov ecx, ebx
call fcn.004f2470
mov edi, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x4ec9b8
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x4ec9b8
inc eax
mov dword [esi], eax
jmp 0x4ec9c9
mov ecx, esi
call fcn.0049fae0
mov ecx, eax
test ecx, ecx
js 0x4ecb35
push ecx
lea eax, [ebp - 0xc]
mov ecx, esi
push eax
call fcn.0049e9f0
cmp dword [ebp - 8], 0
jl 0x4ecb35
push esi
mov ecx, edi
call fcn.004eccc0
test al, al
je 0x4ecb35
push dword [ebp - 0xc]
mov ecx, esi
call fcn.0049e990
jmp 0x4ecb2d
cmp edi, 0x4a
jne case.default.0x4ec66e
mov ecx, ebx
call fcn.004f2660
mov edi, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x4eca27
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x4eca27
inc eax
mov dword [esi], eax
jmp 0x4eca38
mov ecx, esi
call fcn.0049fae0
mov ecx, eax
test ecx, ecx
js 0x4ecb35
push ecx
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
call fcn.0049e9f0
cmp dword [ebp - 0x10], 0
jl 0x4ecb35
push esi
mov ecx, edi
call fcn.004ee250
test al, al
je 0x4ecb35
push dword [ebp - 0x14]
mov ecx, esi
call fcn.0049e990
jmp 0x4ecb2d
cmp edi, 0x50
jne 0x4eca87
lea eax, [ebx + 0x20]
push eax
push esi
push edi
push 1
call fcn.004df2e0
add esp, 0x10
jmp 0x4ecb2d
cmp edi, 0x52
jne case.default.0x4ec66e
lea eax, [ebx + 0x20]
push eax
push esi
call fcn.004df220
add esp, 8
jmp 0x4ecb2d
cmp edi, 0x58
jne 0x4ecab5
lea eax, [ebx + 0x2c]
push eax
push esi
push edi
push 1
call fcn.004df2e0
add esp, 0x10
jmp 0x4ecb2d
cmp edi, 0x5a
jne case.default.0x4ec66e
lea eax, [ebx + 0x2c]
push eax
push esi
call fcn.004df220
add esp, 8
jmp 0x4ecb2d
cmp edi, 0x62
jne case.default.0x4ec66e
or dword [ebx + 8], 4
mov eax, dword [ebx + 0x80]
cmp eax, 0x5be7b0
jne 0x4ecaf5
push 0x5be7b0
lea ecx, [ebx + 0x80]
call fcn.00465430
mov eax, dword [ebx + 0x80]
push eax
push esi
call fcn.004c3360
add esp, 8
jmp 0x4ecb2d
test edi, edi
je 0x4ecb40
mov eax, edi
and al, 7
cmp al, 4
je 0x4ecb40
test byte [ebx + 4], 1
lea ecx, [ebx + 4]
je 0x4ecb1d
mov eax, dword [ecx]
and eax, 0xfffffffe
jmp 0x4ecb22
call fcn.0046d170
push eax
push edi
push esi
call fcn.004d8db0
add esp, 0xc
test al, al
jne 0x4ec630
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 4