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

Disassembly:
sub esp, 0x484
mov eax, dword [0x5107c0]
xor eax, esp
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0x48c]
lea ecx, [esp + 0x38]
push ebx
push ebp
mov ebp, dword [esp + 0x49c]
push esi
push edi
push dword [esp + 0x4a0]
mov edi, dword [esp + 0x49c]
mov dword [esp + 0x34], eax
xor eax, eax
mov ebx, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], ebp
mov esi, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], eax
call fcn.004b3def
call fcn.004bc77f
mov dword [esp + 0x68], eax
test edi, edi
jne 0x4bf552
call fcn.004bc77f
mov dword [eax], 0x16
call fcn.004bdd46
cmp byte [esp + 0x54], bl
je 0x4bf54a
mov eax, dword [esp + 0x50]
and dword [eax + 0x70], 0xfffffffd
or eax, 0xffffffff
jmp 0x4bfeb5
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4bf52c
xor edx, edx
mov eax, edx
mov dword [esp + 0x3c], edx
mov edi, edx
mov dword [esp + 0x58], edx
movzx edx, word [ecx]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
test dx, dx
je 0x4bfea6
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x70], 0x58
mov dword [esp + 0x78], 0x64
mov dword [esp + 0x6c], 0x69
mov dword [esp + 0x7c], 0x6f
add ecx, 2
mov dword [esp + 0x30], ecx
test eax, eax
js 0x4bfea6
push 0x58
lea eax, [edx - 0x20]
pop ebp
cmp ax, bp
ja 0x4bf5c9
movzx eax, dx
movsx eax, byte [eax + 0x4e70b8]
and eax, 0xf
jmp 0x4bf5cb
xor eax, eax
mov ebp, dword [esp + 0x3c]
movsx ebp, byte [ebp + eax*8 + 0x4e70d8]
mov eax, ebp
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x14]
sar eax, 4
mov dword [esp + 0x3c], eax
cmp eax, 7
ja case.default.0x4bf5f1
jmp dword [eax*4 + 0x4bfef8]
xor eax, eax
or dword [esp + 0x18], 0xffffffff
mov ebx, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], eax
jmp case.default.0x4bf5f1
movzx eax, dx
push 0x20
pop edx
sub eax, edx
je 0x4bf656
sub eax, 3
je 0x4bf64e
sub eax, 8
je 0x4bf649
dec eax
dec eax
je 0x4bf644
sub eax, 3
jne case.default.0x4bf5f1
or ebx, 8
jmp 0x4bf659
or ebx, 4
jmp 0x4bf659
or ebx, 1
jmp 0x4bf659
or ebx, 0x80
jmp 0x4bf659
or ebx, 2
mov dword [esp + 0x10], ebx
jmp case.default.0x4bf5f1
push 0x2a
pop eax
cmp dx, ax
jne 0x4bf692
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 0x34], eax
test eax, eax
jns case.default.0x4bf5f1
or ebx, 4
neg eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x34], eax
jmp case.default.0x4bf5f1
imul ecx, dword [esp + 0x34], 0xa
movzx eax, dx
add ecx, 0xffffffd0
add eax, ecx
mov dword [esp + 0x34], eax
jmp 0x4bfe8e
xor eax, eax
mov dword [esp + 0x18], eax
jmp case.default.0x4bf5f1
push 0x2a
pop eax
cmp dx, ax
jne 0x4bf6db
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
test eax, eax
jns case.default.0x4bf5f1
or dword [esp + 0x18], 0xffffffff
jmp case.default.0x4bf5f1
imul ecx, dword [esp + 0x18], 0xa
movzx eax, dx
add ecx, 0xffffffd0
add eax, ecx
mov dword [esp + 0x18], eax
jmp 0x4bfe8e
movzx eax, dx
cmp eax, 0x49
je 0x4bf73e
cmp eax, 0x68
je 0x4bf734
push 0x6c
pop edx
cmp eax, edx
je 0x4bf719
cmp eax, 0x77
jne case.default.0x4bf5f1
or ebx, 0x800
jmp 0x4bf659
cmp word [ecx], dx
jne 0x4bf72c
add ecx, 2
or ebx, 0x1000
jmp 0x4bf659
or ebx, 0x10
jmp 0x4bf659
push 0x20
pop eax
or ebx, eax
jmp 0x4bf659
movzx eax, word [ecx]
cmp eax, 0x36
jne 0x4bf75b
cmp word [ecx + 2], 0x34
jne 0x4bf75b
add ecx, 4
or ebx, 0x8000
jmp 0x4bf659
cmp eax, 0x33
jne 0x4bf775
cmp word [ecx + 2], 0x32
jne 0x4bf775
add ecx, 4
and ebx, 0xffff7fff
jmp 0x4bf659
cmp ax, word [esp + 0x78]
je case.default.0x4bf5f1
cmp ax, word [esp + 0x6c]
je case.default.0x4bf5f1
cmp ax, word [esp + 0x7c]
je case.default.0x4bf5f1
cmp eax, 0x75
je case.default.0x4bf5f1
cmp eax, 0x78
je case.default.0x4bf5f1
cmp ax, word [esp + 0x70]
je case.default.0x4bf5f1
xor eax, eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x28], 1
push eax
push dword [esp + 0x30]
push edx
call fcn.004bff18
add esp, 0xc
jmp 0x4bfe8e
push 0x64
movzx eax, dx
pop ecx
cmp eax, ecx
jg 0x4bf9ce
je 0x4bfa56
cmp eax, 0x53
jg 0x4bf8e9
je 0x4bf865
sub eax, 0x41
je 0x4bf80c
dec eax
dec eax
je 0x4bf84b
dec eax
dec eax
je 0x4bf80c
dec eax
dec eax
jne 0x4bfd07
push 0x20
pop eax
add edx, eax
mov dword [esp + 0x5c], 1
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x18]
lea esi, [esp + 0x90]
or ebx, 0x40
mov ecx, 0x200
mov dword [esp + 0x10], ebx
mov ebp, ecx
test eax, eax
jns 0x4bfa93
mov dword [esp + 0x18], 6
jmp 0x4bfade
test ebx, 0x830
jne 0x4bf909
push 0x20
pop eax
or ebx, eax
mov dword [esp + 0x10], ebx
jmp 0x4bf909
test ebx, 0x830
jne 0x4bf876
push 0x20
pop eax
or ebx, eax
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x18]
mov ecx, 0x7fffffff
mov edi, dword [esp + 0x14]
cmp ebp, 0xffffffff
cmove ebp, ecx
add edi, 4
mov dword [esp + 0x14], edi
mov esi, dword [edi - 4]
test bl, 0x20
je 0x4bfcdd
test esi, esi
cmove esi, dword [0x5114a0]
xor ecx, ecx
mov eax, esi
mov edi, ecx
mov dword [esp + 0x1c], eax
test ebp, ebp
jle 0x4bfd07
mov al, byte [eax]
test al, al
je 0x4bfd07
lea ecx, [esp + 0x48]
movzx eax, al
push ecx
push eax
call fcn.004c3016
pop ecx
test eax, eax
mov eax, dword [esp + 0x20]
pop ecx
je 0x4bf8da
inc eax
inc eax
inc edi
mov dword [esp + 0x1c], eax
cmp edi, ebp
jl 0x4bf8b7
jmp 0x4bfd07
push 0x58
pop ecx
sub eax, ecx
je 0x4bfb97
dec eax
dec eax
je 0x4bf975
sub eax, 7
je 0x4bf81d
dec eax
dec eax
jne 0x4bfd07
movzx eax, word [ebp]
add ebp, 4
mov dword [esp + 0x28], 1
mov dword [esp + 0x14], ebp
mov dword [esp + 0x64], eax
test bl, 0x20
je 0x4bf95e
mov byte [esp + 0x40], al
xor eax, eax
mov byte [esp + 0x41], al
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x4c]
push dword [eax + 0x74]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.004c7691
add esp, 0x10
test eax, eax
jns 0x4bf966
mov dword [esp + 0x44], 1
jmp 0x4bf966
mov word [esp + 0x90], ax
xor edi, edi
lea esi, [esp + 0x90]
inc edi
jmp 0x4bfd07
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x14], ebp
test eax, eax
je 0x4bf9b5
mov esi, dword [eax + 4]
test esi, esi
je 0x4bf9b5
test ebx, 0x800
je 0x4bf9a7
movsx eax, word [eax]
cdq
sub eax, edx
mov dword [esp + 0x28], 1
mov edi, eax
jmp 0x4bfd05
movsx edi, word [eax]
xor ecx, ecx
mov dword [esp + 0x28], ecx
jmp 0x4bfd07
mov esi, dword [0x5114a0]
mov edi, esi
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4bf9c0
sub edi, ecx
jmp 0x4bfd07
cmp eax, 0x70
jg 0x4bfb9b
je 0x4bfb8f
cmp eax, 0x65
jl 0x4bfd07
push 0x67
pop ecx
cmp eax, ecx
jle 0x4bf81d
push 0x69
pop ecx
cmp eax, ecx
je 0x4bfa56
cmp eax, 0x6e
je 0x4bfa20
push 0x6f
pop ecx
cmp eax, ecx
jne 0x4bfd07
mov esi, 0x200
push 8
pop ecx
mov dword [esp + 0x1c], ecx
test bl, bl
jns 0x4bfa69
or ebx, esi
mov dword [esp + 0x10], ebx
jmp 0x4bfa69
add ebp, 4
mov dword [esp + 0x14], ebp
mov ebp, dword [ebp - 4]
call fcn.004c74ee
test eax, eax
je 0x4bfece
mov eax, dword [esp + 0x20]
test bl, 0x20
je 0x4bfa46
mov word [ebp], ax
jmp 0x4bfa49
mov dword [ebp], eax
mov dword [esp + 0x44], 1
jmp 0x4bfe79
or ebx, 0x40
mov dword [esp + 0x10], ebx
push 0xa
pop ecx
mov esi, 0x200
mov dword [esp + 0x1c], ecx
test ebx, 0x8000
jne 0x4bfa7d
test ebx, 0x1000
je 0x4bfbed
add ebp, 8
mov dword [esp + 0x14], ebp
mov edi, dword [esp + 0x14]
mov ebp, dword [ebp - 8]
mov edi, dword [edi - 4]
jmp 0x4bfc17
jne 0x4bfaa7
push 0x67
pop eax
cmp dx, ax
jne 0x4bfade
mov dword [esp + 0x18], 1
jmp 0x4bfade
cmp eax, ecx
cmovg eax, ecx
mov dword [esp + 0x18], eax
cmp eax, 0xa3
jle 0x4bfade
lea edi, [eax + 0x15d]
push edi
call fcn.004bc66d
mov edx, dword [esp + 0x20]
mov dword [esp + 0x5c], eax
pop ecx
test eax, eax
je 0x4bfad6
mov esi, eax
mov ebp, edi
jmp 0x4bfade
mov dword [esp + 0x18], 0xa3
mov edi, dword [esp + 0x14]
add edi, 8
mov dword [esp + 0x14], edi
mov eax, dword [edi - 8]
mov dword [esp + 0x88], eax
mov eax, dword [edi - 4]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x60]
movsx eax, dl
push dword [esp + 0x20]
push eax
push ebp
mov ebp, dword [0x510ad4]
lea eax, [esp + 0x9c]
push esi
push eax
push dword [0x511788]
call ebp
call eax
mov edi, ebx
add esp, 0x1c
and edi, 0x80
je 0x4bfb4e
cmp dword [esp + 0x18], 0
jne 0x4bfb4e
lea eax, [esp + 0x48]
push eax
push esi
push dword [0x511794]
call ebp
call eax
pop ecx
pop ecx
push 0x67
pop eax
cmp word [esp + 0x1c], ax
jne 0x4bfb6e
test edi, edi
jne 0x4bfb6e
lea eax, [esp + 0x48]
push eax
push esi
push dword [0x511790]
call ebp
call eax
pop ecx
pop ecx
cmp byte [esi], 0x2d
jne 0x4bfb7e
or ebx, 0x100
inc esi
mov dword [esp + 0x10], ebx
mov edi, esi
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4bfb83
jmp 0x4bf9c7
mov dword [esp + 0x18], 8
push 7
jmp 0x4bfbb7
sub eax, 0x73
je 0x4bf876
dec eax
dec eax
je 0x4bfa5d
sub eax, 3
jne 0x4bfd07
push 0x27
mov esi, 0x200
pop eax
mov dword [esp + 0x60], eax
push 0x10
pop ecx
mov dword [esp + 0x1c], ecx
test bl, bl
jns 0x4bfa69
push 0x30
pop edx
add eax, 0x51
mov word [esp + 0x38], dx
mov word [esp + 0x3a], ax
mov dword [esp + 0x24], 2
jmp 0x4bfa69
add ebp, 4
mov dword [esp + 0x14], ebp
test bl, 0x20
je 0x4bfc0a
test bl, 0x40
je 0x4bfc04
movsx eax, word [ebp - 4]
jmp 0x4bfc12
movzx eax, word [ebp - 4]
jmp 0x4bfc12
test bl, 0x40
je 0x4bfc1b
mov eax, dword [ebp - 4]
cdq
mov ebp, eax
mov edi, edx
xor eax, eax
jmp 0x4bfc22
mov ebp, dword [ebp - 4]
xor eax, eax
mov edi, eax
test bl, 0x40
je 0x4bfc41
cmp edi, eax
jg 0x4bfc41
jl 0x4bfc31
cmp ebp, eax
jae 0x4bfc41
neg ebp
adc edi, eax
neg edi
or ebx, 0x100
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x18]
test ebx, 0x9000
cmove edi, eax
test edx, edx
jns 0x4bfc57
xor edx, edx
inc edx
jmp 0x4bfc63
and ebx, 0xfffffff7
cmp edx, esi
mov dword [esp + 0x10], ebx
cmovg edx, esi
mov eax, ebp
or eax, edi
jne 0x4bfc6d
mov dword [esp + 0x24], eax
lea esi, [esp + 0x28f]
mov eax, edx
dec edx
mov dword [esp + 0x18], edx
test eax, eax
jg 0x4bfc85
mov eax, ebp
or eax, edi
je 0x4bfcb5
mov eax, ecx
cdq
push edx
push eax
push edi
push ebp
call fcn.004bab00
add ecx, 0x30
mov dword [esp + 0x84], ebx
mov ebp, eax
mov edi, edx
cmp ecx, 0x39
jle 0x4bfca8
add ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x18]
mov byte [esi], cl
dec esi
mov ecx, dword [esp + 0x1c]
jmp 0x4bfc74
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x28f]
sub edi, esi
inc esi
test ebx, 0x200
je 0x4bfd07
test edi, edi
je 0x4bfcd4
cmp byte [esi], 0x30
je 0x4bfd07
dec esi
inc edi
push 0x30
pop eax
mov byte [esi], al
jmp 0x4bfd07
test esi, esi
mov dword [esp + 0x28], 1
cmove esi, dword [str._null_]
mov edi, esi
test ebp, ebp
je 0x4bfd03
xor eax, eax
dec ebp
cmp word [edi], ax
je 0x4bfd03
add edi, 2
test ebp, ebp
jne 0x4bfcf6
sub edi, esi
sar edi, 1
cmp dword [esp + 0x44], 0
jne 0x4bfe79
test bl, 0x40
je 0x4bfd33
test ebx, 0x100
je 0x4bfe0c
push 0x2d
pop eax
mov word [esp + 0x38], ax
mov dword [esp + 0x24], 1
push 0x20
pop ecx
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
sub ebp, edi
sub ebp, eax
test bl, 0xc
jne 0x4bfd5e
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x30]
push ebp
push ecx
call fcn.004bff4e
mov eax, dword [esp + 0x34]
add esp, 0x10
push dword [esp + 0x68]
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x34]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004bff7a
add esp, 0x14
test bl, 8
je 0x4bfd99
test bl, 4
jne 0x4bfd99
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x30]
push ebp
push 0x30
pop eax
push eax
call fcn.004bff4e
add esp, 0x10
cmp dword [esp + 0x28], 0
jne 0x4bfe3f
test edi, edi
jle 0x4bfe3f
mov ecx, esi
mov dword [esp + 0x1c], esi
mov eax, edi
dec eax
mov dword [esp + 0x80], eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x4c]
push dword [eax + 0x74]
lea eax, [esp + 0x6c]
push ecx
push eax
call fcn.004c7691
add esp, 0x10
mov dword [esp + 0x74], eax
test eax, eax
jle 0x4bfe36
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x30]
push dword [esp + 0x6c]
call fcn.004bff18
mov ecx, dword [esp + 0x28]
add esp, 0xc
add ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], ecx
test eax, eax
jg 0x4bfdb4
jmp 0x4bfe56
test bl, 1
je 0x4bfe18
push 0x2b
jmp 0x4bfd25
test bl, 2
je 0x4bfd33
push 0x20
pop ecx
mov word [esp + 0x38], cx
mov dword [esp + 0x24], 1
jmp 0x4bfd36
or eax, 0xffffffff
mov dword [esp + 0x20], eax
jmp 0x4bfe5a
push dword [esp + 0x68]
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x34]
push edi
push esi
call fcn.004bff7a
add esp, 0x14
mov eax, dword [esp + 0x20]
test eax, eax
js 0x4bfe79
test bl, 4
je 0x4bfe79
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x30]
push ebp
push 0x20
pop eax
push eax
call fcn.004bff4e
add esp, 0x10
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4bfe8e
push eax
call fcn.004b592c
xor eax, eax
pop ecx
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x30]
movzx edx, word [ecx]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
test dx, dx
jne 0x4bf5a0
cmp byte [esp + 0x54], 0
je 0x4bfeb5
mov ecx, dword [esp + 0x50]
and dword [ecx + 0x70], 0xfffffffd
mov ecx, dword [esp + 0x490]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b35e5
add esp, 0x484
ret
call fcn.004bc77f
mov dword [eax], 0x16
call fcn.004bdd46
cmp byte [esp + 0x54], 0
je 0x4bf54a
mov ecx, dword [esp + 0x50]
and dword [ecx + 0x70], 0xfffffffd
jmp 0x4bf54a