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

Disassembly:
sub esp, 0x57c
mov eax, dword [esp + 0x580]
push esi
add eax, 0x14
push edi
mov ecx, eax
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], edx
mov cx, word [ecx + 8]
test cx, cx
mov word [esp + 0x28], cx
je 0x4d1fbb
push ebp
and eax, 0xffff
push 1
push eax
mov ecx, 0xced988
call fcn.0053cd60
mov ecx, dword [esp + 0x26]
mov esi, 0xa
and ecx, 0xffff
lea edi, [esp + 0x458]
mov eax, ecx
xor ebp, ebp
cdq
idiv esi
mov eax, 0x66666667
lea esi, [esp + 0x170]
mov dword [esp + 0x14], edx
imul ecx
sar edx, 2
xor ecx, ecx
mov eax, edx
mov dword [esp + 0x1ea], ecx
shr eax, 0x1f
mov dword [esp + 0x1ee], ecx
add edx, eax
mov eax, dword [esp + 0x2a]
mov dword [esp + 0x1f2], ecx
mov byte [esp + 0x1f6], cl
and eax, 0xffff
mov dword [esp + 0x10], edx
mov ecx, 0x4c
mov dword [esp + 0xc], eax
mov dword [esp + 0x454], eax
lea edx, [esp + 0x454]
lea eax, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x78]
test ecx, ecx
mov dword [esp + 0x20], edx
jle 0x4d1f7d
push ebx
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0xbe], eax
mov dword [esp + 0x324], ecx
mov dword [esp + 0xc2], eax
mov ecx, 0x4c
mov dword [esp + 0xc6], eax
lea esi, [esp + 0x44]
lea edi, [esp + 0x328]
mov byte [esp + 0xca], al
lea edx, [esp + 0x324]
lea eax, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
mov ecx, 0xced988
xor ebx, ebx
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x74]
test ecx, ecx
mov dword [esp + 0x24], edx
jle 0x4d1f10
mov eax, dword [esp + 0x30]
and eax, 0xffff
mov dword [esp + 0x1c], eax
jmp 0x4d1da7
mov eax, dword [esp + 0x1c]
sub eax, 3
je 0x4d1e48
dec eax
mov eax, dword [esp + 0x14]
je 0x4d1def
mov ecx, dword [esp + 0x18]
and eax, 0xffff
add eax, ebp
and ecx, 0xffff
mov edx, ebx
lea eax, [eax + eax*4]
add edx, ecx
lea ecx, [edx + eax*2]
mov eax, ecx
shl eax, 4
add eax, ecx
shl eax, 3
mov cx, word [eax + 0xcedabd]
mov word [eax + 0xcedabf], cx
jmp 0x4d1ea7
mov ecx, dword [esp + 0x18]
and eax, 0xffff
and ecx, 0xffff
lea edx, [eax + eax*4]
add eax, ebp
lea eax, [eax + eax*4]
lea edx, [ecx + edx*2]
mov esi, edx
lea eax, [ecx + eax*2]
shl esi, 4
add eax, ebx
add esi, edx
mov ecx, eax
add word [esi*8 + 0xcedabf], 0xa
lea edx, [esi*8 + 0xcedabf]
shl ecx, 4
add ecx, eax
mov ax, word [ecx*8 + 0xcedabf]
cmp ax, 0x64
jbe 0x4d1e41
mov eax, 0x64
jmp 0x4d1ea4
and eax, 0xffff
jmp 0x4d1ea4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
and eax, 0xffff
and ecx, 0xffff
lea edx, [eax + eax*4]
lea edx, [ecx + edx*2]
mov esi, edx
shl esi, 4
add esi, edx
inc word [esi*8 + 0xcedabf]
cmp word [esi*8 + 0xcedabf], 0x64
lea edx, [esi*8 + 0xcedabf]
jbe 0x4d1e89
mov eax, 0x64
jmp 0x4d1ea4
add eax, ebp
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
add eax, ebx
mov ecx, eax
shl ecx, 4
add ecx, eax
xor eax, eax
mov ax, word [ecx*8 + 0xcedabf]
mov word [edx], ax
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0xbe], edx
mov ecx, 0x4c
mov dword [esp + 0xc2], edx
lea esi, [esp + 0x44]
mov dword [esp + 0xc6], edx
lea edi, [esp + 0x328]
mov byte [esp + 0xca], dl
mov dword [esp + 0x324], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x324]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, 0xced988
inc ebx
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x74]
cmp ebx, ecx
mov dword [esp + 0x24], edx
jl 0x4d1da3
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x1ee], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x1f2], eax
mov ecx, 0x4c
mov dword [esp + 0x1f6], eax
lea esi, [esp + 0x174]
lea edi, [esp + 0x45c]
mov byte [esp + 0x1fa], al
lea edx, [esp + 0x458]
lea eax, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
mov ecx, 0xced988
inc ebp
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x78]
cmp ebp, ecx
mov dword [esp + 0x24], edx
jl 0x4d1d2a
pop ebx
mov eax, dword [0xa4f274]
pop ebp
push 0
push 0
test eax, eax
push 0
push 0
je 0x4d1fa5
push 0x65a568
call fcn.004cbc90
add esp, 0x14
pop edi
pop esi
add esp, 0x57c
ret
push 0x65a558
call fcn.004cbc90
add esp, 0x14
pop edi
pop esi
add esp, 0x57c
ret
mov edi, 0x65a540
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x29c]
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
mov eax, dword [0xa4f274]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x4d1fff
lea ecx, [esp + 0x29c]
push 0
push ecx
call fcn.00586e90
add esp, 8
lea edi, [esp + 0x29c]
or ecx, 0xffffffff
xor eax, eax
push 0
repne scasb al, byte es:[edi]
not ecx
push 0
dec ecx
push 0
lea edx, [esp + 0x2a8]
push ecx
push edx
call fcn.004cbc90
add esp, 0x14
pop edi
pop esi
add esp, 0x57c
ret