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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x50]
cmp eax, dword [ecx + 8]
jbe 0x4e41ae
sub esp, 0xd0
nop
mov ebx, dword [esp + 0xe0]
mov ebp, ebx
and ebx, 0x1f
cmp ebx, 0xa
jbe 0x4e3e06
cmp ebx, 0xf
jbe 0x4e3b00
cmp ebx, 0x11
ja 0x4e38c0
cmp ebx, 0x10
je 0x4e37a5
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004d3790
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], eax
xor ecx, ecx
jmp 0x4e379a
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004d2c50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xd4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.004e36c0
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x44]
cmp eax, ecx
jg 0x4e373b
add esp, 0xd0
ret
mov ebx, dword [esp + 0xd4]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
lea ecx, [eax + 8]
cmp ecx, edx
ja 0x4e414d
cmp eax, ecx
ja 0x4e4148
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ecx, dword [ecx + 0x28]
mov dword [esp], ebp
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
mov dword [esp + 4], eax
mov dword [esp + 8], 8
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xd4]
add dword [edx + 0x14], 8
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
movsd xmm0, qword [esp + 0x74]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 8]
mov ebx, dword [edx + 0x14]
lea ebp, [ebx + 8]
cmp eax, ebp
jb 0x4e413f
cmp ebx, ebp
ja 0x4e4136
movsd qword [esp + 0x6c], xmm0
mov ebp, dword [edx]
mov esi, dword [edx + 4]
mov ebp, dword [ebp + 0x28]
mov dword [esp], esi
sub eax, ebx
mov esi, eax
neg eax
sar eax, 0x1f
and ebx, eax
lea eax, [ecx + ebx]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
mov dword [esp + 0xc], esi
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xd4]
add dword [edx + 0x14], 8
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
movsd xmm0, qword [esp + 0x7c]
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
movsd xmm1, qword [esp + 0x6c]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 0x14], xmm0
call fcn.004d54d0
jmp 0x4e379e
cmp ebx, 0x17
je 0x4e3a6e
cmp ebx, 0x19
jne 0x4e379e
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xe0]
mov dword [esp + 8], ebp
call fcn.004d4530
lea eax, [esp + 8]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
xor edx, edx
jmp 0x4e3951
mov ebx, dword [esp + 0x50]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x48]
cmp ecx, edx
jle 0x4e379e
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.004d2590
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, eax
and eax, 0x160
cmp eax, 0x100
jne 0x4e39bd
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004e36c0
jmp 0x4e393f
mov dword [esp + 0x68], ebx
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x8c]
mov dword [esp], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 4], ebx
call ecx
lea edi, [esp + 0x9c]
mov esi, dword [esp + 0x98]
call fcn.0046127e
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0xa0], 1
je 0x4e3a66
mov eax, 1
test al, al
je 0x4e3a2e
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x68]
jmp 0x4e39a0
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
call fcn.004e3160
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x14]
add ecx, dword [esp + 0xc]
mov dword [eax + 0x14], ecx
jmp 0x4e393f
cmp byte [eax], 0x5f
setne al
jmp 0x4e3a13
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004d3790
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
xor ecx, ecx
jmp 0x4e3af7
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004d2c50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xd4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.004e36c0
mov eax, dword [esp + 0x54]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x4c]
cmp eax, ecx
jg 0x4e3a98
jmp 0x4e379e
cmp ebx, 0xd
ja 0x4e3c47
cmp ebx, 0xb
jne 0x4e3ba4
mov ebx, dword [esp + 0xd4]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
lea ecx, [eax + 8]
cmp edx, ecx
jb 0x4e4185
cmp eax, ecx
ja 0x4e4180
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ecx, dword [ecx + 0x28]
mov dword [esp], ebp
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
mov dword [esp + 4], eax
mov dword [esp + 8], 8
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xd4]
add dword [edx + 0x14], 8
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004d5bd0
jmp 0x4e379e
cmp ebx, 0xd
jne 0x4e379e
mov ebx, dword [esp + 0xd4]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
lea ecx, [eax + 4]
cmp edx, ecx
jb 0x4e417b
cmp eax, ecx
ja 0x4e4176
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ecx, dword [ecx + 0x24]
mov dword [esp], ebp
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd4]
add dword [ecx + 0x14], 4
mov dword [esp + 0x5c], eax
movss xmm0, dword [esp + 0x5c]
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
cvtss2sd xmm0, xmm0
movsd qword [esp + 0xc], xmm0
call fcn.004d55a0
jmp 0x4e379e
cmp ebx, 0xe
jne 0x4e3cf7
mov ebx, dword [esp + 0xd4]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
lea ecx, [eax + 8]
cmp edx, ecx
jb 0x4e4171
cmp eax, ecx
ja 0x4e416c
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ecx, dword [ecx + 0x28]
mov dword [esp], ebp
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
mov dword [esp + 4], eax
mov dword [esp + 8], 8
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xd4]
add dword [edx + 0x14], 8
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
movsd xmm0, qword [esp + 0x84]
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
movsd qword [esp + 0xc], xmm0
call fcn.004d55a0
jmp 0x4e379e
mov ebx, dword [esp + 0xd4]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
lea ecx, [eax + 4]
cmp edx, ecx
jb 0x4e4167
cmp eax, ecx
ja 0x4e4162
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ecx, dword [ecx + 0x24]
mov dword [esp], ebp
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd4]
add dword [ecx + 0x14], 4
mov dword [esp + 0x64], eax
movss xmm0, dword [esp + 0x64]
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 8]
mov ebx, dword [ecx + 0x14]
lea ebp, [ebx + 4]
cmp ebp, edx
ja 0x4e415b
cmp ebx, ebp
ja 0x4e4152
movss dword [esp + 0x3c], xmm0
mov ebp, dword [ecx]
mov esi, dword [ecx + 4]
mov ebp, dword [ebp + 0x24]
mov dword [esp], esi
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
add eax, ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd4]
add dword [ecx + 0x14], 4
mov dword [esp + 0x60], eax
movss xmm0, dword [esp + 0x60]
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
movss xmm1, dword [esp + 0x3c]
cvtss2sd xmm1, xmm1
movsd qword [esp + 0xc], xmm1
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x14], xmm0
call fcn.004d54d0
jmp 0x4e379e
cmp ebx, 5
ja 0x4e3f59
cmp ebx, 3
ja 0x4e3ec3
cmp ebx, 1
jne 0x4e3e69
mov edx, dword [esp + 0xd4]
mov ecx, dword [edx + 0xc]
mov ebx, dword [edx + 8]
mov eax, dword [edx + 0x14]
cmp eax, ecx
jae 0x4e41a8
movzx ecx, byte [ebx + eax]
inc eax
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
test cl, cl
setne al
mov byte [esp + 0xc], al
call fcn.004d51a0
jmp 0x4e379e
cmp ebx, 3
jne 0x4e379e
nop
mov edx, dword [esp + 0xd4]
mov ecx, dword [edx + 0xc]
mov ebx, dword [edx + 8]
mov eax, dword [edx + 0x14]
cmp eax, ecx
jae 0x4e41a3
lea ecx, [ebx + eax]
movsx ecx, byte [ecx]
inc eax
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
sar ecx, 0x1f
mov dword [esp + 0x10], ecx
call fcn.004d5660
jmp 0x4e379e
cmp ebx, 4
jne 0x4e3f11
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.004e3530
movsx eax, word [esp + 4]
mov ecx, dword [esp + 0xd8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.004d5660
jmp 0x4e379e
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.004e35b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.004d5660
jmp 0x4e379e
cmp ebx, 8
ja 0x4e4008
cmp ebx, 6
je 0x4e3fbf
cmp ebx, 8
jne 0x4e379e
mov edx, dword [esp + 0xd4]
mov ecx, dword [edx + 0xc]
mov ebx, dword [edx + 8]
mov eax, dword [edx + 0x14]
cmp eax, ecx
jae 0x4e419e
movzx ecx, byte [ebx + eax]
inc eax
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
call fcn.004d5bd0
jmp 0x4e379e
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.004e3630
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004d5660
jmp 0x4e379e
cmp ebx, 9
jne 0x4e40a4
mov ebx, dword [esp + 0xd4]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
lea ecx, [eax + 2]
cmp ecx, edx
ja 0x4e4199
cmp eax, ecx
ja 0x4e4194
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ecx, dword [ecx + 0x20]
mov dword [esp], ebp
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xd4]
add dword [ecx + 0x14], 2
mov ecx, dword [esp + 0xd8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004d5bd0
jmp 0x4e379e
mov ebx, dword [esp + 0xd4]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
lea ecx, [eax + 4]
cmp ecx, edx
ja 0x4e418f
cmp eax, ecx
ja 0x4e418a
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ecx, dword [ecx + 0x24]
mov dword [esp], ebp
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd4]
add dword [ecx + 0x14], 4
mov ecx, dword [esp + 0xd8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004d5bd0
jmp 0x4e379e
mov eax, ebx
mov ecx, ebp
call fcn.00460c20
mov ecx, ebp
mov edx, eax
call fcn.00460c00
call fcn.00460c20
call fcn.00460c00
mov eax, ebx
mov ecx, ebp
call fcn.00460c20
mov ecx, ebp
call fcn.00460c00
call fcn.00460c20
call fcn.00460c00
call fcn.00460c20
call fcn.00460c00
call fcn.00460c20
call fcn.00460c00
call fcn.00460c20
call fcn.00460c00
call fcn.00460c20
call fcn.00460c00
call fcn.00460c20
call fcn.00460c00
call fcn.00460bc0
call fcn.00460bc0
call fcn.00460bc0
nop
call fcn.0045f5f0
jmp fcn.004e36c0