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

Disassembly:
sub esp, 0x30
push esi
mov esi, dword [esp + 0x40]
push edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x2c], 0
mov eax, dword [edi]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
test esi, esi
jne 0x4fcbb1
pop edi
xor eax, eax
pop esi
add esp, 0x30
ret
cmp dword [edi + 0x10c], eax
jne 0x4fcba9
cmp dword [esi + 0x40], eax
jne 0x4fcba9
push ebx
mov ebx, dword [esp + 0x44]
push ebx
push edi
call fcn.004d0b70
add esp, 8
test eax, eax
jne 0x4fccb6
cmp dword [ebx + 0x38], eax
jne 0x4fccb6
cmp dword [esp + 0x4c], 0xb
jne 0x4fcc00
cmp word [ebx + 0x28], ax
jl 0x4fcbf8
movzx eax, byte [ebx + 0x32]
mov dword [esp + 0x4c], eax
cmp eax, 0xb
jne 0x4fcc00
mov dword [esp + 0x4c], 2
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 1
jne 0x4fccb6
cmp dword [ecx + 0x1c], 0
jne 0x4fccb6
cmp dword [esi + 0x24], 0
jne 0x4fccb6
cmp dword [esi + 0x30], 0
jne 0x4fccb6
cmp dword [esi + 0x28], 0
jne 0x4fccb6
cmp dword [esi + 0x3c], 0
jne 0x4fccb6
cmp dword [esi + 0x34], 0
jne 0x4fccb6
test byte [esi + 4], 1
jne 0x4fccb6
mov eax, dword [esi + 0x1c]
cmp dword [eax], 1
jne 0x4fccb6
mov eax, dword [eax + 4]
cmp byte [eax], 0xb1
jne 0x4fccb6
lea eax, [ecx + 8]
push eax
push 0
push edi
call fcn.004c2a50
mov edx, eax
add esp, 0xc
mov dword [esp + 0xc], edx
test edx, edx
je 0x4fccb6
mov eax, dword [edx + 0x1c]
cmp eax, dword [ebx + 0x1c]
jne 0x4fcc7f
mov eax, dword [edx + 0x48]
cmp eax, dword [ebx + 0x48]
je 0x4fccb6
mov ecx, dword [ebx + 0x24]
mov eax, dword [edx + 0x24]
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x4fccb6
cmp dword [edx + 0x38], 0
jne 0x4fccb6
cmp dword [edx + 0xc], 0
jne 0x4fccb6
movzx ecx, word [ebx + 0x2a]
cmp cx, word [edx + 0x2a]
jne 0x4fccb6
mov ax, word [ebx + 0x28]
cmp ax, word [edx + 0x28]
je 0x4fccbf
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x30
ret
push ebp
xor eax, eax
xor ebp, ebp
cmp ax, cx
jge 0x4fcdbe
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov esi, dword [ebx + 4]
mov edi, dword [edx + 4]
add esi, ecx
add edi, ecx
mov cx, word [esi + 0x10]
mov ax, word [edi + 0x10]
and cx, 0x60
and ax, 0x60
cmp cx, ax
jne 0x4fd29f
test cx, cx
je 0x4fcd15
push 0xffffffffffffffff
push dword [esi + 4]
push dword [edi + 4]
push 0
call fcn.004b26a0
add esp, 0x10
test eax, eax
jne 0x4fd29f
mov al, byte [esi + 0xd]
cmp al, byte [edi + 0xd]
jne 0x4fd29f
push dword [edi + 8]
push dword [esi + 8]
call fcn.004664d0
add esp, 8
test eax, eax
jne 0x4fd29f
cmp byte [esi + 0xc], al
je 0x4fcd45
cmp byte [edi + 0xc], al
je 0x4fd29f
test byte [esi + 0x10], 0x60
jne 0x4fcda2
test ebp, ebp
jle 0x4fcda2
mov edi, dword [edi + 4]
xor ecx, ecx
mov edx, dword [esi + 4]
test edi, edi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x4fd29f
test edx, edx
je 0x4fcda2
mov ecx, dword [edi + 8]
mov eax, dword [edx + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fcd95
test dl, dl
je 0x4fcd91
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fcd95
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fcd75
xor eax, eax
jmp 0x4fcd9a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4fd29f
mov ecx, dword [esp + 0x4c]
inc ebp
movsx eax, word [ebx + 0x2a]
add ecx, 0x14
mov edx, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
cmp ebp, eax
jl 0x4fccd3
mov edi, dword [ebx + 8]
test edi, edi
je 0x4fce3b
cmp byte [edi + 0x36], 0
je 0x4fcdd3
mov dword [esp + 0x20], 1
mov esi, dword [edx + 8]
test esi, esi
je 0x4fd29f
mov edi, edi
push esi
push edi
call fcn.004fcaa0
add esp, 8
test eax, eax
jne 0x4fcdfd
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4fcde0
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x30
ret
mov eax, dword [esi + 0x2c]
mov edx, dword [esp + 0x10]
cmp eax, dword [edi + 0x2c]
jne 0x4fce34
mov eax, dword [edx + 0x48]
cmp eax, dword [ebx + 0x48]
jne 0x4fce34
mov eax, dword [0x52e3cc]
test eax, eax
je 0x4fd29f
push 0x19b
call eax
add esp, 4
test eax, eax
je 0x4fd29f
mov edx, dword [esp + 0x10]
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4fcdc5
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4fce58
push 0xffffffffffffffff
push eax
push dword [edx + 0x18]
call fcn.004b3b00
add esp, 0xc
test eax, eax
jne 0x4fd29f
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
and eax, 0x4000
or eax, 0
je 0x4fce76
cmp dword [ebx + 0x10], 0
jne 0x4fd29f
and ecx, 1
xor eax, eax
or eax, ecx
jne 0x4fd29f
mov eax, dword [esp + 0x10]
push dword [eax + 0x48]
push edx
call fcn.004cc310
mov esi, dword [esp + 0x4c]
mov ebx, eax
push esi
mov dword [esp + 0x30], ebx
call fcn.004beef0
mov edi, eax
push ebx
push esi
mov dword [esp + 0x4c], edi
call fcn.004ab040
mov ebx, dword [esi + 0x28]
mov dword [esp + 0x3c], ebx
lea ebp, [ebx + 1]
lea eax, [ebp + 1]
mov dword [esp + 0x40], ebp
mov dword [esi + 0x28], eax
mov esi, dword [esp + 0x5c]
push esi
push dword [esp + 0x6c]
push dword [esp + 0x60]
call fcn.0046c9e0
mov edx, dword [esp + 0x64]
push edx
mov dword [esp + 0x70], eax
call fcn.004be520
push edx
mov dword [esp + 0x44], eax
call fcn.004be520
push 0x61
push esi
push dword [esp + 0x84]
mov dword [esp + 0x48], eax
push ebp
push edx
call fcn.004c38e0
mov eax, dword [esp + 0x54]
add esp, 0x3c
test byte [eax + 0x18], 4
jne 0x4fcf56
cmp word [esi + 0x28], 0
jge 0x4fcf1a
cmp dword [esi + 8], 0
jne 0x4fcf2f
cmp dword [esp + 0x20], 0
jne 0x4fcf2f
mov eax, dword [esp + 0x50]
cmp eax, 2
je 0x4fcf56
cmp eax, 1
je 0x4fcf56
push 0
push ebp
push 0x25
push edi
call fcn.004d4a60
push 0xb
push edi
mov esi, eax
call fcn.004d49b0
push esi
push edi
mov dword [esp + 0x54], eax
call fcn.004dd090
mov esi, dword [esp + 0x68]
add esp, 0x20
mov eax, dword [esp + 0x10]
test byte [eax + 0x24], 0x80
jne 0x4fd097
push 0x60
push eax
push dword [esp + 0x2c]
push ebx
push dword [esp + 0x54]
call fcn.004c38e0
push 0
push ebx
push 0x25
push edi
call fcn.004d4a60
add esp, 0x24
mov dword [esp + 0x30], eax
cmp word [esi + 0x28], 0
jl 0x4fcfe9
mov esi, dword [esp + 0x14]
push esi
push ebx
push 0x7f
push edi
call fcn.004d4a60
push esi
push 0
push ebp
push 0x20
push edi
mov dword [esp + 0x44], eax
call fcn.004d4ac0
push dword [esp + 0x6c]
mov esi, eax
push dword [esp + 0x78]
push dword [esp + 0x70]
call fcn.004cb530
push esi
push edi
call fcn.004dd090
push dword [esp + 0x4c]
push dword [esp + 0x88]
push dword [esp + 0x84]
call fcn.0046caa0
mov esi, dword [esp + 0x8c]
add esp, 0x44
jmp 0x4fd016
cmp dword [esi + 8], 0
jne 0x4fd002
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 8
jne 0x4fd002
push dword [esp + 0x14]
push ebp
push 0x78
jmp 0x4fd009
push dword [esp + 0x14]
push ebx
push 0x7f
push edi
call fcn.004d4a60
mov dword [esp + 0x30], eax
add esp, 0x10
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 4
je 0x4fd036
push ebp
push 0x81
push edi
call fcn.004d4a00
add esp, 0xc
mov byte [esp + 0x4c], 0x18
jmp 0x4fd03b
mov byte [esp + 0x4c], 0x29
push 1
push dword [esp + 0x20]
push ebx
push 0x7e
push edi
call fcn.004d4ac0
push 0xfffffffffffffffa
push esi
push dword [esp + 0x30]
push dword [esp + 0x3c]
push ebp
push 0x79
push edi
call fcn.004d4b20
mov al, byte [esp + 0x7c]
movzx eax, al
push eax
push edi
call fcn.004d5030
push dword [esp + 0x58]
push ebx
push 5
push edi
call fcn.004d4a60
add esp, 0x48
push 0
push ebx
push 0x74
push edi
call fcn.004d4a60
push 0
push ebp
push 0x74
push edi
call fcn.004d4a60
add esp, 0x20
jmp 0x4fd0c4
push dword [esi]
mov ebx, dword [esp + 0x48]
push 1
push dword [esi + 0x1c]
push dword [esp + 0x60]
push ebx
call fcn.004d05b0
mov eax, dword [esp + 0x24]
push dword [eax]
push 0
push dword [eax + 0x1c]
push dword [esp + 0x44]
push ebx
call fcn.004d05b0
add esp, 0x28
mov ebp, dword [esi + 8]
test ebp, ebp
je 0x4fd23f
nop
mov eax, dword [esp + 0x10]
xor bl, bl
mov byte [esp + 0x4c], bl
mov esi, dword [eax + 8]
test esi, esi
je 0x4fd0f6
push esi
push ebp
call fcn.004fcaa0
add esp, 8
test eax, eax
jne 0x4fd0f6
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4fd0e1
push dword [esp + 0x24]
push dword [esi + 0x2c]
push dword [esp + 0x30]
push 0x60
push edi
call fcn.004d4ac0
push esi
push dword [esp + 0x5c]
call fcn.004dfb70
push dword [esp + 0x70]
push dword [ebp + 0x2c]
push dword [esp + 0x50]
push 0x61
push edi
call fcn.004d4ac0
push ebp
push dword [esp + 0x78]
call fcn.004dfb70
push 1
push edi
call fcn.004d5030
add esp, 0x40
push 0
push dword [esp + 0x2c]
push 0x25
push edi
call fcn.004d4a60
mov dword [esp + 0x4c], eax
add esp, 0x10
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 4
je 0x4fd1ad
movzx ecx, word [esi + 0x34]
xor ebx, ebx
mov dword [esp + 0x20], ecx
test ecx, ecx
jle 0x4fd193
mov esi, dword [esi + 0x20]
mov edi, ecx
lea ecx, [ecx]
push dword [esi]
push 0x523b20
call fcn.004664d0
add esp, 8
test eax, eax
jne 0x4fd18b
inc ebx
add esi, 4
cmp ebx, edi
jl 0x4fd170
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
cmp ebx, ecx
jne 0x4fd1c4
push dword [esp + 0x2c]
mov bl, 0x10
push 0x81
push edi
call fcn.004d4a00
add esp, 0xc
jmp 0x4fd1c8
mov eax, dword [esp + 0x10]
test byte [eax + 0x24], 0x80
je 0x4fd1c8
mov eax, dword [ebp + 0x38]
and al, 3
cmp al, 2
jne 0x4fd1c8
mov bl, 1
jmp 0x4fd1c8
mov bl, byte [esp + 0x4c]
mov esi, dword [esp + 0x28]
push 1
push dword [esp + 0x20]
push esi
push 0x7e
push edi
call fcn.004d4ac0
push dword [esp + 0x30]
lea eax, [esi + 1]
push eax
push 0x82
push edi
call fcn.004d4a60
or bl, 8
movzx eax, bl
push eax
push edi
call fcn.004d5030
mov ebx, dword [esp + 0x68]
lea eax, [ebx + 1]
push eax
push esi
push 5
push edi
call fcn.004d4a60
push ebx
push edi
call fcn.004dd090
add esp, 0x44
push 0
push esi
push 0x74
push edi
call fcn.004d4a60
push 0
lea ebx, [esi + 1]
push ebx
push 0x74
push edi
call fcn.004d4a60
mov ebp, dword [ebp + 0x14]
add esp, 0x20
test ebp, ebp
jne 0x4fd0d0
jmp 0x4fd243
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4fd255
push eax
push edi
call fcn.004dd090
add esp, 8
push dword [esp + 0x14]
mov esi, dword [esp + 0x48]
push esi
call fcn.004ca580
push dword [esp + 0x24]
push esi
call fcn.004ca580
mov ebp, dword [esp + 0x44]
add esp, 0x10
test ebp, ebp
je 0x4fd2a9
push esi
call fcn.004a56a0
push 0
push 0
push 0x44
push edi
call fcn.004d4a60
push ebp
push edi
call fcn.004dd090
push 0
push ebx
push 0x74
push edi
call fcn.004d4a60
add esp, 0x2c
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x30
ret
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x30
ret