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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov edi, edx
mov edx, dword [edx + 8]
mov dword [esp + 0x48], ecx
cmp edx, dword [edi]
jne 0x4bb99b
mov ecx, edi
call fcn.004961de
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
mov byte [eax + edx], 0x2f
mov edx, dword [edi + 8]
inc edx
mov dword [edi + 8], edx
cmp edx, dword [edi]
jne 0x4bb9cc
mov ecx, edi
call fcn.004961de
mov ecx, dword [esp + 0xb0]
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
xor esi, esi
mov dword [esp + 0x14], 0
mov byte [eax + edx], 0x2f
mov eax, dword [edi + 8]
inc eax
mov dword [esp + 0x40], eax
mov dword [edi + 8], eax
lea eax, [esp + 0x20]
mov dword [eax], ebx
mov dword [eax + 4], ecx
lea ecx, [esp + 0x20]
call fcn.004bab3f
cmp eax, 0x3f
jg 0x4bba10
cmp eax, 0x23
je 0x4bba6c
cmp eax, 0x2f
je 0x4bba6c
cmp eax, 0x3f
jne 0x4bba69
jmp 0x4bba6c
cmp eax, 0x40
je 0x4bba26
cmp eax, 0x5c
jne 0x4bba3b
cmp byte [esp + 0xb4], 2
je 0x4bba69
jmp 0x4bba6c
cmp dword [esp + 0x14], 0
je 0x4bba44
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4bba57
mov ecx, dword [edi + 0x1c]
push 0xa
jmp 0x4bba50
cmp eax, 0x110000
jne 0x4bba69
jmp 0x4bba6c
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4bba57
mov ecx, dword [edi + 0x1c]
push 2
push eax
call dword [ecx + 0x14]
add esp, 8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ebp, esi
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
inc esi
jmp 0x4bb9f1
mov esi, dword [esp + 0x14]
mov dword [esp + 4], edi
test esi, esi
je 0x4bbc70
test ebp, ebp
je 0x4bbc92
jle 0x4bbccb
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x1c], 0
mov esi, 0x2600
mov dword [esp + 0x3c], 0
mov dword [esp + 0x10], 0
cmp ebx, ebp
mov ecx, ebp
mov ebp, dword [esp + 0x38]
je 0x4bc6c9
mov edi, ebx
mov dword [esp], ebp
mov dl, byte [edi]
movzx eax, dl
test dl, dl
js 0x4bbad3
lea ebx, [edi + 1]
jmp 0x4bbb25
movzx ebp, byte [edi + 1]
and eax, 0x1f
and ebp, 0x3f
cmp dl, 0xdf
jbe 0x4bbb0c
movzx ecx, byte [edi + 2]
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
cmp dl, 0xf0
jb 0x4bbb16
movzx edx, byte [edi + 3]
and eax, 7
shl ecx, 6
lea ebx, [edi + 4]
shl eax, 0x12
and edx, 0x3f
or edx, ecx
or eax, edx
jmp 0x4bbb1e
shl eax, 6
lea ebx, [edi + 2]
or eax, ebp
jmp 0x4bbb25
shl eax, 0xc
lea ebx, [edi + 3]
or eax, ecx
mov ecx, dword [esp + 0xb0]
cmp eax, 0xd
ja 0x4bbb3a
bt esi, eax
jae 0x4bbb3a
cmp ebx, ecx
mov edi, ebx
jne 0x4bbac5
jmp 0x4bc6c9
cmp eax, 0x110000
je 0x4bc6c9
cmp eax, 0x80
mov ebp, 1
jb 0x4bbb6a
mov ebp, 2
cmp eax, 0x800
jb 0x4bbb6a
cmp eax, 0x10000
mov ebp, 4
sbb ebp, 0
mov edx, ecx
sub edx, edi
cmp ebp, edx
jae 0x4bbb7d
cmp byte [edi + ebp], 0xbf
jg 0x4bbb83
jmp 0x4bc6dd
jne 0x4bc6dd
cmp eax, 0x110000
mov dword [esp + 0xc], ebp
je 0x4bc6c9
mov edx, dword [esp]
cmp eax, 0x3a
lea ebp, [edx - 1]
jne 0x4bbbf8
cmp dword [esp + 0x10], 0
jne 0x4bbbf8
mov edi, dword [esp + 4]
cmp dword [esp], 2
mov eax, dword [edi + 8]
mov dword [esp + 0x44], eax
jl 0x4bbc82
cmp eax, dword [edi]
jne 0x4bbbcb
mov edx, dword [esp + 0x44]
mov ecx, edi
call fcn.004961de
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov byte [ecx + eax], 0x3a
mov ecx, dword [esp + 0xb0]
inc dword [edi + 8]
mov al, 1
mov dword [esp + 0x3c], eax
mov eax, 1
mov dword [esp + 0x10], eax
cmp ebx, ecx
jne 0x4bbac0
jmp 0x4bc6c9
mov edx, dword [esp + 0x1c]
cmp byte [esp + 0x3c], 0
mov dword [esp + 0x38], ebp
mov ebp, 1
movzx edx, dl
cmove edx, ebp
mov ebp, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
push ebp
push ebx
push eax
call fcn.004bdf84
add esp, 0xc
mov dword [esp + 0x74], edi
mov edi, dword [esp + 4]
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x74]
mov ecx, edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0x52da64
call fcn.00439ae2
cmp dword [esp], 2
jge 0x4bbab2
cmp dword [esp + 0x10], 0
mov edx, dword [edi + 8]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
jne 0x4bbcd6
jmp 0x4bbcd2
mov eax, dword [esp + 0xb0]
mov ecx, dword [edi + 8]
mov esi, ebx
mov dword [esp + 8], eax
jmp 0x4bbcc2
mov edx, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
jmp 0x4bbcd6
mov eax, dword [esp + 8]
lea ecx, [esp + 0x74]
mov dword [ecx], esi
mov dword [ecx + 4], eax
call fcn.004bab3f
lea ecx, [eax - 0x23]
cmp ecx, 0x1c
ja 0x4bbf5e
mov edx, 0x10001001
bt edx, ecx
jae 0x4bbf5e
xor esi, esi
xor ecx, ecx
mov bl, byte [esp + 0xb4]
jmp 0x4bbcff
mov edx, dword [edi + 8]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x44], edx
mov bl, byte [esp + 0xb4]
or al, cl
test al, 1
je 0x4bbcfb
cmp edx, dword [edi]
jne 0x4bbcf1
mov ecx, edi
call fcn.004961de
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov byte [eax + edx], 0x40
inc dword [edi + 8]
mov ecx, dword [esp + 0x44]
test esi, esi
je 0x4bbe69
mov eax, dword [edi + 8]
test bl, bl
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
je 0x4bbe7e
sub eax, esi
mov dword [esp + 0xc], eax
je 0x4bbea5
xor edx, edx
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x10], 0
mov dword [esp], 0
mov dword [esp + 0x14], esi
inc edx
mov al, byte [esi]
movzx edi, al
test al, al
js 0x4bbd58
inc esi
jmp 0x4bbda4
movzx edx, byte [esi + 1]
and edi, 0x1f
and edx, 0x3f
cmp al, 0xdf
jbe 0x4bbd8f
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x4bbd99
movzx eax, byte [esi + 3]
and edi, 7
shl ecx, 6
add esi, 4
shl edi, 0x12
and eax, 0x3f
or eax, ecx
or edi, eax
jmp 0x4bbda1
shl edi, 6
add esi, 2
or edi, edx
jmp 0x4bbda1
shl edi, 0xc
add esi, 3
or edi, ecx
xor edx, edx
inc edx
cmp edi, 0x3e
jg 0x4bbdc2
cmp edi, 0xc
jle 0x4bbddc
cmp edi, 0x2e
jg 0x4bbdf6
cmp edi, 0xd
je 0x4bbde4
cmp edi, 0x23
jne 0x4bbe31
jmp 0x4bbe72
cmp edi, 0x5b
jle 0x4bbdeb
cmp edi, 0x5c
je 0x4bbe08
cmp edi, 0x5d
jne 0x4bbe1b
inc ebp
mov dword [esp + 0x10], 0
jmp 0x4bbe3a
lea eax, [edi - 9]
cmp eax, 2
jae 0x4bbe31
mov al, 1
mov dword [esp], eax
jmp 0x4bbe3a
jne 0x4bbe25
mov al, 1
inc ebp
mov dword [esp + 0x10], eax
jmp 0x4bbe3a
cmp edi, 0x3a
jne 0x4bbe2c
test byte [esp + 0x10], 1
mov eax, dword [esp + 8]
jne 0x4bbe16
jmp 0x4bbe72
cmp byte [esp + 0xb4], 2
mov eax, dword [esp + 8]
jne 0x4bbe72
inc ebp
mov ecx, edx
jmp 0x4bbe40
cmp edi, 0x110000
jne 0x4bbe31
jmp 0x4bbe72
cmp edi, 0x3f
jne 0x4bbe31
jmp 0x4bbe72
cmp edi, 0x2f
je 0x4bbe72
inc ebp
cmp edi, 0x80
jae 0x4bbe4c
mov ecx, edx
mov eax, dword [esp + 8]
add ebx, ecx
cmp esi, eax
jne 0x4bbd4c
jmp 0x4bbe72
mov ecx, 2
cmp edi, 0x800
jb 0x4bbe3c
cmp edi, 0x10000
mov ecx, 4
sbb ecx, 0
jmp 0x4bbe3c
mov eax, dword [esp + 0x48]
jmp 0x4bc3ea
test byte [esp], 1
jne 0x4bbee6
mov esi, dword [esp + 0x14]
jmp 0x4bbea9
lea edi, [esp + 0x20]
mov edx, esi
mov ecx, edi
push eax
call fcn.004be915
add esp, 4
mov esi, dword [edi]
cmp esi, 0x80000000
jne 0x4bbf07
mov al, byte [esp + 0x24]
mov dword [esp], eax
jmp 0x4bbf51
xor ebp, ebp
xor ebx, ebx
inc ebp
lea edi, [esp + 0x4c]
dec ebp
je 0x4bbebf
mov ecx, edi
call fcn.004bab3f
cmp eax, 0x110000
jne 0x4bbeae
mov cl, 1
test ebx, ebx
je 0x4bbf5a
mov ebp, dword [esp + 0xc]
cmp ebx, ebp
jae 0x4bbf78
cmp byte [esi + ebx], 0xbf
jle 0x4bc70a
mov ebp, ebx
jmp 0x4bbf7e
lea edi, [esp + 0x68]
lea edx, [esp + 0x4c]
mov ecx, edi
push ebp
call fcn.004bf263
add esp, 4
mov esi, dword [edi + 4]
mov ebp, dword [edi + 8]
xor ecx, ecx
mov dword [esp + 0x38], esi
jmp 0x4bbf7e
lea ebp, [esp + 0x20]
mov edi, dword [ebp + 4]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edx, edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], eax
mov ecx, ebp
push dword [ebp + 8]
call fcn.004bf3e6
add esp, 4
mov dl, byte [ebp]
cmp dl, 3
jne 0x4bc180
mov al, byte [esp + 0x21]
test esi, esi
mov dword [esp], eax
je 0x4bbf51
push edi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [esp + 4]
jmp 0x4bc3e3
xor ebp, ebp
jmp 0x4bbf7e
mov bl, byte [esp + 0xb4]
cmp eax, 0x110000
jne 0x4bc214
mov ecx, dword [edi + 8]
jmp 0x4bbcff
jne 0x4bc70a
mov al, byte [esp + 0xb4]
cmp al, 1
je 0x4bbff7
movzx eax, al
cmp eax, 2
jne 0x4bbfff
test ebp, ebp
je 0x4bc09c
cmp byte [esi], 0x5b
jne 0x4bc09c
cmp byte [esi + ebp - 1], 0x5d
mov dl, 3
jne 0x4bc22f
cmp ebp, 2
mov dword [esp + 0x18], ecx
jb 0x4bc716
cmp byte [esi + 1], 0xbf
jle 0x4bc716
inc esi
add ebp, 0xfffffffe
lea edi, [esp + 0x20]
mov ecx, edi
mov edx, esi
push ebp
call fcn.004c0720
add esp, 4
cmp byte [edi], 0
je 0x4bc657
mov al, byte [esp + 0x21]
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov dl, 3
jmp 0x4bc178
test ebp, ebp
je 0x4bc1d8
mov ebx, ecx
lea edi, [esp + 0x20]
mov edx, esi
mov ecx, edi
push ebp
call fcn.004bf3e6
add esp, 4
mov dl, byte [edi]
cmp dl, 3
jne 0x4bc02d
mov al, byte [esp + 0x21]
mov edi, dword [esp + 4]
mov dl, 3
mov ecx, ebx
mov dword [esp], eax
jmp 0x4bc238
mov esi, dword [esp + 0x24]
movzx edi, word [esp + 0x22]
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x21]
mov ebp, dword [esp + 0x4c]
test bl, bl
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x30]
mov word [esp + 0x14], di
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 8], esi
mov esi, dword [esp + 0x50]
jne 0x4bc266
cmp dword [esp + 0x68], 0
je 0x4bc266
push dword [esp + 0x38]
push 0
push dword [0x537fc8]
mov dword [esp + 0x24], edx
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [esp + 0x18]
mov ecx, ebx
jmp 0x4bc266
lea eax, [esi + ebp]
mov ebx, 0x4800013
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], esi
cmp esi, eax
je 0x4bc5de
mov cl, byte [esi]
movzx edi, cl
test cl, cl
js 0x4bc0c0
inc esi
jmp 0x4bc12d
mov edx, ebp
movzx ebp, byte [esi + 1]
and edi, 0x1f
and ebp, 0x3f
cmp cl, 0xdf
jbe 0x4bc112
movzx ebx, byte [esi + 2]
shl ebp, 6
and ebx, 0x3f
or ebx, ebp
cmp cl, 0xf0
jb 0x4bc11e
movzx ecx, byte [esi + 3]
and edi, 7
shl ebx, 6
mov ebp, edi
shl ebp, 0x12
and ecx, 0x3f
or ecx, ebx
mov ebx, 0x4800013
mov edi, ecx
or edi, ebp
mov ebp, edx
cmp edi, 0x110000
je 0x4bc5de
add esi, 4
jmp 0x4bc12d
shl edi, 6
add esi, 2
or edi, ebp
mov ebp, edx
jmp 0x4bc12d
shl edi, 0xc
add esi, 3
mov ebp, edx
or edi, ebx
mov ebx, 0x4800013
cmp edi, 0x2e
jle 0x4bc157
lea ecx, [edi - 0x2f]
cmp ecx, 0x11
ja 0x4bc144
mov edx, 0x3a801
bt edx, ecx
jb 0x4bc16c
lea ecx, [edi - 0x5b]
cmp ecx, 4
jb 0x4bc16c
cmp edi, 0x7c
jne 0x4bc0ac
jmp 0x4bc16c
lea ecx, [edi - 9]
cmp ecx, 0x1a
ja 0x4bc164
bt ebx, ecx
jb 0x4bc16c
test edi, edi
jne 0x4bc0ac
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov al, 5
mov dl, 3
mov dword [esp], eax
jmp 0x4bc238
mov al, byte [esp + 0x21]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
test dl, dl
mov dword [esp], eax
movzx eax, word [esp + 0x22]
mov word [esp + 0x14], ax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
jne 0x4bc1e3
cmp ecx, 9
jne 0x4bc1e3
mov dword [esp + 0x18], edx
push 9
push str.localhost
push ebp
call fcn.004e57f4
add esp, 0xc
mov ecx, 9
test eax, eax
je 0x4bc6a0
mov dword [esp + 0xc], ebp
jmp 0x4bc6c0
mov dl, 3
mov dword [esp], 0
jmp 0x4bc234
mov dword [esp + 0xc], ebp
test esi, esi
mov dword [esp + 0x10], ebx
je 0x4bc206
push edi
push 0
push dword [0x537fc8]
mov esi, edx
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, edi
mov edx, esi
mov edi, dword [esp + 4]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
jmp 0x4bc266
cmp bl, 2
je 0x4bbf70
cmp eax, 0x5c
jne 0x4bbf70
xor esi, esi
xor ecx, ecx
jmp 0x4bbcff
mov al, 4
mov dword [esp], eax
mov edi, dword [esp + 4]
test cl, cl
jne 0x4bc259
cmp dword [esp + 0x68], 0
je 0x4bc259
push dword [esp + 0x38]
push 0
push dword [0x537fc8]
mov ebx, edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, ebx
mov ecx, dword [esp + 0x1c]
cmp dl, 3
je 0x4bc3e3
movzx ebx, word [esp + 0x14]
lea eax, [esp + 0x54]
mov dword [esp + 0x20], 0x52e514
mov word [eax + 2], bx
mov ebx, dword [esp + 0x10]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xc]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 8]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp]
mov byte [eax], dl
mov edx, 0x52d5a4
mov byte [eax + 1], cl
lea ecx, [esp + 0x68]
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 4], 0x4bed7b
inc eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.00404380
add esp, 4
test al, al
jne 0x4bc6ec
mov bl, byte [esp + 0x54]
mov eax, dword [edi + 8]
mov bh, byte [esp + 0xb4]
mov edx, ebp
test bl, bl
mov dword [esp + 0x10], eax
jne 0x4bc32a
cmp dword [esp + 0x60], 0
jne 0x4bc32a
mov dword [esp + 0x20], edx
xor edx, edx
lea eax, [esp + 0x20]
mov dword [esp + 0x24], esi
mov ecx, 0x52d8ca
inc edx
push eax
call fcn.004badb0
add esp, 4
cmp bh, 2
jne 0x4bc3c3
mov edx, ebp
test al, al
jne 0x4bc3c3
lea ecx, [esp + 0x20]
mov dword [ecx], edx
mov dword [ecx + 4], esi
call fcn.004bab3f
cmp eax, 0x3a
jne 0x4bc3b3
mov eax, dword [esp + 4]
lea edi, [esp + 0x20]
mov byte [esp + 0xc], bl
xor ebx, ebx
mov dword [esp], 0
mov ebp, dword [edi]
mov esi, dword [edi + 4]
mov al, byte [eax + 0x20]
mov byte [esp + 8], al
mov ecx, edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], esi
call fcn.004bab3f
cmp eax, 0x110000
je 0x4bc436
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jae 0x4bc414
mov eax, dword [esp]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov bl, 1
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
cmp eax, 0xffff
mov dword [esp], eax
jbe 0x4bc35e
cmp byte [esp + 0xc], 0
mov edi, dword [esp + 4]
mov al, 2
mov dword [esp], eax
jne 0x4bc3e3
jmp 0x4bc3ca
mov dword [esp + 0xc], 0
mov dword [esp], eax
jmp 0x4bc4df
mov dword [esp], 0
cmp dword [esp + 0x58], 0
je 0x4bc3e3
push dword [esp + 0x5c]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp]
mov byte [eax + 4], cl
mov dword [eax], 2
cmp dword [edi], 0
je 0x4bc409
push dword [edi + 4]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [esp + 8], 0
jne 0x4bc436
lea ecx, [eax - 0x23]
cmp ecx, 0x1c
ja 0x4bc42d
mov edx, 0x10001001
bt edx, ecx
jb 0x4bc436
cmp eax, 0x5c
jne 0x4bc3a1
test bl, 1
je 0x4bc47e
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x4bc46a
cmp dword [esp + 0x10], eax
jbe 0x4bc468
cmp byte [ecx + eax], 0xbf
jg 0x4bc46a
mov edx, dword [esp + 0x10]
push 0x52d1fc
push eax
jmp 0x4bc6e5
jne 0x4bc459
mov edx, eax
call fcn.004bac80
mov ecx, dword [esp]
test ax, ax
je 0x4bc488
cmp dx, cx
jne 0x4bc488
mov dword [esp + 0xc], 0
jmp 0x4bc4df
lea eax, [esp + 0x4c]
mov dword [esp + 0x20], 0x52d1e4
mov edx, 0x52d5a4
mov word [eax], cx
xor ecx, ecx
mov dword [esp + 0x68], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x6c], fcn.00406900
inc ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 4]
push edi
call fcn.00404380
add esp, 4
test al, al
jne 0x4bc72a
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x54]
movsd xmm1, qword [esp + 0x5c]
mov ebx, dword [esp + 0x40]
lea edi, [esp + 0x7c]
lea edx, [esp + 0x20]
mov ecx, edi
mov dword [edx + 0x10], eax
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
call fcn.004bf38f
movsd xmm0, qword [edi + 9]
movsd xmm1, qword [edi + 1]
cmp ebx, dword [esp + 0x3c]
mov al, byte [edi]
movsd qword [esp + 0x5c], xmm0
movsd qword [esp + 0x54], xmm1
je 0x4bc541
test al, al
jne 0x4bc541
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 4]
mov byte [eax + 4], 0
jmp 0x4bc3ed
mov ebx, dword [esp + 4]
mov byte [esp + 0x40], al
movzx edx, byte [esp + 0xb4]
mov eax, dword [ebx + 8]
mov dword [esp + 8], edx
mov ecx, ebx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x74]
mov byte [eax], 1
push esi
push ebp
push eax
call fcn.004be7e2
add esp, 0xc
mov ebp, eax
mov eax, edx
lea edx, [esp + 0x74]
mov ecx, 9
mov esi, ebx
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov cl, byte [esp + 0x40]
movsd xmm0, qword [esp + 0x54]
movsd xmm1, qword [esp + 0x5c]
mov byte [esp + 0x20], cl
mov ecx, dword [esp + 0x48]
movsd qword [esp + 0x21], xmm0
movsd qword [esp + 0x29], xmm1
push eax
push ebp
push dword [esp + 0x1c]
push dword [esp + 0xc]
push dword [esp + 0x1c]
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x28]
push dword [esp + 0x58]
push dword [esp + 0x64]
push dword [esp + 0xdc]
push dword [esp + 0x30]
call fcn.004bd078
add esp, 0x2c
jmp 0x4bc409
mov ecx, dword [esp + 0x14]
lea edi, [esp + 0x20]
lea esi, [esp + 0x54]
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], 1
mov dword [esi + 8], eax
mov dword [edi], ecx
mov dword [edi + 4], ebp
mov dword [edi + 8], 0x52d8a8
mov ecx, edi
call fcn.00439743
test eax, eax
je 0x4bc638
push edx
push eax
push esi
call fcn.004befa5
add esp, 0xc
test al, al
je 0x4bc604
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x52d5f4
push 0x52d690
push edi
call fcn.004e8f30
mov eax, dword [esp + 0x54]
xor edx, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov dword [esp], eax
jmp 0x4bc68b
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x21]
movzx esi, word [esp + 0x22]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x2c]
movzx ecx, byte [esp + 0x30]
mov dword [esp], eax
mov word [esp + 0x14], si
mov dword [esp + 0x1c], edx
mov dword [esp + 8], ecx
mov dl, 2
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
jmp 0x4bc238
xor eax, eax
xor ecx, ecx
inc eax
test ebx, ebx
mov dword [esp + 0xc], eax
je 0x4bc6be
push ebp
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
xor ebx, ebx
mov edx, dword [esp + 0x18]
jmp 0x4bc1e7
mov ecx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
push 0x52d1c4
call fcn.004e8ca0
mov ecx, edi
push 0x52d160
push ebp
push 0
call fcn.004e9120
mov ecx, 0x52e639
mov edx, 0x2b
push 0x52d1d4
push 0x52d054
lea eax, [esp + 0x28]
push eax
call fcn.004e8f30
mov ecx, esi
mov edx, ebp
push 0x52d20c
push ebx
jmp 0x4bc6e5
lea eax, [ebp - 1]
mov ecx, esi
mov edx, ebp
push 0x52d8b8
push eax
push 1
call fcn.004e9120
mov ecx, 0x52e639
mov edx, 0x2b
push 0x52d1ec
push 0x52d054
jmp 0x4bc632