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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
push edi
mov edi, ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov eax, dword [eax]
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x70]
push ecx
push eax
push edi
mov dword [esp + 0x2c], edi
call fcn.004fd522
test al, al
jne 0x4fd5ca
push dword [ebp + 0x10]
mov eax, esi
push edi
mov ecx, ebx
call fcn.004fdc64
jmp 0x4fdc5b
mov eax, dword [esi]
mov edx, dword [edi + 0x340]
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
movsx ecx, word [ecx + 0xa]
xor edi, edi
inc eax
mov dword [esi], eax
mov dword [esp + 0x7c], edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], edi
mov edx, dword [edx + eax*4]
cmp word [edx + 8], 0x47
mov dword [esp + 0x78], ecx
mov dword [esp + 0x4c], 0x46d4c0
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], edi
je 0x4fd626
push ecx
push 0x6f
jmp 0x4fdc3d
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov eax, esi
lea edx, [esp + 0x20]
mov esi, ebx
call fcn.004fd4c4
test eax, eax
jne 0x4fdc46
mov eax, dword [esp + 0x64]
call fcn.004daeba
cmp dword [esp + 0x30], edi
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
jle 0x4fd832
cmp ecx, dword [esp + 0x1c]
jae 0x4fd832
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
mov eax, dword [eax + 4]
inc dword [esp + 0x2c]
lea eax, [eax + esi*4]
mov esi, dword [eax]
xor dl, dl
cmp word [esi + 8], di
mov dword [esp + 0x34], edi
jne 0x4fd77d
mov esi, eax
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, 0x23
jne 0x4fd6b4
mov dl, 1
jmp 0x4fd6c5
cmp eax, 0x1e
jne 0x4fd8cf
mov dword [esp + 0x34], pe_nt_image_headers32
inc dword [esp + 0x10]
add esi, 4
mov eax, dword [esi]
cmp word [eax + 8], di
je 0x4fd6a7
test dl, dl
je 0x4fd77d
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x33
jne 0x4fd8db
mov edi, dword [eax]
lea ecx, [esp + 0x5c]
push ecx
xor ecx, ecx
lea esi, [esp + 0x64]
call fcn.004e19f0
test al, al
je 0x4fd8e8
mov eax, pe_nt_image_headers32
test dword [esp + 0x60], eax
je 0x4fd71c
test dword [esp + 0x34], eax
je 0x4fd8fe
inc dword [esp + 0x18]
mov esi, dword [esp + 0x5c]
inc dword [esp + 0x10]
cmp dword [esi + 8], 5
jne 0x4fd760
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x4e
jne 0x4fd760
call fcn.004e3e06
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x20]
mov ecx, ebx
call fcn.0050151b
test eax, eax
jne 0x4fdc46
push dword [esp + 0x5c]
lea esi, [esp + 0x3c]
call fcn.004e4c1b
mov eax, esi
push eax
lea esi, [esp + 0x50]
call fcn.004e2cb4
xor edi, edi
jmp 0x4fd7d9
push edi
lea esi, [esp + 0x3c]
call fcn.004e4545
mov eax, esi
push eax
lea esi, [esp + 0x50]
call fcn.004e2cb4
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov eax, dword [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.0050212d
test eax, eax
jne 0x4fdc46
inc dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x41
jne 0x4fd7d9
add dword [esp + 0x10], 2
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x1c]
je 0x4fd832
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x4fd917
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x1c]
je 0x4fd917
mov edx, dword [esp + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + edx*4]
cmp word [eax + 8], 0x40
jne 0x4fd820
inc dword [esp + 0x10]
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x30]
jl 0x4fd677
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x8c]
jl 0x4fdc37
cmp eax, dword [esp + 0x30]
jg 0x4fdc37
cmp ecx, dword [esp + 0x1c]
jne 0x4fdc37
push 3
pop ebx
call fcn.004e1a4d
xor ecx, ecx
inc ecx
cmp dword [esp + 0x30], ecx
mov dword [esp + 0x24], ecx
jl 0x4fd9c3
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
or word [esp + 0x88], 0xffff
mov dword [esp + 0x68], 0x46ca88
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], edi
lea ecx, [eax + ebx*4]
mov esi, dword [ecx]
cmp word [esi + 8], 0
mov word [esp + 0x8a], di
mov byte [esp + 0x23], 0
jne 0x4fda5b
mov esi, ecx
mov ecx, dword [esi]
mov ecx, dword [ecx]
cmp ecx, 0x23
jne 0x4fd927
mov byte [esp + 0x23], 1
jmp 0x4fd931
push 0xffffffffffffffff
push 0x91
jmp 0x4fdc3d
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
jmp 0x4fd8d1
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
push 0x79
jmp 0x4fdc3d
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
push 0xb0
jmp 0x4fdc3d
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
jmp 0x4fd61f
cmp ecx, 0x1e
jne 0x4fd935
mov edi, pe_nt_image_headers32
inc ebx
add esi, 4
mov ecx, dword [esi]
cmp word [ecx + 8], 0
je 0x4fd8bf
cmp byte [esp + 0x23], 0
je 0x4fda5b
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp dword [ecx + 8], 6
jne 0x4fd959
mov ecx, dword [ecx]
jmp 0x4fd95b
xor ecx, ecx
cmp dword [0x48b460], 0
mov eax, dword [eax + ebx*4]
mov esi, dword [eax]
je 0x4fdb77
test ecx, ecx
je 0x4fdb77
push ecx
mov eax, 0x48b460
or edi, 0x200
call fcn.00500df1
push eax
mov eax, edi
mov ecx, esi
call fcn.004e39f8
inc ebx
inc ebx
lea ecx, [esp + 0x80]
call fcn.004e371f
lea ecx, [esp + 0x68]
call fcn.004dad64
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], 4
xor edi, edi
cmp eax, dword [esp + 0x30]
jle 0x4fd878
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x90], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xac], edi
lea edi, [eax + 0x320]
lea esi, [esp + 0x90]
mov dword [eax + 0x340], edx
mov dword [esp + 0x98], ecx
mov byte [esp + 0xa0], 0
mov byte [esp + 0xa8], 0
mov byte [esp + 0xb0], 0
call fcn.004ee479
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
push 0
inc eax
push eax
call fcn.004ee0c4
mov eax, edi
call fcn.004ee547
cmp byte [eax + 0x10], 0
mov eax, dword [ebp + 0x14]
je 0x4fdba7
mov byte [eax], 1
mov eax, edi
call fcn.004ee547
mov ebx, dword [ebp + 0x10]
push eax
call fcn.004e4391
jmp 0x4fdbb4
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x2c]
jle 0x4fdb22
lea esi, [esp + 0x68]
call fcn.004dadf7
mov eax, dword [esp + 0x28]
and dword [esp + 0x34], 0
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx*4 + 8]
movzx ecx, word [eax + 8]
cmp cx, 0x4a
je 0x4fda95
cmp cx, 0x49
je 0x4fda95
push eax
jmp 0x4fdaaa
push eax
lea esi, [esp + 0x6c]
call fcn.004dad7d
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
push dword [eax + ebx*4 + 0xc]
lea esi, [esp + 0x6c]
call fcn.004dad7d
push 0x7f
lea esi, [esp + 0x84]
call fcn.004e3786
mov eax, esi
push eax
lea esi, [esp + 0x6c]
call fcn.004dad7d
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffff
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, esi
push eax
call fcn.0050212d
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx*4]
mov esi, dword [eax]
or edi, 0x200
cmp dword [0x48b460], 0
lea eax, [esp + 0x38]
push eax
jne 0x4fdb0c
push 0x48b45c
jmp 0x4fdb17
mov eax, 0x48b460
call fcn.00500df1
push eax
mov eax, edi
mov ecx, esi
call fcn.004e3973
jmp 0x4fdb3d
mov edx, dword [eax + ebx*4]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov esi, edi
mov edi, dword [edx]
xor eax, eax
or esi, 0x200
inc eax
call fcn.004e19bc
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx*4 + 4]
cmp word [ecx + 8], 0x41
jne 0x4fd990
mov eax, dword [eax + ebx*4 + 8]
movzx eax, word [eax + 8]
cmp ax, 0x4a
je 0x4fdb6f
cmp ax, 0x49
je 0x4fdb6f
add ebx, 4
jmp 0x4fd992
add ebx, 5
jmp 0x4fd992
mov eax, dword [edx + 4]
mov eax, dword [eax + ebx*4]
movsx eax, word [eax + 0xa]
mov ebx, dword [esp + 0x14]
push eax
push 0x79
call fcn.004ecb76
lea ecx, [esp + 0x80]
call fcn.004e371f
lea ecx, [esp + 0x68]
call fcn.004dad64
jmp 0x4fdc46
mov esi, dword [ebp + 0x10]
push 0
mov byte [eax], 0
call fcn.004e4545
mov eax, edi
call fcn.004ee547
cmp byte [eax + 0x18], 0
je 0x4fdbcb
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xa4], ecx
cmp byte [eax + 0x20], 0
je 0x4fdbdb
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xac], eax
mov esi, edi
call fcn.004ee4f0
mov esi, dword [esp + 0x14]
push 0
push dword [esp + 0xa8]
mov eax, esi
call fcn.004ee3b4
push 0
push dword [esp + 0xb0]
mov eax, esi
call fcn.004ee3e7
call fcn.004e1aa5
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x90]
mov dword [esi + 0x340], eax
call fcn.004e3eb4
lea ecx, [esp + 0x38]
call fcn.004e3eb4
lea ecx, [esp + 0x4c]
call fcn.004e2c9b
xor eax, eax
jmp 0x4fdc5b
push dword [esp + 0x78]
push 0x70
mov ebx, dword [esp + 0x1c]
call fcn.004ecb76
lea ecx, [esp + 0x38]
call fcn.004e3eb4
lea ecx, [esp + 0x4c]
call fcn.004e2c9b
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10