Function at 0x4bb66a
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 0x4bb68b
mov ecx, edi
call fcn.00495eae
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 0x4bb6bc
mov ecx, edi
call fcn.00495eae
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.004ba82f
cmp eax, 0x3f
jg 0x4bb700
cmp eax, 0x23
je 0x4bb75c
cmp eax, 0x2f
je 0x4bb75c
cmp eax, 0x3f
jne 0x4bb759
jmp 0x4bb75c
cmp eax, 0x40
je 0x4bb716
cmp eax, 0x5c
jne 0x4bb72b
cmp byte [esp + 0xb4], 2
je 0x4bb759
jmp 0x4bb75c
cmp dword [esp + 0x14], 0
je 0x4bb734
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4bb747
mov ecx, dword [edi + 0x1c]
push 0xa
jmp 0x4bb740
cmp eax, 0x110000
jne 0x4bb759
jmp 0x4bb75c
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4bb747
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 0x4bb6e1
mov esi, dword [esp + 0x14]
mov dword [esp + 4], edi
test esi, esi
je 0x4bb960
test ebp, ebp
je 0x4bb982
jle 0x4bb9bb
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 0x4bc3b9
mov edi, ebx
mov dword [esp], ebp
mov dl, byte [edi]
movzx eax, dl
test dl, dl
js 0x4bb7c3
lea ebx, [edi + 1]
jmp 0x4bb815
movzx ebp, byte [edi + 1]
and eax, 0x1f
and ebp, 0x3f
cmp dl, 0xdf
jbe 0x4bb7fc
movzx ecx, byte [edi + 2]
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
cmp dl, 0xf0
jb 0x4bb806
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 0x4bb80e
shl eax, 6
lea ebx, [edi + 2]
or eax, ebp
jmp 0x4bb815
shl eax, 0xc
lea ebx, [edi + 3]
or eax, ecx
mov ecx, dword [esp + 0xb0]
cmp eax, 0xd
ja 0x4bb82a
bt esi, eax
jae 0x4bb82a
cmp ebx, ecx
mov edi, ebx
jne 0x4bb7b5
jmp 0x4bc3b9
cmp eax, 0x110000
je 0x4bc3b9
cmp eax, 0x80
mov ebp, 1
jb 0x4bb85a
mov ebp, 2
cmp eax, 0x800
jb 0x4bb85a
cmp eax, 0x10000
mov ebp, 4
sbb ebp, 0
mov edx, ecx
sub edx, edi
cmp ebp, edx
jae 0x4bb86d
cmp byte [edi + ebp], 0xbf
jg 0x4bb873
jmp 0x4bc3cd
jne 0x4bc3cd
cmp eax, 0x110000
mov dword [esp + 0xc], ebp
je 0x4bc3b9
mov edx, dword [esp]
cmp eax, 0x3a
lea ebp, [edx - 1]
jne 0x4bb8e8
cmp dword [esp + 0x10], 0
jne 0x4bb8e8
mov edi, dword [esp + 4]
cmp dword [esp], 2
mov eax, dword [edi + 8]
mov dword [esp + 0x44], eax
jl 0x4bb972
cmp eax, dword [edi]
jne 0x4bb8bb
mov edx, dword [esp + 0x44]
mov ecx, edi
call fcn.00495eae
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 0x4bb7b0
jmp 0x4bc3b9
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.004bdc74
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], 0x52d9d4
call fcn.00439672
cmp dword [esp], 2
jge 0x4bb7a2
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 0x4bb9c6
jmp 0x4bb9c2
mov eax, dword [esp + 0xb0]
mov ecx, dword [edi + 8]
mov esi, ebx
mov dword [esp + 8], eax
jmp 0x4bb9b2
mov edx, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
jmp 0x4bb9c6
mov eax, dword [esp + 8]
lea ecx, [esp + 0x74]
mov dword [ecx], esi
mov dword [ecx + 4], eax
call fcn.004ba82f
lea ecx, [eax - 0x23]
cmp ecx, 0x1c
ja 0x4bbc4e
mov edx, 0x10001001
bt edx, ecx
jae 0x4bbc4e
xor esi, esi
xor ecx, ecx
mov bl, byte [esp + 0xb4]
jmp 0x4bb9ef
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 0x4bb9eb
cmp edx, dword [edi]
jne 0x4bb9e1
mov ecx, edi
call fcn.00495eae
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 0x4bbb59
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 0x4bbb6e
sub eax, esi
mov dword [esp + 0xc], eax
je 0x4bbb95
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 0x4bba48
inc esi
jmp 0x4bba94
movzx edx, byte [esi + 1]
and edi, 0x1f
and edx, 0x3f
cmp al, 0xdf
jbe 0x4bba7f
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x4bba89
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 0x4bba91
shl edi, 6
add esi, 2
or edi, edx
jmp 0x4bba91
shl edi, 0xc
add esi, 3
or edi, ecx
xor edx, edx
inc edx
cmp edi, 0x3e
jg 0x4bbab2
cmp edi, 0xc
jle 0x4bbacc
cmp edi, 0x2e
jg 0x4bbae6
cmp edi, 0xd
je 0x4bbad4
cmp edi, 0x23
jne 0x4bbb21
jmp 0x4bbb62
cmp edi, 0x5b
jle 0x4bbadb
cmp edi, 0x5c
je 0x4bbaf8
cmp edi, 0x5d
jne 0x4bbb0b
inc ebp
mov dword [esp + 0x10], 0
jmp 0x4bbb2a
lea eax, [edi - 9]
cmp eax, 2
jae 0x4bbb21
mov al, 1
mov dword [esp], eax
jmp 0x4bbb2a
jne 0x4bbb15
mov al, 1
inc ebp
mov dword [esp + 0x10], eax
jmp 0x4bbb2a
cmp edi, 0x3a
jne 0x4bbb1c
test byte [esp + 0x10], 1
mov eax, dword [esp + 8]
jne 0x4bbb06
jmp 0x4bbb62
cmp byte [esp + 0xb4], 2
mov eax, dword [esp + 8]
jne 0x4bbb62
inc ebp
mov ecx, edx
jmp 0x4bbb30
cmp edi, 0x110000
jne 0x4bbb21
jmp 0x4bbb62
cmp edi, 0x3f
jne 0x4bbb21
jmp 0x4bbb62
cmp edi, 0x2f
je 0x4bbb62
inc ebp
cmp edi, 0x80
jae 0x4bbb3c
mov ecx, edx
mov eax, dword [esp + 8]
add ebx, ecx
cmp esi, eax
jne 0x4bba3c
jmp 0x4bbb62
mov ecx, 2
cmp edi, 0x800
jb 0x4bbb2c
cmp edi, 0x10000
mov ecx, 4
sbb ecx, 0
jmp 0x4bbb2c
mov eax, dword [esp + 0x48]
jmp 0x4bc0da
test byte [esp], 1
jne 0x4bbbd6
mov esi, dword [esp + 0x14]
jmp 0x4bbb99
lea edi, [esp + 0x20]
mov edx, esi
mov ecx, edi
push eax
call fcn.004be607
add esp, 4
mov esi, dword [edi]
cmp esi, 0x80000000
jne 0x4bbbf7
mov al, byte [esp + 0x24]
mov dword [esp], eax
jmp 0x4bbc41
xor ebp, ebp
xor ebx, ebx
inc ebp
lea edi, [esp + 0x4c]
dec ebp
je 0x4bbbaf
mov ecx, edi
call fcn.004ba82f
cmp eax, 0x110000
jne 0x4bbb9e
mov cl, 1
test ebx, ebx
je 0x4bbc4a
mov ebp, dword [esp + 0xc]
cmp ebx, ebp
jae 0x4bbc68
cmp byte [esi + ebx], 0xbf
jle 0x4bc3fa
mov ebp, ebx
jmp 0x4bbc6e
lea edi, [esp + 0x68]
lea edx, [esp + 0x4c]
mov ecx, edi
push ebp
call fcn.004bef57
add esp, 4
mov esi, dword [edi + 4]
mov ebp, dword [edi + 8]
xor ecx, ecx
mov dword [esp + 0x38], esi
jmp 0x4bbc6e
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.004bf0da
add esp, 4
mov dl, byte [ebp]
cmp dl, 3
jne 0x4bbe70
mov al, byte [esp + 0x21]
test esi, esi
mov dword [esp], eax
je 0x4bbc41
push edi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [esp + 4]
jmp 0x4bc0d3
xor ebp, ebp
jmp 0x4bbc6e
mov bl, byte [esp + 0xb4]
cmp eax, 0x110000
jne 0x4bbf04
mov ecx, dword [edi + 8]
jmp 0x4bb9ef
jne 0x4bc3fa
mov al, byte [esp + 0xb4]
cmp al, 1
je 0x4bbce7
movzx eax, al
cmp eax, 2
jne 0x4bbcef
test ebp, ebp
je 0x4bbd8c
cmp byte [esi], 0x5b
jne 0x4bbd8c
cmp byte [esi + ebp - 1], 0x5d
mov dl, 3
jne 0x4bbf1f
cmp ebp, 2
mov dword [esp + 0x18], ecx
jb 0x4bc406
cmp byte [esi + 1], 0xbf
jle 0x4bc406
inc esi
add ebp, 0xfffffffe
lea edi, [esp + 0x20]
mov ecx, edi
mov edx, esi
push ebp
call fcn.004c0414
add esp, 4
cmp byte [edi], 0
je 0x4bc347
mov al, byte [esp + 0x21]
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov dl, 3
jmp 0x4bbe68
test ebp, ebp
je 0x4bbec8
mov ebx, ecx
lea edi, [esp + 0x20]
mov edx, esi
mov ecx, edi
push ebp
call fcn.004bf0da
add esp, 4
mov dl, byte [edi]
cmp dl, 3
jne 0x4bbd1d
mov al, byte [esp + 0x21]
mov edi, dword [esp + 4]
mov dl, 3
mov ecx, ebx
mov dword [esp], eax
jmp 0x4bbf28
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 0x4bbf56
cmp dword [esp + 0x68], 0
je 0x4bbf56
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 0x4bbf56
lea eax, [esi + ebp]
mov ebx, 0x4800013
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], esi
cmp esi, eax
je 0x4bc2ce
mov cl, byte [esi]
movzx edi, cl
test cl, cl
js 0x4bbdb0
inc esi
jmp 0x4bbe1d
mov edx, ebp
movzx ebp, byte [esi + 1]
and edi, 0x1f
and ebp, 0x3f
cmp cl, 0xdf
jbe 0x4bbe02
movzx ebx, byte [esi + 2]
shl ebp, 6
and ebx, 0x3f
or ebx, ebp
cmp cl, 0xf0
jb 0x4bbe0e
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 0x4bc2ce
add esi, 4
jmp 0x4bbe1d
shl edi, 6
add esi, 2
or edi, ebp
mov ebp, edx
jmp 0x4bbe1d
shl edi, 0xc
add esi, 3
mov ebp, edx
or edi, ebx
mov ebx, 0x4800013
cmp edi, 0x2e
jle 0x4bbe47
lea ecx, [edi - 0x2f]
cmp ecx, 0x11
ja 0x4bbe34
mov edx, 0x3a801
bt edx, ecx
jb 0x4bbe5c
lea ecx, [edi - 0x5b]
cmp ecx, 4
jb 0x4bbe5c
cmp edi, 0x7c
jne 0x4bbd9c
jmp 0x4bbe5c
lea ecx, [edi - 9]
cmp ecx, 0x1a
ja 0x4bbe54
bt ebx, ecx
jb 0x4bbe5c
test edi, edi
jne 0x4bbd9c
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov al, 5
mov dl, 3
mov dword [esp], eax
jmp 0x4bbf28
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 0x4bbed3
cmp ecx, 9
jne 0x4bbed3
mov dword [esp + 0x18], edx
push 9
push str.localhost
push ebp
call fcn.004e5584
add esp, 0xc
mov ecx, 9
test eax, eax
je 0x4bc390
mov dword [esp + 0xc], ebp
jmp 0x4bc3b0
mov dl, 3
mov dword [esp], 0
jmp 0x4bbf24
mov dword [esp + 0xc], ebp
test esi, esi
mov dword [esp + 0x10], ebx
je 0x4bbef6
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 0x4bbf56
cmp bl, 2
je 0x4bbc60
cmp eax, 0x5c
jne 0x4bbc60
xor esi, esi
xor ecx, ecx
jmp 0x4bb9ef
mov al, 4
mov dword [esp], eax
mov edi, dword [esp + 4]
test cl, cl
jne 0x4bbf49
cmp dword [esp + 0x68], 0
je 0x4bbf49
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 0x4bc0d3
movzx ebx, word [esp + 0x14]
lea eax, [esp + 0x54]
mov dword [esp + 0x20], 0x52e454
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, 0x52d514
mov byte [eax + 1], cl
lea ecx, [esp + 0x68]
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 4], 0x4bea6f
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.00404230
add esp, 4
test al, al
jne 0x4bc3dc
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 0x4bc01a
cmp dword [esp + 0x60], 0
jne 0x4bc01a
mov dword [esp + 0x20], edx
xor edx, edx
lea eax, [esp + 0x20]
mov dword [esp + 0x24], esi
mov ecx, 0x52d83a
inc edx
push eax
call fcn.004baaa0
add esp, 4
cmp bh, 2
jne 0x4bc0b3
mov edx, ebp
test al, al
jne 0x4bc0b3
lea ecx, [esp + 0x20]
mov dword [ecx], edx
mov dword [ecx + 4], esi
call fcn.004ba82f
cmp eax, 0x3a
jne 0x4bc0a3
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.004ba82f
cmp eax, 0x110000
je 0x4bc126
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jae 0x4bc104
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 0x4bc04e
cmp byte [esp + 0xc], 0
mov edi, dword [esp + 4]
mov al, 2
mov dword [esp], eax
jne 0x4bc0d3
jmp 0x4bc0ba
mov dword [esp + 0xc], 0
mov dword [esp], eax
jmp 0x4bc1cf
mov dword [esp], 0
cmp dword [esp + 0x58], 0
je 0x4bc0d3
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 0x4bc0f9
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 0x4bc126
lea ecx, [eax - 0x23]
cmp ecx, 0x1c
ja 0x4bc11d
mov edx, 0x10001001
bt edx, ecx
jb 0x4bc126
cmp eax, 0x5c
jne 0x4bc091
test bl, 1
je 0x4bc16e
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x4bc15a
cmp dword [esp + 0x10], eax
jbe 0x4bc158
cmp byte [ecx + eax], 0xbf
jg 0x4bc15a
mov edx, dword [esp + 0x10]
push 0x52d16c
push eax
jmp 0x4bc3d5
jne 0x4bc149
mov edx, eax
call fcn.004ba970
mov ecx, dword [esp]
test ax, ax
je 0x4bc178
cmp dx, cx
jne 0x4bc178
mov dword [esp + 0xc], 0
jmp 0x4bc1cf
lea eax, [esp + 0x4c]
mov dword [esp + 0x20], 0x52d154
mov edx, 0x52d514
mov word [eax], cx
xor ecx, ecx
mov dword [esp + 0x68], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x6c], fcn.004067b0
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.00404230
add esp, 4
test al, al
jne 0x4bc41a
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.004bf083
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 0x4bc231
test al, al
jne 0x4bc231
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 4]
mov byte [eax + 4], 0
jmp 0x4bc0dd
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.004be4d4
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.004bcd68
add esp, 0x2c
jmp 0x4bc0f9
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], 0x52d818
mov ecx, edi
call fcn.004392d3
test eax, eax
je 0x4bc328
push edx
push eax
push esi
call fcn.004bec99
add esp, 0xc
test al, al
je 0x4bc2f4
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x52d564
push 0x52d600
push edi
call fcn.004e8cc0
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 0x4bc37b
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 0x4bbf28
xor eax, eax
xor ecx, ecx
inc eax
test ebx, ebx
mov dword [esp + 0xc], eax
je 0x4bc3ae
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 0x4bbed7
mov ecx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
push 0x52d134
call fcn.004e8a30
mov ecx, edi
push 0x52d0d0
push ebp
push 0
call fcn.004e8eb0
mov ecx, 0x52e579
mov edx, 0x2b
push 0x52d144
push 0x52cfc4
lea eax, [esp + 0x28]
push eax
call fcn.004e8cc0
mov ecx, esi
mov edx, ebp
push 0x52d17c
push ebx
jmp 0x4bc3d5
lea eax, [ebp - 1]
mov ecx, esi
mov edx, ebp
push 0x52d828
push eax
push 1
call fcn.004e8eb0
mov ecx, 0x52e579
mov edx, 0x2b
push 0x52d15c
push 0x52cfc4
jmp 0x4bc322