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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [esp + 0x74], eax
xor ecx, ecx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x54], ecx
xor eax, eax
mov dword [esp + 0x5c], ecx
mov byte [esp + 0x1f], cl
mov ecx, edx
and ecx, 0x400
mov dword [esp + 0x4c], 0
or eax, ecx
mov dword [esp + 0x50], 0
mov byte [esp + 0x13], 1
jne 0x4d6356
mov byte [esp + 0x13], 0
and edx, 0x100
xor eax, eax
or eax, edx
je 0x4d6366
mov bh, 1
jmp 0x4d6368
xor bh, bh
mov esi, dword [esi]
mov dword [esp + 0x18], esi
mov byte [esp + 0x32], 1
cmp byte [esi + 0x51], 0
jne 0x4d6c91
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx + 0x8f0]
push dword [eax + 0x10]
lea eax, [ecx + 0x958]
push eax
lea ecx, [esp + 0x28]
call fcn.00402cde
cmp dword [esp + 0x20], 1
jne 0x4d6c15
mov ecx, dword [esp + 0x24]
call 0x3da59e
cmp eax, 6
jne 0x4d6c15
add esi, 0x54
cmp dword [esi], 0
jne 0x4d63d7
cmp dword [esi + 4], 0
jne 0x4d63d7
cmp dword [esi + 8], 0
jne 0x4d63d7
cmp dword [esi + 0xc], 0
jne 0x4d63d7
mov eax, 1
jmp 0x4d63d9
xor eax, eax
test al, al
mov edx, 0xb4
sete bl
xor cl, cl
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0x20
add eax, edx
cmp eax, edx
jb 0x4d63f9
mov edx, eax
mov cl, 1
mov dword [esp + 0x3c], 0
test cl, cl
je 0x4d6425
mov ecx, dword [edi + 0x20]
push edx
call 0x3bcd8e
mov ecx, eax
mov dword [esp + 0x3c], ecx
test bl, bl
je 0x4d6427
and byte [ecx + 0x18], 0xcf
add ecx, 0x20
mov dword [esp + 0x3c], ecx
jmp 0x4d6427
xor ecx, ecx
mov al, byte [ecx + 1]
xor al, bl
mov byte [ecx], 8
and al, 1
xor byte [ecx + 1], al
push ecx
mov ecx, edi
call fcn.004e077e
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x4c], 0
je 0x4d6459
push esi
push 0x7704
push edi
call fcn.004de2be
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [eax + 0x48]
mov esi, dword [eax + 0x44]
mov dword [esp + 0x60], ecx
mov ecx, esi
call fcn.004d342e
mov dword [esp + 0x2c], eax
and eax, 0xfffffff0
mov dword [esp + 0x14], edx
mov ecx, eax
and edx, 0xff7ff7f7
or ecx, edx
je 0x4d64d7
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x4d648e
lea eax, [esp + 0x34]
mov ecx, edi
push eax
push esi
lea eax, [esp + 0x28]
push eax
call fcn.004de3fe
push eax
push dword [esp + 0x38]
push 0x76bc
push edi
call fcn.004de2be
mov eax, dword [esp + 0x30]
add esp, 0x10
or eax, dword [esp + 0x24]
jne 0x4d648e
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
and esi, 0xf
and eax, 0x800808
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], eax
jmp 0x4d64df
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
cmp byte [ebp + 0x10], 0
je 0x4d655b
mov ecx, esi
mov edx, eax
and ecx, 0x4002af
and edx, 0x800008
mov eax, ecx
or eax, edx
je 0x4d655b
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov esi, dword [eax + 0x44]
lea esp, [esp]
lea eax, [esp + 0x34]
mov ecx, edi
push eax
push esi
lea eax, [esp + 0x28]
push eax
call fcn.004de3fe
push eax
push dword [esp + 0x38]
push 0x795d
push edi
call fcn.004de2be
mov eax, dword [esp + 0x30]
add esp, 0x10
or eax, dword [esp + 0x24]
jne 0x4d650e
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
and esi, 0xffbffd50
and edx, 0xff7ffff7
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], edx
jmp 0x4d655f
mov edx, dword [esp + 0x14]
mov bl, byte [ebp + 0xc]
mov ecx, esi
and ecx, 2
and edx, 8
mov eax, ecx
or eax, edx
je 0x4d65e2
test bl, bl
je 0x4d658d
cmp byte [esp + 0x13], 0
je 0x4d6582
mov esi, 0x76e4
jmp 0x4d6592
test bh, bh
je 0x4d65e2
mov esi, 0x76e3
jmp 0x4d6592
mov esi, 0x7947
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov ebx, dword [eax + 0x44]
lea eax, [esp + 0x34]
mov ecx, edi
push eax
push ebx
lea eax, [esp + 0x28]
push eax
call fcn.004de3fe
push eax
push dword [esp + 0x38]
push esi
push edi
call fcn.004de2be
mov eax, dword [esp + 0x30]
add esp, 0x10
or eax, dword [esp + 0x24]
jne 0x4d65a1
mov esi, dword [esp + 0x2c]
and dword [esp + 0x14], 0xfffffff7
and esi, 0xfffffffd
mov bl, byte [ebp + 0xc]
or esi, 4
mov dword [esp + 0x2c], esi
mov eax, esi
and eax, 1
or eax, 0
je 0x4d6606
test bl, bl
jne 0x4d6606
mov eax, dword [esp + 0x18]
add eax, 0x54
push eax
push 0x7971
push edi
call fcn.004de2be
add esp, 0xc
mov edx, dword [esp + 0x14]
xor eax, eax
mov ecx, edx
and ecx, 0x800
or eax, ecx
je 0x4d6650
test bl, bl
jne 0x4d6650
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
push dword [eax + 0x844]
mov eax, dword [esp + 0x1c]
add eax, 0x54
push eax
push 0x7dc8
push edi
call fcn.004de2be
mov edx, dword [esp + 0x24]
add esp, 0x10
and edx, 0xfffff7ff
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], edx
mov ecx, esi
mov eax, edx
and ecx, 0xf
and eax, 0x800008
or ecx, eax
jne 0x4d667b
lea eax, [ecx + 4]
test bl, bl
jne 0x4d666c
mov eax, 8
or esi, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x2c], esi
mov byte [esp + 0x32], 0
cmp byte [esp + 0x13], 0
je 0x4d66e4
mov ecx, esi
and edx, 0x808
and ecx, 0x24002a2
mov eax, ecx
or eax, edx
je 0x4d66e4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov esi, dword [eax + 0x44]
lea eax, [esp + 0x34]
mov ecx, edi
push eax
push esi
lea eax, [esp + 0x28]
push eax
call fcn.004de3fe
push eax
push dword [esp + 0x38]
push 0x780f
push edi
call fcn.004de2be
mov eax, dword [esp + 0x30]
add esp, 0x10
or eax, dword [esp + 0x24]
jne 0x4d66a5
and dword [esp + 0x2c], 0xfdbffd5d
and dword [esp + 0x14], 0xfffff7f7
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x4d675a
mov eax, dword [edx]
test eax, eax
je 0x4d675a
cmp eax, 0x16
jne 0x4d6727
lea eax, [edx + 4]
push eax
push 0x7d81
push edi
call fcn.004de2be
add esp, 0xc
mov ebx, 0x65e2b8
mov ecx, ebx
mov dword [esp + 0x48], ebx
call 0x3db1de
mov esi, eax
mov dword [esp + 0x44], eax
jmp 0x4d6770
push 0
push 0
push 0
push 0
mov ecx, edi
call fcn.004e09be
push eax
push dword [esp + 0x50]
mov ecx, edi
push 0
push edx
call fcn.004d263e
mov ebx, eax
mov dword [esp + 0x48], eax
mov ecx, ebx
call 0x3db1de
mov esi, eax
mov dword [esp + 0x44], eax
jmp 0x4d6770
mov eax, dword [edi + 0x14]
mov esi, 8
mov dword [esp + 0x44], esi
mov ebx, dword [eax + 0x1254]
mov dword [esp + 0x48], ebx
mov ecx, ebx
call 0x3dd2de
test al, al
jne 0x4d67cc
mov al, byte [esi + 0x40681c]
test al, al
je 0x4d67a2
mov ecx, ebx
call 0x3db06e
test al, al
je 0x4d67a2
mov ecx, ebx
call 0x3dca2e
mov dword [esp + 0x38], eax
mov byte [esp + 0x13], 0
jmp 0x4d67dd
cmp byte [ebx], 3
je 0x4d67cc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x8c]
add eax, 4
push eax
push 0x77ba
push edi
call fcn.004de2be
mov ebx, 0x65e2b8
add esp, 0xc
mov dword [esp + 0x48], ebx
mov byte [esp + 0x13], 1
mov dword [esp + 0x44], 8
mov dword [esp + 0x38], ebx
cmp byte [ebp + 0x14], 0
je 0x4d67f0
push dword [esp + 0x3c]
mov ecx, edi
call fcn.004e0a5e
jmp 0x4d67f4
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x58], eax
test eax, eax
je 0x4d6a95
lea ecx, [ecx]
mov esi, dword [eax]
mov eax, dword [esi]
cmp eax, 0x20
je 0x4d6820
cmp eax, 0x21
jne 0x4d6a4b
cmp byte [esi + 0x31], 0
jne 0x4d6a5e
cmp dword [esi + 0x2c], 0
mov eax, dword [esi + 0x28]
mov dword [esp + 0x20], eax
je 0x4d6849
lea eax, [esi + 0x34]
push eax
push 0x7704
push edi
call fcn.004de2be
add esp, 0xc
cmp dword [esi + 0x34], 0
lea ebx, [esi + 0x34]
jne 0x4d686b
cmp dword [ebx + 4], 0
jne 0x4d686b
cmp dword [ebx + 8], 0
jne 0x4d686b
cmp dword [ebx + 0xc], 0
jne 0x4d686b
mov eax, 1
jmp 0x4d686d
xor eax, eax
test al, al
lea ecx, [edi + 0x1c]
push 0
sete al
movzx eax, al
push eax
push 0x11
call fcn.00418cee
xor ecx, ecx
mov edx, eax
cmp dword [esi], 0x21
mov dword [esp + 0x34], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x68], ecx
jne 0x4d68bd
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x3c]
push eax
push edx
push 1
push ecx
push dword [esi + 0x48]
mov ecx, edi
call fcn.004d82de
mov eax, dword [esp + 0x68]
mov byte [esp + 0x1f], 1
jmp 0x4d69df
cmp byte [esp + 0x1f], cl
jne 0x4d6992
cmp byte [esp + 0x13], cl
jne 0x4d6965
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x33]
push edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x60]
push ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x84], ecx
mov ecx, edx
push eax
mov dword [esp + 0x84], eax
mov byte [esp + 0x3f], 0
call fcn.00470e0e
cmp byte [esp + 0x33], 0
je 0x4d694c
mov ecx, dword [esp + 0x38]
call 0x3c4d6e
push dword [eax + 4]
push ebx
push 0x76e7
push edi
call fcn.004de2be
mov eax, dword [esp + 0x50]
add esp, 0x10
add dword [esp + 0x54], 1
adc dword [esp + 0x5c], 0
jmp 0x4d69df
lea eax, [esp + 0x78]
push eax
lea ecx, [edi + 0x1c]
call fcn.00416b9e
add dword [esp + 0x54], 1
adc dword [esp + 0x5c], 0
jmp 0x4d69df
push 1
push 0x424b00
push ecx
mov ecx, edi
call fcn.004e099e
push eax
mov ecx, edi
call fcn.004e096e
push eax
push edx
push ebx
lea ecx, [edi + 0x1c]
call fcn.0041694e
mov byte [esp + 0x1f], 1
or byte [eax + 0x28], 8
jmp 0x4d69bc
push 0
push 0
push ecx
mov ecx, edi
call fcn.004e099e
push eax
mov ecx, edi
call fcn.004e096e
push eax
push edx
push ebx
lea ecx, [edi + 0x1c]
call fcn.0041694e
mov ecx, dword [esp + 0x4c]
or byte [eax + 0x28], 4
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x40], eax
call 0x3e941e
mov ecx, dword [esp + 0x40]
movzx eax, al
neg eax
sbb eax, eax
not eax
and eax, dword [esp + 0x38]
mov dword [ecx + 0xc], eax
mov eax, ecx
cmp byte [esi + 0x30], 1
jne 0x4d69ec
mov ecx, 0x8000
jmp 0x4d69ee
xor ecx, ecx
or ecx, 0x404
cmp dword [ebx], 0
jne 0x4d6a0d
cmp dword [ebx + 4], 0
jne 0x4d6a0d
cmp dword [ebx + 8], 0
jne 0x4d6a0d
cmp dword [ebx + 0xc], 0
jne 0x4d6a0d
xor ebx, ebx
push dword [esp + 0x34]
lea edx, [esp + 0x50]
push edx
push eax
push dword [esp + 0x70]
mov eax, dword [esp + 0x30]
push 0
push 0
push ecx
push eax
push eax
push ebx
call fcn.00416ede
mov ebx, dword [esp + 0x34]
mov ecx, edi
push 0
push ebx
push dword [esi + 0x44]
call fcn.004d47be
push ebx
push dword [esp + 0x5c]
mov ecx, edi
call fcn.004d4afe
jmp 0x4d6a5e
cmp eax, 0x3c
jne 0x4d6a5e
cmp byte [esi + 0x44], 1
jne 0x4d6a5e
push esi
mov ecx, edi
call fcn.004d4c9e
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x4d680e
mov ebx, dword [esp + 0x50]
test ebx, ebx
jne 0x4d6a9b
mov esi, dword [esp + 0x18]
push dword [esp + 0x60]
lea eax, [esi + 0x54]
push eax
push 0x7648
push edi
call fcn.004de2be
add esp, 0x10
jmp 0x4d6a9f
mov ebx, dword [esp + 0x50]
jmp 0x4d6a7d
mov esi, dword [esp + 0x18]
push 0
push 0
push 0x10
lea ecx, [edi + 0x1c]
call fcn.00418cee
mov ecx, dword [edi + 0x10]
mov edx, eax
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x100]
and byte [edx + 1], 0xe7
mov dword [edx + 0x50], eax
mov al, byte [edx + 0x4a]
and al, 0xf6
mov dword [edx + 4], ecx
or al, 2
mov dword [edx + 8], ecx
mov cl, byte [edx + 0x49]
mov byte [edx + 0x4a], al
and cl, 0xf6
mov eax, dword [edx + 0x5c]
or cl, 6
and eax, 0xffffff17
mov byte [edx + 0x49], cl
or eax, 0x10
and cl, 0xf
and eax, 0xffffddf9
or eax, 1
and eax, 0xfffffbff
mov dword [edx + 0x5c], eax
and al, 7
cmp al, 2
je 0x4d6b09
or cl, 0x10
inc ebx
mov byte [edx + 0x49], cl
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x50], ebx
lea ebx, [esi + 0x54]
mov dword [edx + 0x4c], ecx
cmp dword [ebx], 0
mov dword [esp + 0x4c], edx
jne 0x4d6b38
cmp dword [ebx + 4], 0
jne 0x4d6b38
cmp dword [ebx + 8], 0
jne 0x4d6b38
cmp dword [ebx + 0xc], 0
jne 0x4d6b38
xor ebx, ebx
mov eax, dword [edi + 0xa4]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov esi, dword [eax + ecx*4 - 4]
mov ecx, dword [edi + 0x14]
add esi, 4
mov eax, dword [ecx + 0x8f0]
push dword [eax + 0x10]
lea eax, [ecx + 0x958]
push eax
lea ecx, [esp + 0x28]
call fcn.00402cde
push dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x50]
push dword [esp + 0x78]
dec eax
push 0
push esi
push ecx
mov ecx, dword [esp + 0x28]
neg eax
push 0
push dword [esp + 0x5c]
sbb eax, eax
or ecx, 0x2000
push ecx
push dword [esp + 0x4c]
not eax
lea ecx, [edi + 0x1c]
and eax, dword [esp + 0x48]
push 0
push eax
push dword [edi + 0x4c]
mov eax, dword [esp + 0x90]
push dword [edi + 0x54]
push eax
push eax
push ebx
call fcn.004176be
mov ebx, dword [esp + 0x3c]
mov ecx, edi
mov eax, dword [esp + 0x48]
push 0
push ebx
mov dword [ebx + 0x98], eax
xor eax, eax
cmp byte [esp + 0x3a], al
sete al
shl eax, 0x14
xor eax, dword [ebx + 0x90]
and eax, 0x100000
xor dword [ebx + 0x90], eax
mov eax, dword [esp + 0x20]
push dword [eax + 0x68]
call fcn.004d47be
mov ecx, edi
call fcn.004e08fe
mov ecx, edi
call fcn.004e083e
push ebx
push dword [esp + 0x70]
mov ecx, edi
call fcn.004d4afe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov esi, dword [edi + 0x14]
mov ebx, dword [edi + 0x50]
add esi, 0x8f0
test ebx, ebx
je 0x4d6c91
mov eax, dword [esi]
lea ecx, [esp + 0x6c]
push dword [eax + 0x10]
lea eax, [esi + 0x68]
push eax
call fcn.00402cde
cmp dword [esp + 0x6c], 0
mov ecx, esi
push 5
jne 0x4d6c67
call fcn.0040178e
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x54
push eax
push 0x7532
push ebx
call 0x3cd1ce
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
call fcn.0040173e
push eax
push ecx
push 5
mov ecx, esi
call fcn.004013ee
add esp, 4
push eax
mov eax, dword [esp + 0x20]
add eax, 0x54
push eax
push 0x7760
push ebx
call 0x3cd1ce
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c