Function at 0x43760f
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x418
mov eax, dword [edx + 0x124]
mov esi, dword [edx + 0x128]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
test eax, eax
mov edi, eax
setne cl
je 0x43763f
mov edi, dword [edx + 0x12c]
lea ebx, [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, edi
xor edi, edi
mov dword [ebx], ecx
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov edi, dword [esp + 4]
mov esi, dword [ebp + 0xc]
mov dword [ebx + 0x20], edx
mov ecx, ebx
call fcn.0041db15
test eax, eax
je 0x43772c
test edx, edx
je 0x43772c
test byte [edx + 0xbc], 2
je 0x43766f
mov eax, dword [edi + 0x12c]
cmp eax, dword [edx + 0xf0]
je 0x43766f
test eax, eax
je 0x43772c
mov eax, dword [edi + 0x124]
test eax, eax
je 0x43772c
mov ecx, dword [edi + 0x128]
test ecx, ecx
je 0x4376ca
movzx edx, word [eax + 0xada]
dec ecx
mov eax, dword [eax + edx*4 + 0xae0]
jne 0x4376b9
movzx ecx, word [eax + 0xada]
test ecx, ecx
je 0x4376d8
dec ecx
jmp 0x437718
xor esi, esi
mov edx, dword [eax + 0xaa8]
test edx, edx
je 0x43b815
movzx ecx, word [eax + 0xad8]
mov edi, esi
inc esi
mov eax, edx
test ecx, ecx
je 0x4376da
dec ecx
test esi, esi
je 0x43770f
test edi, edi
je 0x43770f
mov edi, dword [esp + 4]
xor eax, eax
inc eax
sub eax, esi
inc eax
jne 0x43770a
jmp 0x437713
mov edi, dword [esp + 4]
mov eax, edx
mov esi, dword [ebp + 0xc]
imul ecx, ecx, 0xf8
test byte [eax + ecx + 0xbd], 0x40
jne 0x43772c
or byte [edi + 3], 0x10
mov eax, dword [edi + 0xcc]
mov cl, 1
or eax, dword [edi + 0xd8]
jne 0x437746
cmp dword [edi + 0x12c], 0
setne cl
mov byte [esp + 0xbc], cl
mov ecx, edi
call fcn.00435de2
lea eax, [esi + 0x11]
xor ecx, ecx
mov dword [esp + 0x208], 0
mov dword [esp + 0x8c], eax
lea eax, [esi + 4]
inc ecx
mov dword [esp + 0x24], eax
lea eax, [edi + 0x118]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc4], eax
lea eax, [edi + 0x100]
mov edi, 5
mov dword [esp + 0xc0], eax
lea eax, [esi + 8]
mov dword [esp + 0x7c], eax
lea eax, [esi + 0xc]
mov dword [esp + 0x5c], eax
mov al, byte [esi + 0x10]
mov byte [esi + 0x10], 3
mov dword [esp + 0x20], edi
cmp al, 3
jne 0x4377dc
mov ecx, dword [esi]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
je 0x439a15
lea edx, [eax + 0x10]
mov dword [ecx + 8], edx
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov edx, dword [eax]
mov al, byte [eax + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], esi
jmp 0x4377f6
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
cmp al, 2
je 0x439a15
mov eax, dword [esp + 0x14]
mov esi, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc]
and byte [edi + 4], 0xf7
mov ecx, edi
mov dword [esp + 0xd0], eax
push ebx
mov ebx, dword [esp + 0x14]
push ebx
call fcn.00437180
add esp, 8
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov byte [esp + 8], al
mov eax, 4
test edx, eax
jne 0x437dd0
mov edi, dword [edi]
mov dword [esp + 0x1c], edx
mov edx, ebx
push 2
push 0x54885c
call fcn.00437410
add esp, 8
cmp ebx, 2
mov bl, byte [esp + 8]
sete cl
test al, al
je 0x4378a1
and cl, bl
je 0x4378a1
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebp + 0xc]
mov eax, 4
lea ebx, [esp + 0xc8]
mov dword [edx], edi
mov edi, dword [esp + 0x20]
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x438fe4
mov edi, dword [esp + 0x20]
lea eax, [edi - 1]
cmp eax, 2
mov eax, dword [esp + 0x18]
jb 0x4378d7
mov edx, dword [esp + 4]
lea ecx, [esp + 0xc8]
push dword [esp + 0x10]
push eax
call fcn.00436ab0
add esp, 8
cmp byte [esp + 0xc8], 0
jne 0x439ebe
test bl, bl
je 0x437940
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
mov esi, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0xc4]
mov dword [esp + 0x40], eax
test esi, esi
mov eax, str.failed_to_write_whole_buffer
cmove edx, esi
cmove esi, eax
imul ebx, dword [edi + 0xcc], 0x78
mov dword [esp + 8], edx
test ebx, ebx
je 0x4379ef
cmp dword [ecx + 0x24], edx
jne 0x437938
push edx
push esi
push dword [ecx + 0x20]
mov edi, esi
mov esi, ecx
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
mov ecx, esi
mov esi, edi
add esp, 0xc
test eax, eax
je 0x4379f1
add ecx, 0x78
add ebx, 0xffffff88
jmp 0x43790a
cmp edi, 1
jne 0x43912f
mov edi, dword [esp + 4]
mov eax, dword [esp + 0xc]
lea ebx, [esp + 0xc8]
mov esi, dword [edi + 0xd0]
imul edi, dword [edi + 0xd8], 0x110
test edi, edi
je 0x43b7a9
cmp dword [esi + 0xbc], eax
jne 0x437993
push eax
push dword [esp + 0x18]
push dword [esi + 0xb8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0xc]
je 0x4379a1
add esi, 0x110
add edi, 0xfffffef0
jmp 0x437968
mov edx, dword [esp + 4]
mov ecx, ebx
push dword [ebp + 8]
push dword [esp + 0x14]
push dword [esp + 0x20]
push esi
call fcn.0043ba97
add esp, 0x10
mov al, byte [esp + 0xe0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov edi, dword [esp + 0xc8]
cmp al, 0x14
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], edx
jne 0x439f4f
mov esi, dword [ebp + 0xc]
jmp 0x438fe4
xor ecx, ecx
mov edi, dword [esp + 4]
mov dword [esp + 0x1c], ecx
mov ebx, dword [edi + 0xd0]
imul edi, dword [edi + 0xd8], 0x110
test edi, edi
je 0x437a3b
cmp dword [ebx + 0xbc], edx
jne 0x437a2d
push edx
push esi
push dword [ebx + 0xb8]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
je 0x437a3d
add ebx, 0x110
add edi, 0xfffffef0
jmp 0x437a09
xor ebx, ebx
mov edi, dword [esp + 4]
xor edx, edx
mov eax, dword [edi + 0x124]
mov esi, dword [edi + 0x128]
test eax, eax
mov ecx, eax
setne byte [esp + 8]
je 0x437a60
mov ecx, dword [edi + 0x12c]
mov edi, ecx
mov cl, byte [esp + 8]
mov dl, cl
xor ecx, ecx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0xc8]
call fcn.0041db15
mov esi, edx
xor edx, edx
test eax, eax
je 0x437b01
test esi, esi
je 0x437b01
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
test eax, eax
mov ecx, eax
je 0x437ad9
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x14]
cmp dword [esi + 0x9c], ecx
jne 0x437aad
mov edx, str.failed_to_write_whole_buffer
test eax, eax
cmove eax, edx
push ecx
push eax
push dword [esi + 0x98]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov edx, esi
jne 0x437aad
mov ecx, 0x100
xor eax, eax
mov esi, 0x5484ac
test dword [esp + 0x40], ecx
mov ecx, 0x5485a4
setne al
test ebx, ebx
cmove esi, ecx
mov ecx, dword [esp + 0x1c]
cmovne edx, ebx
test ecx, ecx
cmovne edx, ecx
mov ecx, 0x548528
cmovne esi, ecx
mov ecx, dword [ebp + 8]
push eax
push dword [esp + 0xc4]
push dword [esp + 0xcc]
push esi
call fcn.0043b890
add esp, 0x10
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ecx, esi
mov edx, ebx
push 2
push 0x54885c
call fcn.00437410
add esp, 8
test al, al
je 0x437c11
mov edi, dword [esp + 4]
mov ecx, esi
mov edx, ebx
inc dword [edi + 0x130]
call fcn.0041dace
test edx, edx
je 0x437c91
dec edx
cmp byte [eax], 0x3d
lea eax, [eax + 1]
jne 0x437b83
mov edx, ebx
mov ecx, esi
push 0x2d
call fcn.00442e93
add esp, 4
mov ecx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edx
call fcn.0041dace
xor esi, esi
cmp edx, esi
je 0x437dde
mov ebx, esi
inc esi
cmp byte [eax + ebx], 0x3d
jne 0x437bb3
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ecx, edi
call fcn.0041dace
cmp ebx, edx
mov dword [esp + 8], eax
ja 0x43b834
mov edx, dword [esp + 0xc]
mov ecx, edi
call fcn.0041dace
mov ecx, edx
sub ecx, esi
mov dword [esp + 0x1c], ecx
jb 0x43b83d
mov ecx, dword [esp + 8]
mov edi, dword [esp + 4]
add eax, esi
mov edx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
jmp 0x437e05
mov edx, ebx
mov ecx, esi
push 1
push str._stdio:_nRead_input_from_console__print_to_console._Uses_threaded_implementation_even_on_UNIX_unless_requested_by____async_stdio__CLI_option._n_nTypically_this_specifier_can_be_specified_only_one_time._n_____nExample:_simulate__cat_1__._This_is_an_exception_from__only_one_time__rule_above:_n_n____websocat_____n_nExample:_SSH_transport_n_n____ssh__c_ProxyCommandwebsocat___ws:__myserver_mywebsocket_user_myserver_n
call fcn.00437410
add esp, 8
mov esi, dword [ebp + 0xc]
mov edx, ebx
test al, al
lea ebx, [esp + 0xc8]
je 0x439136
cmp edx, 1
je 0x438b2a
mov ecx, dword [esp + 0x18]
push 0x2d
call fcn.00442e93
add esp, 4
mov edi, edx
lea ecx, [esp + 0x48]
mov dword [esp + 0x78], eax
mov edx, eax
mov dword [esp + 0x1c], edi
push edi
call fcn.004b3330
add esp, 4
mov edi, dword [esp + 4]
bt dword [edi], 0x12
jb 0x437cb0
mov eax, 8
test dword [edi + 4], eax
jne 0x43831f
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
jmp 0x4380b0
mov edx, ebx
mov ecx, esi
push 0x2d
call fcn.00442e93
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], 0
jmp 0x437e05
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
test esi, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], eax
cmove esi, eax
mov eax, dword [edi + 0xc4]
imul ecx, dword [edi + 0xcc], 0x78
add ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xd0]
imul edi, dword [edi + 0xd8], 0x110
mov dword [esp + 8], ecx
add edi, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x74], eax
add eax, esi
mov dword [esp + 0xc], eax
cmp esi, dword [esp + 0xc]
je 0x4380a4
movzx edx, byte [esi]
test dl, dl
js 0x437d14
inc esi
jmp 0x437d86
movzx ebx, byte [esi + 1]
mov eax, edx
and eax, 0x1f
and ebx, 0x3f
cmp dl, 0xdf
jbe 0x437d62
movzx ecx, byte [esi + 2]
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
cmp dl, 0xf0
jb 0x437d75
movzx edx, byte [esi + 3]
and eax, 7
shl ecx, 6
lea ebx, [esp + 0xc8]
shl eax, 0x12
and edx, 0x3f
or edx, ecx
or edx, eax
cmp edx, 0x110000
je 0x4380a4
add esi, 4
jmp 0x437d86
shl eax, 6
add esi, 2
or eax, ebx
lea ebx, [esp + 0xc8]
mov edx, eax
jmp 0x437d86
shl eax, 0xc
add esi, 3
lea ebx, [esp + 0xc8]
or ecx, eax
mov edx, ecx
mov eax, dword [esp + 0x14]
mov ecx, ebx
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edi
call fcn.0041fb72
test al, al
jne 0x437d00
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x318], 3
jmp 0x43832a
lea ebx, [esp + 0xc8]
mov edi, esi
jmp 0x439136
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.0041dace
cmp edx, esi
jb 0x43b82b
add eax, esi
mov dword [esp + 0x1c], 0
mov edx, esi
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xd8]
mov dword [esp + 0xc], edx
test eax, eax
je 0x437eaa
mov ecx, dword [esp + 4]
imul eax, eax, 0x110
mov esi, dword [ecx + 0xd0]
add eax, esi
mov dword [esp + 8], eax
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x437e9e
cmp edx, dword [esi + 0xa0]
jne 0x437e59
push edx
push eax
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x437fa2
mov ebx, dword [esi + 0xa4]
test ebx, ebx
je 0x437e9e
mov eax, dword [esi + 0xac]
add ebx, 4
shl eax, 2
lea edi, [eax + eax*2]
test edi, edi
je 0x437e9e
cmp edx, dword [ebx]
jne 0x437e96
push edx
push dword [ebx - 4]
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x437fa2
add ebx, 0xc
add edi, 0xfffffff4
jmp 0x437e72
add esi, 0x110
cmp esi, dword [esp + 8]
jne 0x437e2d
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xcc]
test eax, eax
je 0x437f3d
mov ecx, dword [esp + 4]
imul eax, eax, 0x78
mov ebx, dword [ecx + 0xc4]
add eax, ebx
mov dword [esp + 8], eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x437f34
cmp edx, dword [ebx + 8]
jne 0x437ef5
push edx
push eax
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x43804b
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x437f34
mov eax, dword [ebx + 0x14]
add esi, 4
shl eax, 2
lea edi, [eax + eax*2]
test edi, edi
je 0x437f34
cmp edx, dword [esi]
jne 0x437f2c
push edx
push dword [esi - 4]
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x43804b
add esi, 0xc
add edi, 0xfffffff4
jmp 0x437f08
add ebx, 0x78
cmp ebx, dword [esp + 8]
jne 0x437ecf
mov ecx, dword [esp + 4]
bt dword [ecx], 0x12
jb 0x439113
mov eax, 8
mov edx, dword [ebp + 0xc]
test dword [ecx + 4], eax
jne 0x43911a
mov bl, byte [edx + 0x10]
mov byte [edx + 0x10], 3
cmp bl, 3
jne 0x4383ef
mov ecx, dword [edx]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
je 0x43842f
lea esi, [eax + 0x10]
mov dword [ecx + 8], esi
mov ecx, dword [eax + 8]
mov dword [esp + 0xd0], ecx
movq xmm0, qword [eax]
movq qword [esp + 0xc8], xmm0
mov bl, byte [eax + 0xc]
add eax, 0xd
jmp 0x438411
mov edi, dword [esp + 4]
mov eax, 0x20
lea ebx, [esp + 0xc8]
mov ecx, ebx
or dword [edi + 4], eax
xor eax, eax
cmp dword [esp + 0x20], 0
mov edx, edi
setne al
push dword [ebp + 8]
push eax
push esi
push dword [esp + 0x28]
push dword [esp + 0x30]
call fcn.00442f06
add esp, 0x14
mov eax, dword [esp + 0xc8]
mov dl, byte [esp + 0xe0]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xcc]
cmp dl, 0x14
mov dword [esp + 0x58], ecx
mov dword [esp + 0x70], eax
jne 0x43a7d8
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x438387
mov edi, dword [edi + 0x14]
mov eax, dword [esi + 0xbc]
cmp edi, eax
jne 0x43838d
push edi
push dword [esi + 0xb8]
push ecx
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, edi
jne 0x43838d
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x20]
jmp 0x438acc
mov edi, dword [esp + 4]
mov edx, 0x20
mov ecx, dword [edi + 4]
mov eax, dword [edi]
or ecx, edx
mov edx, dword [esp + 0xc]
mov dword [edi + 4], ecx
cmp edx, 7
je 0x438817
cmp edx, 4
jne 0x43885d
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0x706c6568
jne 0x43885d
and eax, 0x100
je 0x43885d
lea ecx, [esp + 0xc8]
mov edx, edi
push 1
call fcn.00436ecc
jmp 0x438849
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
test ecx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
cmove ecx, edx
test eax, eax
je 0x4383a0
mov dword [esp + 0x74], eax
add eax, ecx
mov edi, 5
mov esi, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 8], eax
movzx eax, byte [esi]
test al, al
js 0x4380e4
inc esi
jmp 0x438153
movzx ebx, byte [esi + 1]
mov ecx, eax
and ecx, 0x1f
and ebx, 0x3f
cmp al, 0xdf
jbe 0x43812f
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or edx, ebx
cmp al, 0xf0
jb 0x438142
movzx eax, byte [esi + 3]
and ecx, 7
shl edx, 6
lea ebx, [esp + 0xc8]
shl ecx, 0x12
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x4383a5
add esi, 4
jmp 0x438153
shl ecx, 6
add esi, 2
or ecx, ebx
lea ebx, [esp + 0xc8]
mov eax, ecx
jmp 0x438153
shl ecx, 0xc
add esi, 3
lea ebx, [esp + 0xc8]
or edx, ecx
mov eax, edx
mov ecx, dword [esp + 4]
mov edx, 0xfffffef0
mov dword [esp + 0x60], eax
inc dword [ecx + 0x130]
mov edi, dword [ecx + 0xd0]
imul ecx, dword [ecx + 0xd8], 0x110
add edi, edx
mov dword [esp + 0xc], edi
test ecx, ecx
je 0x4381ab
mov edi, dword [esp + 0xc]
add ecx, 0xfffffef0
mov edx, dword [edi + 0x1a8]
add edi, 0x110
mov dword [esp + 0xc], edi
cmp edx, 0x110000
je 0x43817c
cmp edx, eax
jne 0x43817c
jmp 0x438337
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0xc4]
imul ecx, dword [ecx + 0xcc], 0x78
add ebx, 0xffffffa8
test ecx, ecx
je 0x438457
mov edx, dword [ebx + 0x58]
add ebx, 0x78
add ecx, 0xffffff88
cmp edx, 0x110000
je 0x4381bf
cmp edx, eax
jne 0x4381bf
mov edi, dword [esp + 4]
mov ecx, 0x20
mov dword [esp + 0xac], esi
mov edx, dword [edi + 4]
mov esi, dword [edi]
or edx, ecx
mov dword [edi + 4], edx
mov edx, dword [edi + 0xbc]
cmp edx, 0x110000
je 0x438226
cmp edx, eax
jne 0x438226
mov edx, esi
and edx, 0x100
je 0x438226
mov edx, dword [esp + 4]
lea ecx, [esp + 0xc8]
push 0
call fcn.00436ecc
jmp 0x438256
mov edx, dword [esp + 4]
mov edx, dword [edx + 0xc0]
cmp edx, 0x110000
je 0x438268
cmp edx, eax
jne 0x438268
and esi, 0x200
je 0x438268
mov edx, dword [esp + 4]
lea ecx, [esp + 0xc8]
push 0
call fcn.004431d4
add esp, 4
mov al, byte [esp + 0xe0]
cmp al, 0x14
jne 0x4399b4
mov edi, dword [esp + 4]
lea ecx, [esp + 0xc8]
mov edx, edi
push dword [ebp + 8]
push dword [ebx + 4]
push dword [ebx]
call fcn.00443502
add esp, 0xc
mov al, byte [esp + 0xe0]
mov ecx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0xc8]
cmp al, 0x14
mov dword [esp + 0x20], esi
mov dword [esp + 0xc], ecx
jne 0x43996b
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4382f1
mov esi, dword [edi + 0x14]
mov ecx, dword [ebx + 4]
mov edi, edx
mov dword [esp + 0x204], esi
cmp esi, ecx
mov esi, dword [esp + 0xac]
jne 0x4382fd
push dword [esp + 0x204]
push dword [ebx]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
mov ecx, dword [esp + 0x204]
test eax, eax
jne 0x4382fd
jmp 0x438309
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0xac]
mov edi, edx
mov eax, dword [ebx]
mov edx, dword [esp + 4]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
cmp esi, dword [esp + 8]
lea ebx, [esp + 0xc8]
jne 0x4380da
jmp 0x4383a5
mov dword [esp + 0x318], 4
mov byte [esp + 0x330], 0x14
jmp 0x438f91
mov ecx, dword [esp + 4]
mov edx, 0x20
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x14]
or dword [ecx + 4], edx
cmp eax, 0x80
mov ecx, eax
mov edx, 1
jb 0x438b84
cmp eax, 0x800
jae 0x438af8
mov ecx, eax
mov edx, eax
and ecx, 0x3f
shr edx, 6
shl ecx, 8
or ecx, edx
mov edx, 2
or ecx, 0x80c0
jmp 0x438b84
mov eax, dword [esi + 0xbc]
mov edi, dword [esp + 4]
mov edx, dword [esp + 0x20]
add esi, 0xb8
jmp 0x438abf
mov edi, 5
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x318], edi
test eax, eax
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x320], edx
mov byte [esp + 0x330], 0x14
je 0x4383e7
cmp dword [esp + 0x44], 0
je 0x4383e7
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov esi, dword [ebp + 0xc]
jmp 0x438fae
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x8c]
movq qword [esp + 0xc8], xmm0
mov cl, byte [eax + 2]
cmp bl, 2
mov byte [esp + 0x92], cl
movzx eax, word [eax]
mov word [esp + 0x90], ax
jne 0x438564
xor ebx, ebx
mov dword [esp + 0x90], 4
mov dword [esp + 8], 4
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
jmp 0x43877b
xor ecx, ecx
lea eax, [esp + 0x60]
lea edx, [esp + 0x90]
lea ebx, [esp + 0xc8]
mov dword [esp + 0xc8], 0x54884c
xor edi, edi
mov dword [esp + 0x90], eax
inc ecx
xor eax, eax
mov dword [esp + 0x94], fcn.0044af30
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
lea ecx, [esp + 0x218]
mov edx, ebx
call fcn.0041bb50
mov eax, dword [esp + 0x220]
mov esi, dword [esp + 0x218]
mov dword [esp + 0xc], eax
sub esp, 4
mov ecx, ebx
mov ebx, dword [esp + 8]
mov edx, ebx
push edi
push dword [ebp + 8]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [ebx]
mov edi, dword [esp + 0xc8]
mov edx, esi
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x318]
push eax
push dword [esp + 0xd4]
push edi
push dword [esp + 0x18]
call fcn.0043bdd4
add esp, 0x10
xor eax, eax
cmp dword [esp + 0xcc], eax
je 0x438537
push edi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x21c], 0
mov esi, dword [ebp + 0xc]
je 0x438558
push dword [esp + 0x218]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea ebx, [esp + 0xc8]
jmp 0x438f91
mov cl, byte [esp + 0x92]
mov eax, dword [esp + 0xd0]
movsd xmm0, qword [esp + 0xc8]
movzx edi, word [esp + 0x90]
mov byte [esp + 0x62], cl
lea ecx, [esp + 0xc8]
mov dword [esp + 0x220], eax
movsd qword [esp + 0x218], xmm0
mov word [esp + 0x60], di
call fcn.004205b7
mov ecx, dword [esp + 0xc8]
mov eax, 0xffffffff
inc ecx
cmove ecx, eax
mov eax, 4
cmp ecx, 5
cmovb ecx, eax
call fcn.004275eb
movq xmm0, qword [esp + 0x218]
mov esi, 0x1d
mov dword [esp + 0x44], eax
movq qword [eax], xmm0
mov ecx, dword [esp + 0x220]
mov dword [eax + 8], ecx
mov byte [eax + 0xc], bl
movzx ecx, word [esp + 0x60]
mov word [eax + 0xd], cx
mov cl, byte [esp + 0x62]
mov byte [eax + 0xf], cl
xor ecx, ecx
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], edx
mov dword [esp + 0x320], 1
inc ecx
mov dword [esp + 8], ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x5c]
mov bl, byte [ecx + 0x10]
mov byte [ecx + 0x10], 3
mov ecx, dword [esp + 0x24]
cmp bl, 3
jne 0x438660
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
cmp ecx, dword [edx + 0xc]
je 0x438750
lea edi, [ecx + 0x10]
lea eax, [ecx + 4]
mov dword [edx + 8], edi
lea edi, [ecx + 8]
lea edx, [ecx + 0xd]
mov bl, byte [ecx + 0xc]
mov ecx, dword [ecx]
mov edi, dword [edi]
mov eax, dword [eax]
cmp bl, 2
mov dword [esp + 0x20], ecx
mov cl, byte [edx + 2]
mov byte [esp + 0xca], cl
movzx ecx, word [edx]
mov word [esp + 0xc8], cx
je 0x438750
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 8]
mov cl, byte [esp + 0xca]
movzx edx, word [esp + 0xc8]
mov dword [esp + 0x40], eax
cmp edi, dword [esp + 0x31c]
mov byte [esp + 0x4a], cl
mov word [esp + 0x48], dx
mov byte [esp + 0x92], cl
mov word [esp + 0x90], dx
je 0x43870f
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
inc edi
mov dword [esp + 8], edi
mov dword [eax + esi - 0xd], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + esi - 9], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + esi - 5], ecx
mov byte [eax + esi - 1], bl
movzx ecx, word [esp + 0x90]
mov word [eax + esi], cx
mov cl, byte [esp + 0x92]
mov byte [eax + esi + 2], cl
mov dword [esp + 0x320], edi
add esi, 0x10
jmp 0x43861b
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0xc8]
call fcn.004205b7
mov eax, dword [esp + 0xc8]
mov ecx, 0xffffffff
mov edx, edi
inc eax
cmove eax, ecx
lea ecx, [esp + 0x318]
push eax
call fcn.004205ea
add esp, 4
mov eax, dword [esp + 0x318]
mov dword [esp + 0x44], eax
jmp 0x4386c4
movq xmm0, qword [esp + 0x318]
mov ebx, dword [esp + 0x320]
movq qword [esp + 0x90], xmm0
mov dword [esp + 0x98], ebx
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov ecx, ebx
call fcn.0041f15b
cmp edx, ebx
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
mov dword [esp + 0x220], 0
jb 0x4390ee
xor ecx, ecx
test ebx, ebx
je 0x4388de
lea esi, [eax + ecx*8]
mov edi, 4
mov eax, dword [esp + 8]
lea ecx, [esp + 0xc8]
mov edx, dword [eax + edi*2 - 8]
push dword [eax + edi*2]
call fcn.004469c0
add esp, 4
cmp dword [esp + 0xc8], 0
jne 0x43b804
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x43b804
mov ecx, dword [esp + 0xd0]
mov dword [esi + edi - 4], eax
mov dword [esi + edi], ecx
add edi, 8
dec ebx
jne 0x4387b5
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov dword [esp + 8], ecx
jmp 0x4388e2
mov esi, dword [esp + 0x14]
mov edx, 0x73726576
mov ecx, dword [esi]
xor ecx, edx
mov edx, dword [esi + 3]
mov esi, 0x6e6f6973
xor edx, esi
or edx, ecx
jne 0x43885d
and eax, 0x200
je 0x43885d
lea ecx, [esp + 0xc8]
mov edx, edi
push 1
call fcn.004431d4
add esp, 4
mov dl, byte [esp + 0xe0]
cmp dl, 0x14
je 0x438865
jmp 0x43a936
mov byte [esp + 0xe0], 0x14
mov edx, edi
lea ecx, [esp + 0xc8]
push dword [ebp + 8]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.00443502
add esp, 0xc
mov dl, byte [esp + 0xe0]
cmp dl, 0x14
jne 0x43a936
mov ecx, dword [edi + 0x10]
lea esi, [ebx + 0x20]
test ecx, ecx
je 0x4388cd
mov edi, dword [edi + 0x14]
mov eax, dword [ebx + 0x24]
cmp edi, eax
jne 0x438ab2
push edi
push dword [esi]
push ecx
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
lea ebx, [esp + 0xc8]
je 0x438b36
mov eax, edi
mov edi, dword [esp + 4]
jmp 0x438abd
mov eax, dword [ebx + 0x24]
xor edx, edx
lea ebx, [esp + 0xc8]
jmp 0x438abf
mov dword [esp + 8], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x218]
push dword [esp + 0xc]
call fcn.004469c0
add esp, 4
cmp dword [esp + 0x218], 0
jne 0x43b846
mov eax, dword [esp + 0x21c]
test eax, eax
je 0x43b846
mov edx, dword [esp + 0x220]
xor ecx, ecx
lea ebx, [esp + 0x60]
mov dword [esp + 0x60], eax
mov dword [esp + 0x218], 0x548860
mov dword [esp + 0x48], ebx
inc ecx
xor ebx, ebx
mov dword [esp + 0x4c], 0x41de0f
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x228], ebx
lea ebx, [esp + 0x218]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x48]
mov dword [esp + 0x220], edx
mov dword [esp + 0x224], ecx
lea ecx, [esp + 0x318]
mov edx, ebx
call fcn.0041bb50
mov esi, dword [esp + 0x318]
mov edi, dword [esp + 0x320]
sub esp, 4
mov ecx, ebx
mov ebx, dword [esp + 8]
xor eax, eax
mov edx, ebx
push eax
push dword [ebp + 8]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [ebx]
lea ebx, [esp + 0xc8]
mov edx, esi
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
mov ecx, ebx
push eax
push dword [esp + 0x224]
push dword [esp + 0x220]
push edi
call fcn.0043bdd4
add esp, 0x10
xor eax, eax
cmp dword [esp + 0x31c], eax
je 0x4389fa
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x21c], 0
je 0x438a18
push dword [esp + 0x218]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov dl, byte [esp + 0xe0]
mov esi, dword [ebp + 0xc]
cmp dl, 0x14
jne 0x438a30
mov edi, 5
mov dl, 0x14
jmp 0x438a7b
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0xd4]
mov edi, dword [esp + 0xc8]
movq xmm0, qword [ecx]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xd0]
movq qword [esp + 0x30], xmm0
mov dword [esp + 0x58], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x38], eax
movzx eax, word [ecx + 0xd]
mov cl, byte [ecx + 0xf]
mov word [esp + 0x80], ax
mov byte [esp + 0x82], cl
mov eax, dword [esp + 8]
mov byte [esp + 0xc], dl
test eax, eax
je 0x438a98
push dword [esp + 0x20]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea ecx, [esp + 0x90]
call fcn.00423957
mov dl, byte [esp + 0xc]
cmp dl, 0x14
je 0x438acc
jmp 0x43a981
mov edi, dword [esp + 4]
lea ebx, [esp + 0xc8]
xor edx, edx
mov ecx, dword [esi]
mov esi, dword [ebp + 0xc]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], eax
mov edi, edx
cmp edi, 6
ja 0x439956
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x70]
mov eax, 0x43
bt eax, edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], ecx
jb 0x438fe4
jmp 0x439136
cmp eax, 0x10000
jae 0x438b4d
mov ecx, eax
lea edx, [eax*4]
shr ecx, 0xc
and edx, 0x3f00
or edx, ecx
mov ecx, eax
and ecx, 0x3f
shl ecx, 0x10
or ecx, edx
mov edx, 3
or ecx, 0x8080e0
jmp 0x438b84
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
jmp 0x439136
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x70]
xor edi, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ecx
jmp 0x4379e7
mov ecx, eax
mov edx, eax
mov esi, eax
shr ecx, 4
shr edx, 0x12
and esi, 0x3f
and ecx, 0x3f00
shl esi, 0x18
or ecx, edx
mov edx, eax
shl edx, 0xa
and edx, 0x3f0000
or edx, ecx
lea ecx, [esi + edx - 0x7f7f7f10]
mov esi, dword [esp + 0x74]
mov edx, 4
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edi
mov dword [esp + 0x220], esi
mov eax, esi
xor esi, esi
mov dword [esp + 0x224], esi
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], edx
mov dword [esp + 0x230], ecx
mov ecx, ebx
lea edx, [esp + 0x218]
mov dword [esp + 0x234], esi
mov dword [esp + 0x238], eax
mov word [esp + 0x23c], 1
mov dword [esp + 0x240], 1
call fcn.00406578
cmp dword [esp + 0xc8], esi
je 0x438c15
mov ecx, dword [esp + 0x234]
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0xd0]
add edi, ecx
sub esi, ecx
mov dword [esp + 0x234], eax
jmp 0x438c54
cmp byte [esp + 0x23d], 0
jne 0x43b7bf
mov byte [esp + 0x23d], 1
cmp byte [esp + 0x23c], 0
mov edi, dword [esp + 0x234]
mov esi, dword [esp + 0x238]
jne 0x438c4b
cmp esi, edi
je 0x43b7bf
sub esi, edi
add edi, dword [esp + 0x21c]
mov ecx, 4
call fcn.0041f15b
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], 1
mov ecx, 0xb
mov edi, ebx
lea esi, [esp + 0x218]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov edx, dword [esp + 0x1c]
xor esi, esi
inc esi
mov eax, dword [esp + 0xf0]
cmp eax, 1
je 0x438d03
test eax, eax
je 0x438dc7
dec eax
mov dword [esp + 0xf0], eax
cmp byte [esp + 0xed], 0
jne 0x438dc7
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x90]
lea edx, [esp + 0xc8]
call fcn.00406578
cmp dword [esp + 0x90], 0
je 0x438d4f
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
add edi, ecx
sub ebx, ecx
mov dword [esp + 0xe4], eax
jmp 0x438d86
mov dword [esp + 0xf0], 0
cmp byte [esp + 0xed], 0
jne 0x438dc7
mov byte [esp + 0xed], 1
cmp byte [esp + 0xec], 0
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe8]
jne 0x438d44
cmp ebx, edi
je 0x438dc7
sub ebx, edi
add edi, dword [esp + 0xcc]
jmp 0x438d8e
cmp byte [esp + 0xed], 0
jne 0x438dbf
mov byte [esp + 0xed], 1
cmp byte [esp + 0xec], 0
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe8]
jne 0x438d7d
cmp ebx, edi
je 0x438dbf
sub ebx, edi
add edi, dword [esp + 0xcc]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp esi, dword [esp + 0x34]
je 0x438da5
mov dword [ecx + esi*8], edi
mov dword [ecx + esi*8 + 4], ebx
inc esi
mov dword [esp + 0x38], esi
jmp 0x438c8c
lea ecx, [esp + 0x30]
mov edx, esi
push 1
call fcn.0041f1bc
mov edx, dword [esp + 0x20]
add esp, 4
mov ecx, dword [esp + 0x30]
jmp 0x438d94
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
test esi, esi
je 0x43b7bf
cmp esi, 1
je 0x43b7ca
mov eax, dword [esp + 0x34]
cmp dword [ecx + 0xc], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 8], eax
je 0x438e1a
mov ebx, dword [esp + 0x78]
mov esi, dword [ecx + 4]
mov edi, edx
mov ecx, ebx
inc esi
call fcn.0041dace
cmp edx, esi
jb 0x43b85a
mov ecx, ebx
mov edx, edi
call fcn.0041dace
mov ebx, edx
sub ebx, esi
jb 0x43b86b
add eax, esi
jmp 0x438e1c
xor eax, eax
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0xc8]
mov edx, esi
push dword [ebp + 8]
push 0
push edi
push ebx
push eax
call fcn.00442f06
add esp, 0x14
mov al, byte [esp + 0xe0]
cmp al, 0x14
jne 0x438e98
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xd0], eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x438f30
mov esi, dword [esi + 0x14]
mov ecx, dword [edi + 0xbc]
lea ebx, [esp + 0xc8]
cmp esi, ecx
jne 0x438f3d
push esi
push dword [edi + 0xb8]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, esi
jne 0x438f3d
jmp 0x438f4d
movsd xmm0, qword [esp + 0xd8]
movsd xmm1, qword [esp + 0xd0]
lea edx, [esp + 0xd4]
lea esi, [esp + 0x324]
lea ebx, [esp + 0xc8]
mov cl, byte [edx + 0xf]
movsd qword [esp + 0x220], xmm1
movsd qword [esp + 0x228], xmm0
movsd xmm0, qword [esp + 0xc8]
mov byte [esi + 0xf], cl
movzx ecx, word [edx + 0xd]
movsd xmm1, qword [esp + 0x220]
movsd qword [esp + 0x218], xmm0
mov word [esi + 0xd], cx
movq xmm0, qword [esp + 0x218]
movsd qword [esp + 0x320], xmm1
movsd xmm1, qword [esp + 0x228]
movq qword [esp + 0x318], xmm0
movsd qword [esp + 0x328], xmm1
mov byte [esp + 0x330], al
jmp 0x438f75
mov ecx, dword [edi + 0xbc]
lea ebx, [esp + 0xc8]
mov eax, dword [edi + 0xb8]
mov edx, dword [esp + 4]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [esp + 0xd0]
movq xmm0, qword [esp + 0xc8]
mov dword [esp + 0x320], eax
movq qword [esp + 0x318], xmm0
mov byte [esp + 0x330], 0x14
cmp dword [esp + 8], 0
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x14]
je 0x438f91
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x48]
test eax, eax
je 0x438fae
cmp dword [esp + 0x4c], 0
je 0x438fae
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov al, byte [esp + 0x330]
mov ecx, dword [esp + 0x31c]
mov edx, dword [esp + 0x320]
mov edi, dword [esp + 0x318]
cmp al, 0x14
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], edx
jne 0x43a66f
cmp edi, 2
jb 0x438fe4
cmp edi, 6
jne 0x439005
cmp dword [esp + 0x28], 0
je 0x4377a4
push dword [esp + 0x18]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x4377a4
cmp edi, 4
jne 0x439136
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x218]
push dword [esp + 0x10]
call fcn.004b3330
add esp, 4
mov esi, dword [esp + 0x218]
mov edi, dword [esp + 0x21c]
mov ecx, ebx
test esi, esi
mov edx, esi
cmove edx, edi
push dword [esp + 0x220]
call fcn.0044db40
add esp, 4
mov bl, byte [esp + 0xc8]
test esi, esi
je 0x439068
test edi, edi
je 0x439068
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
test bl, bl
mov edi, 4
je 0x43912f
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x218]
push dword [esp + 0x10]
call fcn.004b3330
add esp, 4
mov esi, dword [esp + 0x218]
mov edi, dword [esp + 0x21c]
lea ecx, [esp + 0xc8]
test esi, esi
mov edx, esi
cmove edx, edi
push dword [esp + 0x220]
call fcn.0044c6f0
add esp, 4
mov bl, byte [esp + 0xc8]
test esi, esi
je 0x4390d4
test edi, edi
je 0x4390d4
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov edi, dword [esp + 4]
test bl, bl
jne 0x43b6d7
lea ebx, [esp + 0xc8]
mov edi, 4
jmp 0x439136
lea ecx, [esp + 0x218]
xor edx, edx
push ebx
call fcn.0041f1bc
add esp, 4
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x220]
jmp 0x4387ad
mov edi, 3
jmp 0x43911f
mov edi, 4
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ecx
lea ebx, [esp + 0xc8]
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, eax
mov esi, ecx
not edx
not esi
and edx, 0x20
and esi, 0x80000000
or esi, edx
je 0x4391a5
mov esi, dword [esp + 0x18]
mov edx, eax
and edx, 0x40
jne 0x4391a5
mov edx, ecx
and edx, 0x8000
jne 0x4391a5
mov ecx, ebx
mov edx, esi
push dword [esp + 0x10]
call fcn.004b3330
add esp, 4
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x43919c
cmp dword [esp + 0xcc], 0
je 0x43919c
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
bt ecx, 0x1c
mov dword [esp + 0x20], edi
jb 0x4391c9
mov ecx, 2
test eax, ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x12c]
je 0x43923d
lea edx, [ecx - 1]
xor ebx, ebx
jmp 0x43920c
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x54]
mov edi, 2
mov ecx, dword [ecx + 0x12c]
lea edx, [ecx - 1]
mov dword [esp + 8], ecx
cmp ebx, edx
sete cl
test eax, edi
mov dword [esp + 0x1c], ecx
jne 0x439204
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
cmp ebx, edx
lea ebx, [esp + 0xc8]
jne 0x43923d
jmp 0x43924d
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
xor edx, dword [esp + 0x54]
mov esi, eax
mov edi, 4
and esi, edi
or esi, edx
mov esi, dword [ebp + 0xc]
sete dl
test bl, bl
lea ebx, [esp + 0xc8]
jne 0x43924d
test dl, dl
jne 0x43924d
mov edx, 4
test eax, edx
jne 0x4393b1
not eax
test al, 0x84
mov eax, dword [esp + 0x54]
cmove eax, ecx
jmp 0x439407
mov al, byte [esi + 0x10]
cmp al, 3
jne 0x439281
mov ecx, dword [esi]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
je 0x4393fe
lea edx, [eax + 0x10]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [esp + 0x24]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
mov al, byte [esi + 0x10]
cmp al, 2
je 0x439402
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 4]
xor edx, edx
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.00480164
mov esi, edx
mov dword [esp + 0xc], edi
push edi
push dword [esp + 0x18]
mov dword [esp + 0x1c], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x20], 6
mov dword [esp + 8], 6
mov dword [esp + 0x1c], esi
je 0x439309
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x124]
mov edx, dword [eax + 0x128]
push dword [esp + 0x54]
call fcn.00425618
add esp, 4
test eax, eax
je 0x439309
mov ecx, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
mov dword [esp + 8], 2
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov edi, dword [esp + 4]
mov ecx, ebx
mov edx, edi
push dword [esp + 0xc]
mov esi, dword [esp + 0x18]
push esi
call fcn.00436ab0
add esp, 8
mov ecx, dword [esp + 8]
mov eax, ebx
mov bl, byte [esp + 0xc8]
mov edx, esi
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xd0], ecx
mov ecx, edi
push eax
push dword [esp + 0x10]
call fcn.00437180
add esp, 8
test bl, bl
jne 0x4393b5
test al, al
jne 0x4393b5
mov edx, dword [esp + 0x14]
lea ebx, [esp + 0xc8]
mov ecx, ebx
push dword [esp + 0xc]
call fcn.004b3330
add esp, 4
mov eax, dword [esp + 0xc8]
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x4393ab
cmp dword [esp + 0xcc], 0
je 0x4393ab
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x54]
jmp 0x4393c5
mov eax, ecx
jmp 0x439407
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x1c]
lea ebx, [esp + 0xc8]
inc eax
test esi, esi
je 0x4393de
push dword [esp + 0x14]
push 0
push dword [0x5c9128]
mov edi, eax
call sub.kernel32.dll_HeapFree
mov eax, edi
mov ecx, dword [esp + 0xb8]
mov esi, dword [esp + 0xb4]
mov edx, dword [esp + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], edx
jmp 0x439407
mov byte [esi + 0x10], 2
mov eax, dword [esp + 0x54]
inc eax
mov edi, dword [esp + 4]
mov dword [esp + 0x54], eax
mov esi, dword [edi + 0x124]
mov edx, dword [edi + 0x128]
mov ecx, esi
mov dword [esp + 0x40], edx
push eax
call fcn.00425618
add esp, 4
test eax, eax
je 0x439498
mov dword [esp + 0x44], esi
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov edx, 4
mov dword [esp + 0x1c], eax
mov ecx, edi
and ecx, edx
test byte [eax + 0xbd], 0x40
je 0x439455
test ecx, ecx
je 0x43a9e2
mov eax, dword [esp + 4]
mov edx, esi
not edx
and edx, 0x2000
or edx, ecx
mov eax, dword [eax + 0x12c]
mov dword [esp + 0x78], eax
jne 0x439531
cmp dword [esp + 0x54], eax
mov edx, dword [esp + 0x20]
jne 0x43953b
mov ecx, 4
or edi, ecx
mov ecx, dword [esp + 4]
mov dword [ecx], esi
mov dword [ecx + 4], edi
jmp 0x43953f
mov edi, dword [edi]
test di, di
jns 0x43aa65
mov edx, dword [esp + 0x18]
mov ecx, ebx
push dword [esp + 0x10]
call fcn.004469c0
add esp, 4
cmp dword [esp + 0xc8], 0
jne 0x4394e7
mov esi, dword [esp + 0xcc]
test esi, esi
je 0x4394e7
mov edi, dword [esp + 0xd0]
xor edx, edx
mov ecx, edi
call fcn.00480164
mov dword [esp + 8], edx
mov dword [esp + 0x1c], edi
jmp 0x43982d
bt edi, 0x10
jae 0x43abb3
mov edx, dword [esp + 0x18]
mov ecx, ebx
push dword [esp + 0x10]
call fcn.004b3330
add esp, 4
mov eax, dword [esp + 0xc8]
mov edi, dword [esp + 0xd0]
test eax, eax
mov dword [esp + 0x1c], edi
je 0x439819
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
jmp 0x43983c
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
jmp 0x43953f
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x74], edi
mov dword [esp + 0x20], edx
test eax, eax
mov dword [esp + 8], eax
je 0x439583
mov edi, ecx
mov edi, dword [ecx + 0x14]
mov eax, dword [esp + 0x1c]
cmp edi, dword [eax + 0x9c]
jne 0x439591
push edi
push dword [eax + 0x98]
push dword [esp + 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
mov esi, dword [esp + 4]
test eax, eax
jne 0x439595
jmp 0x439738
mov esi, ecx
xor edi, edi
mov dword [esp + 8], str.failed_to_write_whole_buffer
jmp 0x439595
mov esi, dword [esp + 4]
mov ebx, dword [esi + 0xc4]
imul esi, dword [esi + 0xcc], 0x78
test esi, esi
je 0x4395c7
cmp dword [ebx + 0x24], edi
jne 0x4395bf
push edi
push dword [esp + 0xc]
push dword [ebx + 0x20]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4395d4
add ebx, 0x78
add esi, 0xffffff88
jmp 0x4395a2
mov dword [esp + 0xac], 0
jmp 0x4395db
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 4]
mov esi, dword [eax + 0xd0]
imul ebx, dword [eax + 0xd8], 0x110
test ebx, ebx
je 0x439620
cmp dword [esi + 0xbc], edi
jne 0x439612
push edi
push dword [esp + 0xc]
push dword [esi + 0xb8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x439622
add esi, 0x110
add ebx, 0xfffffef0
jmp 0x4395ef
xor esi, esi
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x40]
xor eax, eax
test edx, edx
setne al
cmove ebx, edx
xor ecx, ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], ebx
lea ebx, [esp + 0xc8]
mov ecx, ebx
call fcn.0041db15
mov edi, edx
xor edx, edx
test eax, eax
je 0x4396cf
test edi, edi
je 0x4396cf
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
test eax, eax
mov ecx, eax
je 0x4396a7
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x14]
cmp dword [edi + 0x9c], ecx
jne 0x439680
mov edx, str.failed_to_write_whole_buffer
test eax, eax
cmove eax, edx
push ecx
push eax
push dword [edi + 0x98]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov edx, edi
jne 0x439680
mov ecx, 0x100
xor eax, eax
test dword [esp + 0x74], ecx
mov ecx, 0x5485a4
setne al
test esi, esi
cmovne edx, esi
mov esi, 0x5484ac
cmove esi, ecx
mov ecx, dword [esp + 0xac]
test ecx, ecx
cmovne edx, ecx
mov ecx, 0x548528
cmovne esi, ecx
mov ecx, dword [ebp + 8]
push eax
push dword [esp + 0xc4]
push dword [esp + 0xcc]
push esi
call fcn.0043b890
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 4]
mov eax, dword [ecx + 0x98]
mov ecx, dword [ecx + 0x9c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
mov edi, dword [ebp + 8]
mov ecx, ebx
mov edx, esi
push edi
push dword [esp + 0x14]
push dword [esp + 0x20]
mov edi, dword [esp + 0x28]
push edi
call fcn.0043bf8c
add esp, 0x10
mov al, byte [esp + 0xe0]
cmp al, 0x14
jne 0x43aa21
mov edx, dword [edi + 0x98]
mov ecx, dword [ebp + 8]
push dword [edi + 0x9c]
call fcn.0043c152
add esp, 4
mov ecx, ebx
mov edx, esi
push dword [edi + 0x9c]
push dword [edi + 0x98]
call fcn.00434e0b
add esp, 8
mov eax, dword [esp + 0xc8]
test eax, eax
mov dword [esp + 8], eax
je 0x4397fb
mov eax, dword [esp + 0xcc]
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4397d8
mov esi, dword [esp + 8]
lea ebx, [esi + eax*8]
mov edx, dword [esi]
mov ecx, edi
push dword [esi + 4]
call fcn.0043c152
add esp, 4
add esi, 8
cmp esi, ebx
jne 0x4397c2
cmp dword [esp + 0x10], 0
mov edi, dword [esp + 0x1c]
lea ebx, [esp + 0xc8]
je 0x4397fb
push dword [esp + 8]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 4]
mov eax, 0x20
or dword [ecx + 4], eax
bt dword [edi + 0xbc], 1
sbb dword [esp + 0x54], 0xffffffff
jmp 0x43993f
mov esi, dword [esp + 0xcc]
mov ecx, edi
xor edx, edx
call fcn.00480164
mov dword [esp + 8], edx
push edi
push esi
mov dword [esp + 0x18], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x218]
call fcn.0043c28b
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx + 0x10]
mov byte [ecx + 0x10], 3
cmp al, 3
jne 0x439877
mov ecx, dword [ecx]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
je 0x4398f4
lea edx, [eax + 0x10]
mov dword [ecx + 8], edx
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [eax + 8]
mov al, byte [eax + 0xc]
jmp 0x439889
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x5c]
mov ebx, dword [edi]
mov esi, dword [ecx]
mov edi, dword [edx]
cmp al, 2
je 0x4398f4
lea ecx, [esp + 0xc8]
mov edx, esi
push edi
call fcn.004469c0
add esp, 4
cmp dword [esp + 0xc8], 0
jne 0x4398b3
cmp dword [esp + 0xcc], 0
jne 0x4398c1
mov eax, dword [esp + 4]
test byte [eax + 2], 1
je 0x43a58a
lea ecx, [esp + 0x218]
mov edx, str.failed_to_write_whole_buffer
push edi
push esi
push 0
call fcn.0043c367
add esp, 0xc
test ebx, ebx
je 0x439848
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x439848
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
lea ebx, [esp + 0xc8]
lea esi, [esp + 0x218]
mov edi, ebx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], ecx
mov ecx, 0xc
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
call fcn.0043c311
mov al, 1
mov dword [esp + 0x208], eax
cmp dword [esp + 0x28], 0
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x20]
jne 0x438fef
jmp 0x4377a4
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ecx
jmp 0x439136
lea ebx, [esp + 0xd4]
lea esi, [esp + 0x324]
mov ecx, dword [ebx + 8]
movq xmm0, qword [ebx]
movzx edi, word [ebx + 0xd]
mov ah, byte [ebx + 0xf]
mov dword [esi + 8], ecx
movq qword [esi], xmm0
mov word [esi + 0xd], di
mov byte [esi + 0xf], ah
mov dword [esp + 0x318], edx
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x320], esi
mov dword [esp + 0x31c], edx
jmp 0x439a06
lea edx, [esp + 0xd4]
movq xmm0, qword [esp + 0xd8]
movsd xmm2, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
lea esi, [esp + 0x324]
mov cl, byte [edx + 0xf]
movzx edx, word [edx + 0xd]
movq qword [esp + 0x328], xmm0
movsd qword [esp + 0x320], xmm1
movsd qword [esp + 0x318], xmm2
mov byte [esi + 0xf], cl
mov word [esi + 0xd], dx
mov esi, dword [ebp + 0xc]
mov byte [esp + 0x330], al
jmp 0x438558
mov dword [esp + 0x24], 0
test byte [esp + 0x208], 1
jne 0x43a20d
cmp dword [esp + 0x24], 0
je 0x439d96
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xe4]
test eax, eax
je 0x439ada
mov ecx, dword [esp + 4]
imul eax, eax, 0x138
mov edi, dword [ecx + 0xdc]
add eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], ecx
cmp ecx, eax
jne 0x439a89
push eax
push dword [esp + 0x28]
push dword [esp + 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x439aee
mov esi, dword [edi + 0x88]
test esi, esi
je 0x439ace
mov eax, dword [edi + 0x90]
add esi, 4
shl eax, 2
lea ebx, [eax + eax*2]
mov eax, dword [esp + 0x40]
test ebx, ebx
je 0x439ace
cmp dword [esi], eax
jne 0x439ac6
push eax
push dword [esp + 0x28]
push dword [esi - 4]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x40]
je 0x439aee
add esi, 0xc
add ebx, 0xfffffff4
jmp 0x439aa6
add edi, 0x138
cmp edi, dword [esp + 0x10]
jne 0x439a5e
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x548bf4
jmp 0x43b7b8
mov edx, dword [esp + 8]
lea edi, [esp + 0x80]
mov ecx, edi
push dword [esp + 0x18]
call fcn.0041bed0
add esp, 4
mov eax, dword [edi + 8]
mov ebx, dword [edi]
mov edi, dword [esp + 4]
xor edx, edx
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
test byte [edi], 1
mov dword [esp + 0x18], eax
jne 0x439e5c
mov esi, dword [edi + 0x108]
mov dword [esp + 0x1c], ebx
mov ebx, dword [edi + 0x100]
mov ecx, esi
call fcn.0041f15b
cmp edx, esi
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], 0
jb 0x43aacc
xor ecx, ecx
test esi, esi
je 0x439b83
add ebx, 4
mov edx, dword [ebx - 4]
mov edi, dword [ebx]
add ebx, 8
mov dword [eax + ecx*8], edx
mov dword [eax + ecx*8 + 4], edi
inc ecx
dec esi
jne 0x439b70
mov edx, dword [ebp + 8]
lea esi, [esp + 0xc8]
mov dword [esp + 0x320], ecx
lea edi, [esp + 0x218]
movsd xmm0, qword [esi]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
movsd qword [esp + 0x318], xmm0
movdqa xmm0, xmmword [eax]
lea ecx, [ecx + eax + 1]
mov dword [esi], eax
add eax, 0x10
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
mov ecx, dword [edx + 0xc]
mov edx, esi
pmovmskb eax, xmm0
not eax
mov word [esi + 0xc], ax
mov dword [esi + 0x10], ecx
mov ecx, edi
call fcn.004206a4
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 8]
test eax, eax
je 0x439c44
lea edx, [esp + 0x318]
mov esi, dword [esp + 0x10]
mov edx, dword [edx + 8]
lea ecx, [esi + eax*8]
mov dword [esp + 8], ecx
mov edi, dword [esi]
mov ebx, dword [esi + 4]
cmp edx, dword [esp + 0x31c]
jne 0x439c27
lea ecx, [esp + 0x318]
call fcn.004690ed
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x320]
mov eax, dword [esp + 0x318]
add esi, 8
mov dword [eax + edx*8], edi
mov dword [eax + edx*8 + 4], ebx
inc edx
cmp esi, ecx
mov dword [esp + 0x320], edx
jne 0x439c02
cmp dword [esp + 0x28], 0
je 0x439c5c
push dword [esp + 0x10]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 0x318]
mov eax, dword [esp + 0x320]
sub esp, 0x18
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], edx
mov dword [esp], edx
mov edx, dword [esp + 0x1c]
lea edi, [esp + 0x230]
xor esi, esi
mov dword [esp + 4], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov ecx, edi
call fcn.004319c8
add esp, 0x18
mov ecx, dword [edi + 0xc]
mov eax, 0
mov edx, 0
test ecx, ecx
je 0x439cd8
mov eax, dword [esp + 0x21c]
mov esi, dword [esp + 0x220]
xor edx, edx
cmp esi, eax
mov edi, eax
mov ebx, eax
cmovb edi, edx
mov edx, ecx
sub esi, edi
sub ebx, esi
sub edx, ebx
ja 0x439cd8
add ecx, esi
xor edx, edx
mov eax, ecx
mov edi, dword [esp + 0x218]
lea ecx, [esi + esi*2]
lea eax, [eax + eax*2]
lea edx, [edx + edx*2]
lea ecx, [edi + ecx*4]
lea eax, [edi + eax*4]
mov dword [esp + 8], edi
lea edi, [edi + edx*4]
cmp ecx, eax
je 0x439d01
mov esi, edi
mov ebx, ecx
mov edi, eax
jmp 0x439d13
mov ebx, dword [esp + 8]
mov esi, ecx
mov dword [esp + 8], ecx
cmp ebx, edi
je 0x439e23
lea eax, [esp + 0x210]
xor ecx, ecx
mov dword [esp + 0xc8], 0x5536cc
mov dword [esp + 0x210], ebx
mov edx, 0x5482b4
mov dword [esp + 0x30], eax
lea eax, [esp + 0x60]
inc ecx
mov dword [esp + 0x34], 0x4c6562
mov dword [esp + 0x48], eax
lea eax, [esp + 0x30]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], 0
lea ecx, [esp + 0x48]
push eax
call fcn.00445550
add esp, 4
test al, al
jne 0x43b7de
add ebx, 0xc
mov eax, edi
mov edi, esi
mov ecx, ebx
jmp 0x439cf5
mov esi, dword [esp + 4]
mov eax, dword [esi]
test al, 2
jne 0x43a4ff
test al, al
jns 0x43a20d
lea edx, [esp + 0x218]
xor eax, eax
lea esi, [esp + 0xc8]
mov dword [edx], 1
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov ecx, esi
push eax
push dword [esp + 8]
push 0x548cb8
call fcn.0042a2b1
add esp, 0xc
mov al, byte [esi + 0x18]
cmp al, 0x14
jne 0x43a8eb
mov edx, dword [esp + 0x218]
lea esi, [esp + 0xc8]
mov ecx, esi
push dword [esp + 0x220]
call fcn.0041b940
add esp, 4
mov edi, dword [esi]
test edi, edi
je 0x43aaea
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
jmp 0x43ab17
lea ecx, [esp + 0x218]
call fcn.00433e1e
cmp dword [esp + 0x31c], 0
je 0x439e4a
push dword [esp + 0x10]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x64]
jne 0x439e6a
lea esi, [esp + 0x60]
mov ecx, esi
call fcn.004bb282
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x60]
mov byte [eax + edx], 0x20
mov eax, dword [esp + 0x18]
inc dword [esp + 0x68]
mov esi, dword [edi + 0xdc]
imul edi, dword [edi + 0xe4], 0x138
test edi, edi
je 0x43a1d7
cmp dword [esi + 0x40], eax
jne 0x439eb0
push eax
push ebx
push dword [esi + 0x38]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x18]
je 0x439f5b
add esi, 0x138
add edi, 0xfffffec8
jmp 0x439e8a
mov edx, dword [esp + 0xcc]
test edx, edx
je 0x43b87c
mov ecx, dword [esp + 0xd0]
mov esi, dword [ebp + 0xc]
lea ebx, [esp + 0xc8]
mov dword [esp + 0x54], edx
cmp ecx, 4
mov dword [esp + 0x40], ecx
jne 0x43b64f
cmp dword [edx], 0x706c6568
jne 0x43b64f
mov eax, dword [esp + 4]
test byte [eax + 1], 4
je 0x43b64f
mov bl, byte [esi + 0x10]
mov byte [esi + 0x10], 3
cmp bl, 3
jne 0x43ab5e
mov ecx, dword [esi]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
je 0x43ab94
lea edx, [eax + 0x10]
mov dword [ecx + 8], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0xd0], ecx
movq xmm0, qword [eax]
movq qword [esp + 0xc8], xmm0
mov bl, byte [eax + 0xc]
add eax, 0xd
jmp 0x43ab80
lea esi, [esp + 0xd4]
jmp 0x43a676
lea ecx, [esp + 0x218]
call fcn.0043c28b
mov eax, dword [esp + 4]
lea edx, [esp + 0x30]
mov edi, str.failed_to_write_whole_buffer
lea ebx, [esp + 0x310]
mov dword [esp + 0x30], 1
lea ecx, [eax + 0x44]
mov eax, dword [eax + 0x44]
mov dword [esp + 8], ecx
test eax, eax
cmove ecx, edx
lea edx, [esp + 0x20c]
cmovne eax, dword [esp + 0x68]
mov dword [edx], ecx
mov ecx, dword [esp + 0x60]
cmove ecx, edi
lea edi, [esp + 0x210]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov eax, 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x40]
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], 0x4c6562
lea edx, [esp + 0x318]
mov dword [esp + 0xd0], ebx
mov dword [edx], str.failed_to_write_whole_buffer
mov dword [edi], eax
mov eax, 0x41de0f
mov dword [edi + 4], ecx
mov ecx, 3
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], eax
xor edi, edi
lea eax, [esp + 0xc8]
mov dword [edx + 4], ecx
mov dword [edx + 0x10], edi
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea ecx, [esp + 0x48]
call fcn.0041bb50
cmp dword [esp + 0x34], edi
je 0x43a045
push dword [esp + 0x30]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0xa0]
call fcn.00463a62
lea ecx, [esp + 0x48]
mov ebx, dword [esp + 8]
xor edx, edx
mov edi, str.failed_to_write_whole_buffer
mov eax, dword [ecx + 8]
mov dword [esi + 0xa4], eax
xor eax, eax
movsd xmm0, qword [ecx]
movsd qword [esi + 0x9c], xmm0
mov dword [esp + 0x30], 1
cmp dword [ebx], edx
lea edx, [esp + 0x30]
cmovne edx, ebx
setne al
mov ebx, 0
mov dword [esp + 0x20c], edx
mov edx, 0x5a2d4d
cmovne edi, edx
mov dword [esp + 0x310], edi
mov dword [esp + 0x314], eax
mov eax, 0
mov edi, 3
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x210], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x214], edx
mov edx, 0x41de0f
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x310]
mov dword [esp + 0xcc], 0x4c6562
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x210]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
lea edx, [esp + 0x318]
lea eax, [esp + 0xc8]
mov dword [edx], str.failed_to_write_whole_buffer
mov dword [edx + 4], edi
mov dword [edx + 0x10], ebx
mov dword [edx + 8], eax
mov dword [edx + 0xc], edi
call fcn.0041bb50
cmp dword [esp + 0x34], ebx
je 0x43a15c
push dword [esp + 0x30]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
call fcn.00463a62
mov eax, dword [esp + 0x50]
lea ebx, [esp + 0xc8]
mov edx, esi
mov ecx, ebx
mov dword [esi + 0x4c], eax
movq xmm0, qword [esp + 0x48]
movq qword [esi + 0x44], xmm0
push dword [ebp + 0xc]
lea eax, [esp + 0x21c]
push eax
call fcn.0043760f
add esp, 8
mov bl, byte [ebx + 0x18]
cmp bl, 0x14
jne 0x43a6af
mov edx, dword [esi + 0x38]
lea ecx, [esp + 0xf8]
push dword [esi + 0x40]
call fcn.0041bed0
add esp, 4
lea edx, [esp + 0xc8]
lea esi, [esp + 0x218]
mov ecx, 0xc
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
call fcn.0043c311
cmp dword [esp + 0x64], 0
je 0x43a1ef
push dword [esp + 0x60]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x84], 0
je 0x43a20d
push dword [esp + 0x80]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 4]
mov edx, str.failed_to_write_whole_buffer
mov esi, dword [ecx + 0x10]
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc4]
test esi, esi
mov dword [esp + 0x10], eax
cmovne edx, esi
cmove edi, esi
imul esi, dword [ecx + 0xcc], 0x78
mov dword [esp + 8], edx
test esi, esi
je 0x43a261
cmp dword [ebx + 0x24], edi
jne 0x43a259
push edi
push dword [esp + 0xc]
push dword [ebx + 0x20]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43a26b
add ebx, 0x78
add esi, 0xffffff88
jmp 0x43a23c
mov dword [esp + 0x18], 0
jmp 0x43a26f
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 4]
mov esi, dword [eax + 0xd0]
imul ebx, dword [eax + 0xd8], 0x110
test ebx, ebx
je 0x43a2b4
cmp dword [esi + 0xbc], edi
jne 0x43a2a6
push edi
push dword [esp + 0xc]
push dword [esi + 0xb8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43a2b6
add esi, 0x110
add ebx, 0xfffffef0
jmp 0x43a283
xor esi, esi
mov ecx, dword [esp + 4]
xor edx, edx
mov eax, dword [ecx + 0x124]
mov ecx, dword [ecx + 0x128]
test eax, eax
mov edi, eax
setne dl
je 0x43a2db
mov edi, dword [esp + 4]
mov edi, dword [edi + 0x12c]
lea ebx, [esp + 0xc8]
mov dword [esp + 8], edi
xor edi, edi
mov dword [ebx], edx
mov dword [ebx + 4], edi
xor edi, edi
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov ecx, dword [esp + 8]
mov dword [ebx + 0x20], ecx
mov ecx, ebx
call fcn.0041db15
test eax, eax
je 0x43a355
mov edi, edx
test edx, edx
je 0x43a355
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
test eax, eax
mov ecx, eax
je 0x43a32d
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x14]
cmp dword [edi + 0x9c], ecx
jne 0x43a308
test eax, eax
mov edx, str.failed_to_write_whole_buffer
cmove eax, edx
push ecx
push eax
push dword [edi + 0x98]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43a308
jmp 0x43a357
xor edi, edi
mov ecx, 0x100
xor eax, eax
mov edx, 0x5484ac
test dword [esp + 0x10], ecx
mov ecx, 0x5485a4
setne al
test esi, esi
cmove edx, ecx
mov ecx, dword [esp + 0x18]
cmovne edi, esi
mov esi, 0x548528
test ecx, ecx
cmovne edi, ecx
mov ecx, dword [ebp + 8]
cmove esi, edx
mov edx, edi
mov edi, ecx
push eax
push dword [esp + 0xc4]
push dword [esp + 0xcc]
push esi
call fcn.0043b890
add esp, 0x10
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x120]
test ecx, ecx
je 0x43a48e
mov edx, dword [esp + 4]
mov eax, ecx
shl eax, 4
mov ecx, dword [edx + 0x118]
mov esi, dword [edx + 0x100]
mov edx, dword [edx + 0x108]
add eax, ecx
mov dword [esp + 8], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], eax
mov eax, ecx
add ecx, 0x10
mov esi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax]
mov dword [esp + 0x28], ecx
mov ecx, edi
push dword [eax + 4]
call fcn.00442817
add esp, 4
test al, al
je 0x43a46d
mov ecx, edi
mov dword [esp + 0x18], esi
mov edx, esi
push ebx
call fcn.00442942
add esp, 4
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 8]
lea eax, [edi - 1]
mov dword [esp + 0x7c], eax
mov esi, edi
sub edi, 1
jb 0x43a473
cmp dword [ecx + esi*8 - 4], ebx
jne 0x43a424
push ebx
push dword [esp + 0x1c]
push dword [ecx + esi*8 - 8]
call sub.msvcrt.dll_memcmp
mov ecx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x43a424
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x7c]
mov edi, dword [ebp + 8]
movq xmm0, qword [ecx + eax*8 - 8]
mov eax, dword [esp + 4]
movq qword [ecx + esi*8 - 8], xmm0
mov dword [eax + 0x108], edx
jmp 0x43a47a
mov edx, dword [esp + 0x10]
jmp 0x43a47a
mov edx, dword [esp + 0x10]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x28]
mov eax, edx
mov dword [esp + 0x10], edx
cmp ecx, dword [esp + 0x1c]
jne 0x43a3e2
mov eax, dword [esp + 4]
lea edx, [esp + 0x318]
mov ecx, dword [esp + 0x2c]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xd0], eax
push edi
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0x220]
push eax
call fcn.0043c48e
add esp, 0xc
jmp 0x43a9da
cmp dword [esi + 0x44], 0
lea eax, [esi + 0x38]
lea ecx, [esi + 0x44]
cmove ecx, eax
mov dword [esp + 0xc], ecx
sub esp, 4
lea ecx, [esp + 0x34]
mov edx, esi
push 0
push dword [ebp + 8]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [esi]
mov edi, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
lea eax, [esp + 0x30]
movzx ecx, cl
mov dword [esp + 0x60], eax
cmovb ecx, edi
call fcn.0042bf6c
test al, al
je 0x43a55c
movzx eax, al
cmp eax, 1
jne 0x43a800
mov dword [esp + 0x94], str.error:one_or_more_of_the_other_specified_arguments
mov dword [esp + 0x98], 6
mov dword [esp + 0x90], 0
mov dword [esp + 0x48], 1
jmp 0x43a826
sub esp, 4
mov edi, dword [esp + 8]
lea ecx, [esp + 0xcc]
mov edx, edi
push 0
push dword [ebp + 8]
call fcn.0043bc5d
add esp, 0xc
lea eax, [esp + 0xc8]
mov edx, dword [eax]
mov eax, dword [edi]
mov edi, 2
mov ecx, eax
mov dword [esp + 4], edx
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, dword [esp + 0x2c]
cmovae edi, eax
push edi
lea edi, [esp + 0xcc]
push dword [edi + 8]
call fcn.0043c1c7
add esp, 8
cmp dword [edi + 4], 0
je 0x43a5fb
push dword [esp + 4]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov edi, dword [esp + 0x28]
test ebx, ebx
je 0x43a611
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea ecx, [esp + 0x218]
call fcn.00423884
lea esi, [esp + 0x238]
mov ecx, esi
call fcn.00423839
mov eax, dword [esi + 4]
test eax, eax
je 0x43a64a
cmp dword [esp + 0x240], 0
je 0x43a64a
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 8], 0
mov esi, dword [esp + 0x18]
je 0x43a9c8
push dword [esp + 0x10]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x43a9c8
lea esi, [esp + 0x324]
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x2c]
movq xmm0, qword [esi]
movzx ebx, word [esi + 0xd]
mov ah, byte [esi + 0xf]
mov esi, dword [esp + 0xc]
mov dword [edx + 0x14], ecx
movq qword [edx + 0xc], xmm0
mov word [edx + 0x19], bx
mov byte [edx + 0x1b], ah
mov dword [edx], edi
mov edi, dword [esp + 0x14]
mov dword [edx + 4], edi
mov dword [edx + 8], esi
mov byte [edx + 0x18], al
jmp 0x43a9c0
movzx eax, word [esp + 0xe1]
movsd xmm0, qword [esp + 0xd8]
movsd xmm2, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
lea ecx, [esp + 0x218]
mov word [esp + 0xb0], ax
mov al, byte [esp + 0xe3]
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0x98], xmm1
movsd qword [esp + 0x90], xmm2
mov byte [esp + 0xb2], al
call fcn.00423884
lea esi, [esp + 0x238]
mov ecx, esi
call fcn.00423839
mov eax, dword [esi + 4]
test eax, eax
je 0x43a73c
cmp dword [esp + 0x240], 0
je 0x43a73c
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x64], 0
mov esi, dword [esp + 0x5c]
je 0x43a758
push dword [esp + 0x60]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x84], 0
movq xmm0, qword [esp + 0xa0]
mov ecx, dword [esp + 0x2c]
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
movzx eax, word [esp + 0xb0]
mov dl, byte [esp + 0xb2]
movq qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
mov word [ecx + 0x19], ax
mov byte [ecx + 0x1b], dl
mov byte [ecx + 0x18], bl
je 0x43a7bc
push dword [esp + 0x80]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x24], 0
je 0x43a9da
test esi, esi
je 0x43a9da
push dword [esp + 0x24]
jmp 0x43a9cd
lea ecx, [esp + 0xd4]
mov edi, dword [esp + 0x20]
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
movzx esi, word [ecx + 0xd]
mov cl, byte [ecx + 0xf]
mov dword [esp + 0x38], eax
movq qword [esp + 0x30], xmm0
jmp 0x43a972
mov edi, 3
mov dword [esp + 0x94], str.error:one_or_more_of_the_other_specified_arguments
mov dword [esp + 0x98], 6
mov dword [esp + 0x90], edi
mov dword [esp + 0x48], edi
lea ecx, [esp + 0x90]
mov dword [esp + 0x31c], str.__help_requires_a_value_but_none_was_supplied_n_n
mov dword [esp + 0x320], 6
mov dword [esp + 0x318], edi
mov edx, 0x431901
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
xor esi, esi
mov dword [esp + 0xc8], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0xd4], 0x420000
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x318]
mov dword [esp + 0xdc], 0x4c6562
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], edx
lea edx, [esp + 0x218]
mov ecx, 4
mov dword [esp + 0x4c], eax
mov dword [edx], str.failed_to_write_whole_buffer
mov dword [edx + 4], ecx
mov dword [edx + 0x10], esi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ecx
mov ecx, edi
call fcn.0041bb50
cmp dword [esp + 0x34], esi
mov byte [edi + 0x18], 0xb
mov dword [edi + 0xc], esi
je 0x43a9da
push dword [esp + 0x30]
jmp 0x43a9cd
movq xmm0, qword [esp + 0xd8]
mov edx, dword [esp + 0x2c]
movsd xmm2, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
movzx ecx, word [esp + 0xe1]
mov ah, byte [esp + 0xe3]
movq qword [edx + 0x10], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
mov word [edx + 0x19], cx
mov byte [edx + 0x1b], ah
mov byte [edx + 0x18], al
jmp 0x43ab44
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0xd4]
mov dword [esp + 0x70], eax
movq xmm0, qword [ecx]
mov ebx, dword [ecx + 8]
movzx esi, word [ecx + 0xd]
mov cl, byte [ecx + 0xf]
movq qword [esp + 0x30], xmm0
mov dword [esp + 0x38], ebx
mov word [esp + 0x80], si
mov byte [esp + 0x82], cl
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
movq xmm0, qword [esp + 0x30]
movzx ebx, word [esp + 0x80]
mov dh, byte [esp + 0x82]
mov esi, dword [esp + 0x58]
mov dword [ecx + 0x14], eax
movq qword [ecx + 0xc], xmm0
mov word [ecx + 0x19], bx
mov byte [ecx + 0x1b], dh
mov dword [ecx], edi
mov edi, dword [esp + 0x70]
mov dword [ecx + 4], edi
mov dword [ecx + 8], esi
mov byte [ecx + 0x18], dl
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
test edi, edi
je 0x43a9da
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x18]
lea esi, [esp + 0x218]
mov ecx, esi
push dword [esp + 0x10]
call fcn.004b3330
add esp, 4
mov ebx, dword [esi]
mov eax, dword [esi + 8]
mov dword [esp + 0xc], eax
test ebx, ebx
mov eax, ebx
jne 0x43aa11
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x14], eax
sub esp, 4
mov edi, dword [esp + 8]
jmp 0x43b70d
lea esi, [esp + 0xd4]
movq xmm0, qword [esp + 0xd8]
mov edx, dword [esp + 0x2c]
movsd xmm2, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
movzx ecx, word [esi + 0xd]
movq qword [edx + 0x10], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
mov word [edx + 0x19], cx
mov cl, byte [esi + 0xf]
jmp 0x43b6cf
mov eax, dword [esp + 4]
test edi, 0x8040000
mov esi, dword [eax + 4]
je 0x43b195
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, ebx
push 1
push str._stdio:_nRead_input_from_console__print_to_console._Uses_threaded_implementation_even_on_UNIX_unless_requested_by____async_stdio__CLI_option._n_nTypically_this_specifier_can_be_specified_only_one_time._n_____nExample:_simulate__cat_1__._This_is_an_exception_from__only_one_time__rule_above:_n_n____websocat_____n_nExample:_SSH_transport_n_n____ssh__c_ProxyCommandwebsocat___ws:__myserver_mywebsocket_user_myserver_n
call fcn.00437410
add esp, 8
test al, al
mov ecx, 0x40
jne 0x43b1a6
mov eax, esi
and eax, ecx
jne 0x43b1a6
mov edx, dword [esp + 0x18]
lea esi, [esp + 0x218]
mov ecx, esi
push ebx
call fcn.004b3330
add esp, 4
mov ebx, dword [esi]
mov eax, dword [esi + 8]
mov edi, dword [esp + 4]
jmp 0x43b6f5
lea edi, [esp + 0xc8]
xor edx, edx
mov ecx, edi
push esi
call fcn.0041f1bc
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
jmp 0x439b69
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0xcc]
xor edx, edx
mov ecx, esi
mov dword [esp + 4], eax
call fcn.00480164
mov edi, eax
mov ebx, edx
push esi
push dword [esp + 8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x2c]
movzx eax, word [esp + 0xc8]
mov dl, byte [esp + 0xca]
mov dword [ecx], edi
mov dword [ecx + 4], ebx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], 0
mov byte [ecx + 0x18], 0xc
mov word [ecx + 0x19], ax
mov byte [ecx + 0x1b], dl
cmp dword [esp + 0x21c], 0
je 0x43a9da
push dword [esp + 0x218]
jmp 0x43a9cd
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x8c]
movq qword [esp + 0xc8], xmm0
mov cl, byte [eax + 2]
cmp bl, 2
mov byte [esp + 0x32], cl
movzx eax, word [eax]
mov word [esp + 0x30], ax
jne 0x43ac0f
xor ebx, ebx
mov dword [esp + 0x60], 4
mov dword [esp + 8], 4
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
jmp 0x43ae05
sub esp, 4
mov ebx, dword [esp + 8]
lea esi, [esp + 0xcc]
mov ecx, esi
mov edx, ebx
push 0
push dword [ebp + 8]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [ebx]
mov edi, dword [esi]
mov ebx, 2
mov ecx, eax
mov edx, edi
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, dword [esp + 0x2c]
cmovae ebx, eax
push ebx
push dword [esi + 8]
call fcn.0043c1c7
add esp, 8
cmp dword [esi + 4], 0
je 0x43a9c0
push edi
jmp 0x43b359
lea edi, [esp + 0xc8]
movzx edx, word [esp + 0x30]
mov cl, byte [esp + 0x32]
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov word [esp + 0x80], dx
mov byte [esp + 0x82], cl
mov ecx, edi
mov edx, esi
mov dword [esp + 0x220], eax
movsd qword [esp + 0x218], xmm0
call fcn.004205b7
mov eax, dword [edi]
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
mov ecx, 4
cmp eax, 5
cmovae ecx, eax
call fcn.004275eb
movq xmm0, qword [esp + 0x218]
lea edi, [esp + 0x318]
mov dword [esp + 0x44], eax
movq qword [eax], xmm0
mov ecx, dword [esp + 0x220]
mov dword [eax + 8], ecx
mov byte [eax + 0xc], bl
movzx ecx, word [esp + 0x80]
mov word [eax + 0xd], cx
mov cl, byte [esp + 0x82]
mov byte [eax + 0xf], cl
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 1
xor edi, edi
inc edi
mov dword [esp + 8], edi
mov edi, 0x1d
mov bl, byte [esi + 0x10]
mov byte [esi + 0x10], 3
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x5c]
cmp bl, 3
jne 0x43acfe
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
cmp ecx, dword [edx + 0xc]
je 0x43ade3
lea esi, [ecx + 0x10]
lea eax, [ecx + 4]
mov dword [edx + 8], esi
lea esi, [ecx + 8]
lea edx, [ecx + 0xd]
mov bl, byte [ecx + 0xc]
mov esi, dword [esi]
mov eax, dword [eax]
cmp bl, 2
mov dword [esp + 0x10], esi
mov esi, dword [ecx]
mov cl, byte [edx + 2]
mov byte [esp + 0xca], cl
movzx ecx, word [edx]
mov word [esp + 0xc8], cx
je 0x43ade3
movzx edx, word [esp + 0xc8]
mov cl, byte [esp + 0xca]
mov dword [esp + 0x1c], eax
mov word [esp + 0x48], dx
mov word [esp + 0x30], dx
mov edx, dword [esp + 8]
mov byte [esp + 0x4a], cl
mov byte [esp + 0x32], cl
cmp edx, dword [esp + 0x31c]
je 0x43ad9c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
inc edx
mov dword [esp + 8], edx
mov dword [eax + edi - 0xd], esi
mov dword [eax + edi - 9], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [eax + edi - 5], ecx
mov byte [eax + edi - 1], bl
movzx ecx, word [esp + 0x30]
mov word [eax + edi], cx
mov cl, byte [esp + 0x32]
mov byte [eax + edi + 2], cl
mov dword [esp + 0x320], edx
add edi, 0x10
jmp 0x43acbc
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0xc8]
call fcn.004205b7
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 8]
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0x318]
push eax
call fcn.004205ea
mov edx, dword [esp + 0xc]
add esp, 4
mov eax, dword [esp + 0x318]
mov dword [esp + 0x44], eax
jmp 0x43ad58
movq xmm0, qword [esp + 0x318]
mov ebx, dword [esp + 0x320]
movq qword [esp + 0x60], xmm0
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov esi, dword [esp + 4]
cmp dword [esi + 0x44], 0
lea eax, [esi + 0x44]
lea ecx, [esi + 0x38]
mov dword [esp + 0x78], eax
mov dword [esp + 0xbc], ecx
cmove eax, ecx
lea ecx, [esp + 0x48]
mov edx, dword [eax]
push dword [eax + 8]
call fcn.0041bed0
add esp, 4
test ebx, ebx
je 0x43b13a
mov ecx, dword [esp + 8]
mov eax, ebx
dec ebx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], 0
shl eax, 4
mov dword [esp + 0x58], ebx
add eax, ecx
mov dword [esp + 0x74], eax
mov eax, ecx
mov edx, dword [eax]
lea ecx, [esp + 0x218]
mov dword [esp + 8], eax
push dword [eax + 8]
call fcn.004b3330
add esp, 4
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
test eax, eax
mov edx, eax
cmove edx, ecx
cmp dword [esp + 0x220], 4
jne 0x43aea6
cmp dword [edx], 0x706c6568
sete bl
jmp 0x43aea8
xor ebx, ebx
test eax, eax
je 0x43aebe
test ecx, ecx
je 0x43aebe
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x5c]
test bl, bl
lea eax, [edx + 0x10]
movzx ecx, cl
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x24]
lea eax, [eax + 1]
mov dword [esp + 0x44], eax
mov eax, 1
cmovne ecx, eax
mov eax, edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xdc]
mov ecx, dword [ecx + 0xe4]
imul edi, ecx, 0x138
mov dword [esp + 0x70], ecx
mov dword [esp + 0x1c], edx
lea ecx, [edx + edi]
mov dword [esp + 0x7c], ecx
mov ecx, edx
test edi, edi
je 0x43af52
mov ebx, dword [ecx + 0x40]
cmp dword [eax + 8], ebx
jne 0x43af44
mov esi, dword [ecx + 0x38]
push ebx
push esi
push dword [eax]
mov dword [esp + 0x1c], ecx
call sub.msvcrt.dll_memcmp
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 8]
je 0x43b05e
add ecx, 0x138
add edi, 0xfffffec8
jmp 0x43af15
cmp dword [esp + 0x70], 0
lea ebx, [esp + 0xc8]
je 0x43b151
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + 0x88]
test esi, esi
je 0x43b023
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x90]
shl eax, 2
lea edi, [eax + eax*2]
mov eax, dword [esp + 8]
test edi, edi
je 0x43b023
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
mov edx, dword [eax]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x218]
push dword [eax + 8]
call fcn.004b3330
mov edx, ebx
add esp, 4
mov ebx, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
test ebx, ebx
mov eax, ebx
cmove eax, ecx
cmp edx, dword [esp + 0x220]
jne 0x43afec
push edx
push eax
push dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
call sub.msvcrt.dll_memcmp
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
sete al
jmp 0x43afee
xor eax, eax
test ebx, ebx
je 0x43b008
test ecx, ecx
je 0x43b008
push ebx
push 0
push dword [0x5c9128]
mov ebx, eax
call sub.kernel32.dll_HeapFree
mov eax, ebx
add esi, 0xc
add edi, 0xfffffff4
test al, al
mov eax, dword [esp + 8]
lea ebx, [esp + 0xc8]
je 0x43af8a
jmp 0x43b040
mov ecx, dword [esp + 0x1c]
add ecx, 0x138
cmp ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], ecx
jne 0x43af64
jmp 0x43b151
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x58]
je 0x43b37e
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x38]
mov ebx, dword [eax + 0x40]
mov dword [esp + 0x10], eax
jmp 0x43b06c
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x58]
je 0x43b386
lea eax, [esp + 0x48]
lea ecx, [esp + 0x80]
lea edx, [esp + 0x318]
mov dword [esp + str.failed_to_write_whole_buffer], 0x5a2d50
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], 0x405954
mov dword [esp + 0x320], ecx
mov ecx, 2
mov dword [esp + 0x324], 0x41de0f
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x228], 0
mov dword [esp + 0x220], edx
mov dword [esp + 0x224], ecx
lea ecx, [esp + 0x30]
lea edx, [esp + 0x218]
call fcn.0041bb50
cmp dword [esp + 0x4c], 0
je 0x43b108
push dword [esp + 0x48]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x38]
movq xmm0, qword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x8c]
movq qword [esp + 0x48], xmm0
mov dword [esp + 0x24], ecx
cmp eax, dword [esp + 0x74]
jne 0x43ae64
jmp 0x43b386
lea ecx, [esp + 0xc8]
mov edx, esi
call fcn.0042855f
mov ebx, dword [esp + 0x78]
jmp 0x43b3a1
mov edx, dword [eax]
lea esi, [esp + 0x218]
mov ecx, esi
push dword [eax + 8]
call fcn.004b3330
add esp, 4
cmp dword [esi], 0
je 0x43b228
mov eax, dword [esp + 0x220]
movq xmm0, qword [esp + 0x218]
mov dword [esp + 0x320], eax
movq qword [esp + 0x318], xmm0
jmp 0x43b270
mov ebx, dword [esp + 0x10]
mov ecx, 0x40
test esi, ecx
je 0x43aaa8
cmp byte [esp + 0xbc], 0
mov edi, dword [esp + 4]
je 0x43b1c9
test esi, ecx
je 0x43b36b
cmp dword [edi + 0xe4], 0
je 0x43b36b
mov esi, ebx
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x318]
mov edx, ebx
push esi
call fcn.004b3330
add esp, 4
lea ecx, [esp + 0xc8]
mov edx, ebx
push esi
call fcn.004b3330
add esp, 4
lea eax, [esp + 0xc8]
cmp dword [eax], 0
je 0x43b2ba
mov eax, dword [esp + 0xd0]
movq xmm0, qword [esp + 0xc8]
mov dword [esp + 0x220], eax
movq qword [esp + 0x218], xmm0
jmp 0x43b300
mov esi, dword [esp + 0x220]
mov ebx, dword [esp + 0x21c]
xor edx, edx
mov ecx, esi
call fcn.00480164
mov edi, eax
mov dword [esp + 8], edx
push esi
push ebx
lea ebx, [esp + 0xd0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [esp + 0x318], edi
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], esi
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x78]
mov esi, 2
lea edx, [esp + 0x318]
cmp dword [eax + 0x44], 0
mov eax, dword [eax]
mov ecx, eax
cmove edi, dword [esp + 0xbc]
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
lea ecx, [esp + 0x90]
cmovae esi, eax
push esi
push edi
call fcn.00436d67
add esp, 8
jmp 0x43b61f
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0xcc]
xor edx, edx
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.00480164
mov edi, eax
mov ebx, edx
push esi
push dword [esp + 0x10]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x218], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x21c], ebx
mov dword [esp + 0x220], esi
cmp dword [edi + 0x44], 0
lea eax, [edi + 0x44]
lea ecx, [edi + 0x38]
mov esi, 2
cmove eax, ecx
mov ecx, dword [edi]
mov edx, ecx
shr edx, 0x17
and dl, 1
bt ecx, 0x19
movzx ecx, dl
lea edx, [esp + 0x218]
cmovae esi, ecx
mov ecx, dword [esp + 0x2c]
push esi
push eax
call fcn.00436d67
add esp, 8
mov eax, dword [esp + 0x318]
test eax, eax
je 0x43a9c0
cmp dword [esp + 0x31c], 0
je 0x43a9c0
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x43a9c0
mov edx, dword [esp + 0x18]
lea esi, [esp + 0x218]
mov ecx, esi
push ebx
jmp 0x43b6e8
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xc8]
call fcn.0042855f
test byte [esp + 0x5c], 1
mov ebx, dword [esp + 0x78]
jne 0x43b3b2
lea ecx, [esp + 0xc8]
call fcn.00435de2
jmp 0x43b525
lea esi, [esp + 0x218]
mov eax, 0x98
lea ecx, [esp + 0x218]
xor ebx, ebx
mov dword [esi + 0x98], str.failed_to_write_whole_buffer
mov dword [esi + 0x9c], ebx
mov dword [esi + 0xa0], ebx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xbc], 0x404
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xe4], ebx
lea edi, [ecx + eax]
mov dword [esi + 4], ebx
mov dword [esi], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x40], ebx
mov byte [esi + 0x64], 3
mov dword [esi + 0x68], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x80], ebx
mov dword [esi + 0x88], 0x110000
mov dword [esi + 0x8c], ebx
mov dword [esi + 0xf4], ebx
mov dword [esi + 0xf0], ebx
push eax
push ecx
lea eax, [esp + 0x320]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, edi
call fcn.0041ea8f
mov dword [esp + 0x3b0], 0x548b7b
mov dword [esp + 0x3b4], 0xa
mov dword [esp + 0x3b8], 0x548b85
mov dword [esp + 0x3bc], 0x2c
mov dword [esp + 0x3c0], ebx
mov dword [esp + 0x3c8], ebx
mov dword [esp + 0x3d4], 0x406
mov dword [esp + 0x3d8], ebx
mov dword [esp + 0x3e4], ebx
mov dword [esp + 0x3f0], ebx
mov dword [esp + 0x3fc], ebx
mov dword [esp + 0x40c], ebx
mov ebx, dword [esp + 0x78]
xor eax, eax
lea edi, [esp + 0x318]
lea edx, [esp + 0x1ec]
mov ecx, esi
inc eax
mov dword [esp + 0x408], eax
push edi
push eax
call fcn.00425a66
add esp, 8
mov ecx, esi
call fcn.00435d65
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
lea edx, [esp + 0x1ec]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + 0xc]
or dword [edx - 0x124], eax
or dword [edx - 0x120], ecx
mov eax, dword [esp + 0x10c]
mov ecx, dword [ebx]
lea ebx, [esp + 0xc8]
test eax, eax
je 0x43b561
test ecx, ecx
je 0x43b561
mov edx, dword [esp + 0x114]
mov esi, dword [esp + 4]
cmp edx, dword [esi + 0x4c]
jne 0x43b569
push edx
push ecx
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43b569
jmp 0x43b5fe
or eax, ecx
je 0x43b5fe
lea eax, [esp + 0x48]
lea edi, [esp + 0x100]
lea edx, [esp + 0x218]
lea ecx, [esp + 0x318]
lea esi, [esp + 0x10c]
mov dword [esp + 0x318], eax
mov eax, 0x405954
mov dword [edx], str.failed_to_write_whole_buffer
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], edi
mov dword [esp + 0x324], eax
mov eax, 2
mov dword [edx + 4], eax
mov dword [edx + 0x10], 0
mov dword [edx + 8], ecx
lea ecx, [esp + 0x30]
mov dword [edx + 0xc], eax
call fcn.0041bb50
mov eax, dword [edi + 0xc]
test eax, eax
je 0x43b5ed
cmp dword [esp + 0x110], 0
je 0x43b5ed
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x38]
movq xmm0, qword [esp + 0x30]
mov dword [esi + 8], eax
movq qword [esi], xmm0
lea esi, [esp + 0xc8]
lea ecx, [esp + 0x90]
mov edx, esi
push 0
call fcn.00436ecc
add esp, 4
mov ecx, esi
call fcn.004221cf
cmp dword [esp + 0x4c], 0
je 0x43b637
push dword [esp + 0x48]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea ecx, [esp + 0x60]
call fcn.00423957
mov al, byte [esp + 0xa8]
cmp al, 0x14
jne 0x43b68f
mov ecx, dword [esp + 0x40]
xor edx, edx
mov esi, ecx
call fcn.00480164
mov dword [esp + 0x5c], edx
push esi
push dword [esp + 0x58]
mov dword [esp + 0x2c], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x28], 0
je 0x439a1d
push dword [esp + 0x18]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x439a1d
movq xmm0, qword [esp + 0xa0]
mov edx, dword [esp + 0x2c]
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
movzx ecx, word [esp + 0xa9]
movq qword [edx + 0x10], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
mov word [edx + 0x19], cx
mov cl, byte [esp + 0xab]
mov byte [edx + 0x1b], cl
jmp 0x43a6a7
mov edx, dword [esp + 0x18]
lea esi, [esp + 0x218]
mov ecx, esi
push dword [esp + 0x10]
call fcn.004b3330
add esp, 4
mov ebx, dword [esi]
mov eax, dword [esi + 8]
mov dword [esp + 0xc], eax
test ebx, ebx
mov eax, ebx
jne 0x43b706
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x14], eax
sub esp, 4
lea ecx, [esp + 0xcc]
mov edx, edi
push 0
push dword [ebp + 8]
call fcn.0043bc5d
add esp, 0xc
lea eax, [esp + 0xc8]
mov edx, dword [esp + 0x14]
mov esi, dword [eax]
mov eax, dword [edi]
mov edi, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, dword [esp + 0x2c]
cmovae edi, eax
push edi
lea edi, [esp + 0xcc]
push dword [edi + 8]
push esi
push dword [esp + 0x18]
call fcn.0043bdd4
add esp, 0x10
cmp dword [edi + 4], 0
je 0x43b780
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ebx, dword [esp + 0x218]
mov edi, dword [esp + 0x28]
test ebx, ebx
je 0x43b7a0
cmp dword [esp + 0x21c], 0
je 0x43b7a0
push ebx
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov esi, dword [esp + 0x18]
jmp 0x43a9c8
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x548bd4
call fcn.00448d20
jmp 0x43b7d9
xor ecx, ecx
xor edx, edx
push 0x548d24
jmp 0x43b7d4
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x548d34
call fcn.00444440
add esp, 4
ud2
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x548c04
push 0x54831c
lea eax, [esp + 0xd0]
push eax
call fcn.00447310
add esp, 0xc
ud2
mov ecx, str.unexpected_invalid_UTF_8_code_point
mov edx, 0x23
push 0x548d14
jmp 0x43b7b8
mov ecx, str.called__Option::unwrap____on_a__None__value_home_vi_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_1.7.2_src_lib.rsURL_has_no_host
mov edx, 0x2b
push 0x5483c4
call fcn.00445340
jmp 0x43b7d9
mov ecx, esi
push 0x5498a8
jmp 0x43b861
mov ecx, ebx
push 0x5498b8
jmp 0x43b861
mov ecx, esi
push 0x5498c8
jmp 0x43b872
mov ecx, str.unexpected_invalid_UTF_8_code_point
mov edx, 0x23
push 0x548d04
jmp 0x43b7b8
mov ecx, esi
push 0x5498f8
call fcn.00445020
jmp 0x43b7d9
mov ecx, esi
push 0x549908
call fcn.00444cf0
jmp 0x43b7d9
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x548be4
jmp 0x43b7b8