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

Disassembly:
sub esp, 0x2ec
xor ecx, ecx
lea eax, [esp + 0x98]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], ecx
xor eax, eax
push ebx
mov dword [esp + 0x20], ecx
push ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
push esi
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x5c]
push edi
lea ecx, [esp + 0x1c]
mov ebx, 1
mov ebp, 3
mov edi, 6
mov esi, 2
lea edx, [esp + 0x1c]
push eax
push ecx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], 4
mov dword [esp + 0xcc], 0x15
mov dword [esp + 0x68], 8
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ebx
call dword [0x4add84]
mov dword [esp + 0x10], 0
jmp 0x4ec262
mov ebp, 3
mov edi, 6
mov esi, 2
lea edx, [esp + 0xe0]
lea eax, [esp + 0x34]
push edx
lea ecx, [esp + 0x5c]
push eax
push ecx
push 0xa1
call dword [0x4adc40]
test eax, eax
je 0x4ec67e
mov eax, dword [esp + 0x34]
cmp eax, esi
je 0x4ec67e
cmp byte [esp + 0x24], 2
je 0x4ec67e
test eax, eax
jg 0x4ec67e
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xc8]
mov dword [esp + 0x38], eax
lea edx, [esp + 0x184]
mov eax, 0xb
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x78], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0xa0], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x4c], 5
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa4], 0
mov dword [esp + 0x68], ebx
mov dword [esp + 0x74], 7
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x44], eax
lea esi, [esp + 0x188]
lea edi, [esp + 0x68]
mov ebp, 5
lea ecx, [esp + 0x50]
lea edx, [esi - 4]
push ecx
push edx
call dword [0x4add84]
mov eax, dword [esi]
mov ecx, dword [edi]
add edi, 4
add esi, 0x18
mov dword [eax + 0x24], ecx
mov byte [esi - 0x14], 5
dec ebp
jne 0x4ec35f
lea edx, [esp + 0x14]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x4c]
push eax
push ecx
push 0xa0
call dword [0x4adc40]
test eax, eax
je 0x4ec653
mov edx, dword [esp + 0x1a8]
lea eax, [esp + 0x40]
lea ecx, [esp + 0xc8]
push eax
push ecx
mov dword [esp + 0xac], edx
call dword [0x4add84]
lea edx, [esp + 0x14]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x3c]
push eax
push ecx
push 0xa0
mov byte [esp + 0xe0], 5
call dword [0x4adc40]
test eax, eax
je 0x4ec645
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x4ec447
mov esi, dword [esp + 0xd4]
push 6
push esi
call dword [0x468194]
test eax, eax
jne 0x4ec447
mov al, byte [esi + 4]
xor edx, edx
mov dl, byte [esi + 5]
xor ecx, ecx
mov cl, byte [esi + 3]
push edx
push eax
xor edx, edx
mov dl, byte [esi + 2]
push ecx
xor eax, eax
xor ecx, ecx
mov al, byte [esi + 1]
mov cl, byte [esi]
push edx
push eax
push ecx
lea edx, [esp + 0xfc]
push 0x483680
push edx
call dword [fcn.00468538]
add esp, 0x20
jmp 0x4ec49d
mov eax, dword [esp + 0x1d8]
xor ecx, ecx
xor edx, edx
mov ch, byte [eax]
mov dl, byte [eax + 2]
mov cl, byte [eax + 1]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
shl ecx, 8
or ecx, edx
mov eax, ecx
push eax
call fcn.004f1a46
push eax
call fcn.004f1a40
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xe4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x190]
xor ecx, ecx
xor edx, edx
mov ch, byte [eax]
mov dl, byte [eax + 2]
mov cl, byte [eax + 1]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [esp + 0x1d8]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov esi, ecx
xor ecx, ecx
mov ch, byte [eax]
mov cl, byte [eax + 1]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [esp + 0x1f0]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov edi, ecx
xor ecx, ecx
push edi
mov ch, byte [eax]
mov cl, byte [eax + 1]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
shl ecx, 8
or ecx, edx
mov ebp, ecx
call fcn.004f1a46
push ebp
mov ebx, eax
call fcn.004f1a46
push esi
mov edi, eax
call fcn.004f1a46
push edi
mov ebp, eax
call fcn.004f1a40
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x134]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004f1a40
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x15c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebp
call fcn.004f1a40
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movsx ecx, byte [esp + 0x10c]
push ecx
call 0x511ae2
add esp, 4
test eax, eax
je 0x4ec640
movsx edx, byte [esp + 0x134]
push edx
call 0x511ae2
add esp, 4
test eax, eax
je 0x4ec640
movsx eax, byte [esp + 0x15c]
push eax
call 0x511ae2
add esp, 4
test eax, eax
je 0x4ec640
movsx ecx, byte [esp + 0xe4]
push ecx
call 0x511ae2
add esp, 4
test eax, eax
je 0x4ec640
lea edx, [esp + 0xe4]
lea eax, [esp + 0x15c]
push edx
lea ecx, [esp + 0x138]
push eax
lea edx, [esp + 0x114]
push ecx
push edx
lea eax, [esp + 0x20c]
push 0x483674
push eax
call dword [fcn.00468538]
lea ecx, [esp + 0x214]
push ecx
call fcn.004ec6a0
add esp, 0x1c
mov ebx, 1
lea edx, [esp + 0xc8]
push edx
call dword [0x4add88]
lea esi, [esp + 0x184]
mov edi, 5
push esi
call dword [0x4add88]
add esi, 0x18
dec edi
jne 0x4ec65f
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0x28
mov dword [esp + 0x10], eax
jl 0x4ec253
lea eax, [esp + 0x1c]
push eax
call dword [0x4add88]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ec
ret