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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x4d6b4d
sub esp, 0xa4
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xd0]
sub eax, ecx
mov ebx, dword [esp + 0xb0]
test ebx, ebx
jle 0x4d6aac
mov ebp, dword [esp + 0xbc]
test ebp, ebp
jle 0x4d6a9e
lea esi, [ebx - 1]
cmp esi, ebx
jae 0x4d6b46
mov esi, dword [esp + 0xa8]
lea edi, [esi + ebx*4 - 4]
lea edx, [ebp - 1]
cmp edx, ebp
jae 0x4d6b46
mov edx, dword [esp + 0xb4]
lea edx, [edx + ebp*4 - 4]
cmp edx, edi
sete dl
test dl, dl
je 0x4d69cf
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x64], eax
lea esi, [eax + 1]
cmp esi, ebx
jg 0x4d699e
ja 0x4d6b31
mov dword [esp + 0x30], ebx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x2c], esi
lea eax, [ecx + 1]
mov dword [esp], eax
call fcn.004d6050
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov ebx, dword [eax + 8]
mov ebp, dword [esp + 0xbc]
test ebp, ebp
jle 0x4d6982
mov esi, dword [esp + 0xc8]
test esi, esi
jle 0x4d696d
lea edi, [ebp - 1]
cmp edi, ebp
jae 0x4d6b2a
mov edi, dword [esp + 0xb4]
lea edx, [edi + ebp*4 - 4]
lea eax, [esi - 1]
cmp eax, esi
jae 0x4d6b2a
mov eax, dword [esp + 0xc0]
lea ecx, [eax + esi*4 - 4]
cmp ecx, edx
sete cl
mov dword [esp + 0x58], ebx
test cl, cl
je 0x4d68ef
xor ecx, ecx
xor edx, edx
mov ebp, dword [esp + 0xc4]
lea edi, [ebp + 1]
cmp edi, edx
jg 0x4d68c5
ja 0x4d6b1c
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x9c], ecx
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call fcn.004d36d0
mov eax, dword [esp + 0xd0]
lea ecx, [eax - 1]
cmp ecx, eax
jae 0x4d6b15
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0xcc]
mov edx, dword [ecx + eax*4 - 4]
mov dword [esp], edx
call fcn.004cd3d0
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
test eax, eax
ja 0x4d683c
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xd4]
xor ebp, ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0x34]
cmp esi, edi
ja 0x4d6b0e
mov dword [esp + 0x74], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x84], ebp
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
call fcn.004db590
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x4d6b07
mov ebx, dword [esp + 0x9c]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
jae 0x4d6b00
mov eax, dword [esp + 0xd0]
mov ebp, dword [esp + 0x98]
mov esi, dword [ebp + eax*4 - 4]
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0x64]
jmp 0x4d65bc
mov dword [esp + 0x70], eax
mov dword [esp + 0x50], edi
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.004db470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x9c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0x60]
cmp eax, esi
jbe 0x4d6716
mov eax, 1
test al, al
je 0x4d6709
mov eax, dword [esp + 0x5c]
dec eax
mov ecx, dword [esp + 0x40]
lea edi, [ecx + esi]
cmp edi, esi
jae 0x4d63ff
mov ebp, dword [esp + 0x58]
cmp edx, ebp
ja 0x4d6add
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xd4]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
call fcn.004db630
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x54]
cmp ecx, edx
jae 0x4d6ad6
mov ebx, dword [esp + 0x90]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x64]
lea ebp, [eax + edx]
cmp eax, ebp
ja 0x4d6acf
mov esi, dword [esp + 0x34]
cmp ebp, esi
ja 0x4d6acf
sub esi, eax
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
shl eax, 2
sar esi, 0x1f
and esi, eax
mov eax, dword [esp + 0x9c]
add esi, eax
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x28]
cmp ebp, eax
ja 0x4d6acf
mov dword [esp + 0x6c], edi
mov dword [esp + 0x94], esi
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
sub eax, ebp
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x20], edx
call fcn.004db4f0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4d6688
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jae 0x4d6ac1
mov ebx, dword [esp + 0xa0]
mov dword [ebx + ecx*4], eax
lea edi, [ecx - 1]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x40]
test edi, edi
jl 0x4d6739
lea ecx, [eax + edi]
cmp ecx, edx
jae 0x4d6af9
mov dword [esp + 0x64], edi
mov dword [esp + 0x78], ecx
mov ecx, dword [ebx + ecx*4]
cmp ecx, esi
je 0x4d6729
lea edi, [edi + eax - 1]
cmp edi, edx
jae 0x4d6af2
mov eax, dword [ebx + edi*4]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], esi
call fcn.004db490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xd0]
lea ebx, [edx - 2]
mov ebp, dword [esp + 0x74]
cmp ebx, ebp
jae 0x4d6aeb
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x98]
mov ebx, dword [ecx + edx*4 - 8]
mov dword [esp + 0x3c], ebx
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004db470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x64]
lea ebp, [ebx + edx - 2]
mov esi, dword [esp + 0x28]
cmp ebp, esi
jae 0x4d6ae4
mov edi, dword [esp + 0x9c]
mov ebp, dword [edi + ebp*4]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
jmp 0x4d6450
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
ja 0x4d6ac8
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0xd0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x74]
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x20], ebx
call fcn.004db4b0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x9c]
mov ebx, dword [edx + ecx*4]
add eax, ebx
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x5c]
dec eax
jmp 0x4d657e
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
jmp 0x4d6479
jne 0x4d6722
cmp ecx, ebp
seta al
jmp 0x4d6461
xor eax, eax
jmp 0x4d6461
mov ecx, esi
mov edx, eax
mov ebx, edi
mov eax, 0xffffffff
jmp 0x4d6479
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x4d682f
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.004d6150
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
call fcn.004d3710
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x94], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], edi
call fcn.004db5e0
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
call fcn.004d3710
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
add esp, 0xa4
ret
mov dword [esp], eax
call fcn.004d6150
jmp 0x4d6748
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.004d6050
mov eax, dword [esp + 4]
mov dword [esp + 0x84], eax
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov edx, dword [eax]
mov dword [esp + 0x88], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x48], ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xcc]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xd0]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x18], esi
call fcn.004db590
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x84]
jmp 0x4d634e
lea eax, [0x5cf940]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [ebp + 5]
mov dword [esp + 8], eax
call fcn.004387d0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
jmp 0x4d62df
test ebp, ebp
jle 0x4d695b
mov ecx, dword [esp + 0xd4]
test ecx, ecx
jle 0x4d6950
lea edx, [ebp - 1]
cmp edx, ebp
jae 0x4d6b23
lea edx, [edi + ebp*4 - 4]
lea ebx, [ecx - 1]
cmp ebx, ecx
jae 0x4d6b23
mov ebx, dword [esp + 0xcc]
lea esi, [ebx + ecx*4 - 4]
cmp esi, edx
sete dl
test dl, dl
je 0x4d693c
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0xc8]
jmp 0x4d62c3
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0xc8]
mov ecx, edi
mov edx, ebp
jmp 0x4d62c7
mov ebx, dword [esp + 0xcc]
xor edx, edx
jmp 0x4d6928
mov ecx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xcc]
xor edx, edx
jmp 0x4d6928
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0xb4]
xor ecx, ecx
jmp 0x4d62b7
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xc8]
mov edi, dword [esp + 0xb4]
xor ecx, ecx
jmp 0x4d62b7
lea ecx, [0x5cf940]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea edx, [eax + 5]
mov dword [esp + 8], edx
call fcn.004387d0
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xd0]
jmp 0x4d6230
test ebx, ebx
jle 0x4d6a90
mov edx, dword [esp + 0xc8]
test edx, edx
jle 0x4d6a8c
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4d6b3f
lea edi, [esi + ebx*4 - 4]
lea ebp, [edx - 1]
cmp ebp, edx
jae 0x4d6b3f
mov ebp, dword [esp + 0xc0]
lea ebp, [ebp + edx*4 - 4]
cmp ebp, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4d6a26
mov ebp, dword [esp + 0xbc]
jmp 0x4d6217
test ebx, ebx
jle 0x4d6a81
mov ebp, dword [esp + 0xd4]
test ebp, ebp
jle 0x4d6a7d
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4d6b38
lea edi, [esi + ebx*4 - 4]
lea edx, [ebp - 1]
cmp edx, ebp
jae 0x4d6b38
mov edx, dword [esp + 0xcc]
lea edx, [edx + ebp*4 - 4]
cmp edx, edi
sete dl
test dl, dl
je 0x4d6a6f
mov ebp, dword [esp + 0xbc]
jmp 0x4d6217
mov ebp, dword [esp + 0xbc]
mov edx, esi
jmp 0x4d621b
xor edx, edx
jmp 0x4d6a5f
mov ebp, dword [esp + 0xd4]
xor edx, edx
jmp 0x4d6a5f
xor ebp, ebp
jmp 0x4d6a14
mov edx, dword [esp + 0xc8]
xor ebp, ebp
jmp 0x4d6a14
mov esi, dword [esp + 0xa8]
xor edx, edx
jmp 0x4d620f
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xa8]
xor edx, edx
jmp 0x4d620f
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.00425810
ud2
call fcn.0044a470
jmp fcn.004d6190