Function at 0x43c48e
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x250
mov eax, dword [edx]
mov dword [esp + 0x98], ecx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0xd8]
test eax, eax
je 0x43c57f
mov ecx, dword [esp + 0xc]
imul esi, eax, 0x110
mov edi, dword [ecx + 0xd0]
mov bl, byte [edi + 0x64]
cmp bl, 3
je 0x43c56d
mov edx, dword [edi + 0xb8]
mov ecx, dword [ebp + 0x10]
push dword [edi + 0xbc]
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43c4fa
cmp dword [eax + 0x1c], 0
cmp bl, 2
je 0x43c56d
mov ebx, dword [esp + 0xc]
lea ecx, [esp + 0x128]
mov edx, ebx
push dword [ebp + 0x10]
push dword [edi + 0x60]
push dword [edi + 0x58]
push edi
call fcn.0043ba97
add esp, 0x10
mov al, byte [esp + 0x140]
cmp al, 0x14
jne 0x43cdc7
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x43c557
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x14]
cmp ecx, dword [edi + 0xbc]
jne 0x43c557
push ecx
push dword [edi + 0xb8]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43c56d
mov eax, dword [edi + 0xb8]
mov ecx, dword [edi + 0xbc]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
add edi, 0x110
add esi, 0xfffffef0
jne 0x43c4cf
mov esi, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0x128]
test eax, eax
mov edi, eax
setne dl
je 0x43c5a0
mov edi, dword [esi + 0x12c]
lea esi, [esp + 0x128]
xor ebx, ebx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edi
mov ecx, esi
call fcn.0041db15
test eax, eax
je 0x43c679
mov edi, edx
test edx, edx
je 0x43c679
mov bl, byte [edi + 0x64]
cmp bl, 3
je 0x43c5c3
mov edx, dword [edi + 0x98]
mov ecx, dword [ebp + 0x10]
push dword [edi + 0x9c]
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43c603
cmp dword [eax + 0x1c], 0
cmp bl, 2
je 0x43c5c3
mov ebx, dword [esp + 0xc]
lea ecx, [esp + 0x4c]
mov edx, ebx
push dword [ebp + 0x10]
push dword [edi + 0x60]
push dword [edi + 0x58]
push edi
call fcn.0043bf8c
add esp, 0x10
mov al, byte [esp + 0x64]
cmp al, 0x14
jne 0x43cdaf
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x43c65e
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x14]
cmp ecx, dword [edi + 0x9c]
jne 0x43c65e
push ecx
push dword [edi + 0x98]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43c5c3
mov eax, dword [edi + 0x98]
mov ecx, dword [edi + 0x9c]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
jmp 0x43c5c3
mov eax, dword [esp + 0xc]
mov ebx, dword [ebp + 0x10]
mov eax, dword [eax + 0xd8]
test eax, eax
je 0x43c8d1
mov ecx, dword [esp + 0xc]
imul eax, eax, 0x110
mov esi, dword [ecx + 0xd0]
add eax, esi
mov dword [esp + 0xa0], eax
cmp dword [esi + 0x40], 0
je 0x43c6c7
mov edx, dword [esi + 0xb8]
mov ecx, ebx
push dword [esi + 0xbc]
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43c72f
mov edi, dword [esi + 0x78]
mov ebx, esi
test edi, edi
je 0x43c8ae
mov esi, dword [ebx + 0xb8]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebx + 0xbc]
mov ecx, dword [ebp + 0x10]
mov edx, esi
push ebx
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43c700
cmp dword [eax + 0x1c], 0
je 0x43c83b
mov ecx, dword [ebp + 0x10]
mov edx, esi
push ebx
call fcn.0043feb9
add esp, 4
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x43c8ae
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0x128]
mov edx, esi
push dword [ebp + 0x10]
jmp 0x43c850
mov eax, dword [esi + 0x44]
xor ecx, ecx
test eax, eax
mov edx, eax
setne bl
je 0x43c740
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x10], esi
mov esi, dword [esi + 0x48]
mov cl, bl
xor edi, edi
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edi
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], edx
lea ecx, [esp + 0x128]
call fcn.0041fca0
test eax, eax
je 0x43c8c8
mov esi, edx
test edx, edx
je 0x43c8c8
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov edx, dword [esi]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
push dword [esi + 4]
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43c78a
cmp dword [esp + 8], 0
je 0x43c80b
mov esi, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
add esi, 8
shl ebx, 4
test ebx, ebx
je 0x43c78a
cmp edi, dword [esi]
jne 0x43c803
push edi
push dword [esi - 8]
push dword [esp + 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43c80b
add esi, 0x10
add ebx, 0xfffffff0
jmp 0x43c7e7
mov esi, dword [esp + 0xc]
mov ebx, dword [ebp + 0x10]
lea ecx, [esp + 0x4c]
mov edx, esi
push ebx
push dword [esp + 0x18]
push dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
push ebx
call fcn.0043ba97
add esp, 0x10
mov al, byte [esp + 0x64]
cmp al, 0x14
je 0x43c86c
jmp 0x43cebb
mov esi, dword [esp + 0xc]
mov ebx, dword [ebp + 0x10]
lea ecx, [esp + 0x128]
mov edx, esi
push ebx
mov ebx, dword [esp + 0x14]
push dword [ebx + 0x7c]
push edi
push ebx
call fcn.0043ba97
add esp, 0x10
mov al, byte [esp + 0x140]
cmp al, 0x14
jne 0x43cd88
mov eax, dword [esi + 0x10]
test eax, eax
je 0x43c898
mov esi, dword [esi + 0x14]
mov ecx, dword [ebx + 0xbc]
cmp esi, ecx
jne 0x43c89e
push esi
push dword [ebx + 0xb8]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, esi
jne 0x43c89e
jmp 0x43c8ae
mov ecx, dword [ebx + 0xbc]
mov eax, dword [ebx + 0xb8]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
add ebx, 0x110
cmp ebx, dword [esp + 0xa0]
mov esi, ebx
mov ebx, dword [ebp + 0x10]
jne 0x43c6a7
jmp 0x43c8d1
mov esi, dword [esp + 0x10]
jmp 0x43c6c7
mov ecx, dword [esp + 0xc]
xor edx, edx
mov eax, dword [ecx + 0x124]
mov ecx, dword [ecx + 0x128]
test eax, eax
mov esi, eax
setne dl
je 0x43c8f6
mov esi, dword [esp + 0xc]
mov esi, dword [esi + 0x12c]
lea edi, [esp + 0x4c]
xor ebx, ebx
mov dword [edi], edx
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], esi
lea ecx, [esp + 0x4c]
call fcn.0041db15
test eax, eax
je 0x43cbaf
mov esi, edx
test edx, edx
je 0x43cbaf
cmp dword [esi + 0x40], 0
mov ecx, dword [ebp + 0x10]
je 0x43c956
mov edx, dword [esi + 0x98]
push dword [esi + 0x9c]
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43ca0c
mov edi, dword [esi + 0x78]
test edi, edi
je 0x43c916
mov eax, esi
mov esi, dword [esi + 0x98]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [eax + 0x9c]
mov dword [esp + 0x10], eax
mov edx, esi
push ebx
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43c98b
cmp dword [eax + 0x1c], 0
je 0x43cb1b
mov ecx, dword [ebp + 0x10]
mov edx, esi
push ebx
call fcn.0043feb9
add esp, 4
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x43c916
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0x128]
mov edx, esi
push dword [ebp + 0x10]
push dword [ebx + 0x7c]
push edi
push ebx
call fcn.0043bf8c
add esp, 0x10
mov al, byte [esp + 0x140]
cmp al, 0x14
jne 0x43cd88
mov eax, dword [esi + 0x10]
test eax, eax
je 0x43cb8b
mov esi, dword [esi + 0x14]
mov ecx, dword [ebx + 0x9c]
cmp esi, ecx
jne 0x43cb91
push esi
push dword [ebx + 0x98]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, esi
jne 0x43cb91
jmp 0x43c916
mov eax, dword [esi + 0x44]
xor ecx, ecx
test eax, eax
mov edx, eax
setne bl
je 0x43ca1d
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x10], esi
mov esi, dword [esi + 0x48]
mov cl, bl
xor edi, edi
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edi
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], edx
lea ecx, [esp + 0x128]
call fcn.0041fca0
test eax, eax
je 0x43cba6
mov esi, edx
test edx, edx
je 0x43cba6
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
mov edx, dword [esi]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
push dword [esi + 4]
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43ca67
cmp dword [esp + 8], 0
je 0x43cae8
mov esi, dword [eax + 0x14]
mov edi, dword [eax + 0x1c]
add esi, 8
shl edi, 4
test edi, edi
je 0x43ca67
cmp ebx, dword [esi]
jne 0x43cae0
push ebx
push dword [esi - 8]
push dword [esp + 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43cae8
add esi, 0x10
add edi, 0xfffffff0
jmp 0x43cac4
mov esi, dword [esp + 0xc]
mov ebx, dword [ebp + 0x10]
lea ecx, [esp + 0x78]
mov edx, esi
push ebx
push dword [esp + 0x18]
push dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
push edi
call fcn.0043bf8c
add esp, 0x10
mov al, byte [esp + 0x90]
cmp al, 0x14
je 0x43cb4e
jmp 0x43ce9a
mov esi, dword [esp + 0xc]
mov ebx, dword [ebp + 0x10]
lea ecx, [esp + 0x128]
mov edx, esi
push ebx
mov eax, dword [esp + 0x14]
push dword [eax + 0x7c]
push edi
mov edi, eax
push eax
call fcn.0043bf8c
add esp, 0x10
mov al, byte [esp + 0x140]
cmp al, 0x14
jne 0x43cd88
mov eax, dword [esi + 0x10]
test eax, eax
je 0x43cb7d
mov esi, dword [esi + 0x14]
mov ecx, dword [edi + 0x9c]
cmp esi, ecx
jne 0x43cb83
push esi
push dword [edi + 0x98]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, esi
jne 0x43cb83
jmp 0x43c916
mov ecx, dword [edi + 0x9c]
mov eax, dword [edi + 0x98]
jmp 0x43cb97
mov ecx, dword [ebx + 0x9c]
mov eax, dword [ebx + 0x98]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
jmp 0x43c916
mov esi, dword [esp + 0x10]
jmp 0x43c956
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ecx]
cmp eax, 1
mov dword [esp + 0x48], eax
jne 0x43cf83
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov ecx, dword [esp + 0xc]
mov edi, 0x98
add edi, dword [ecx + 0xd0]
imul esi, dword [ecx + 0xd8], 0x110
mov dword [esp + 8], eax
test esi, esi
je 0x43f620
cmp dword [edi + 0x24], ebx
jne 0x43cc08
push ebx
push dword [esp + 0xc]
push dword [edi + 0x20]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43cc16
add edi, 0x110
add esi, 0xfffffef0
jmp 0x43cbe7
lea ecx, [esp + 0x1e0]
lea edx, [edi + 0x20]
call fcn.00427a00
lea ecx, [esp + 0x1c0]
mov edx, edi
call fcn.00427c2a
add edi, 0xffffff68
lea ecx, [esp + 0x128]
mov edx, edi
call fcn.00427cbc
mov ebx, dword [ebp + 0x10]
mov edx, dword [esp + 0xc]
lea esi, [esp + 0x4c]
mov ecx, esi
push ebx
call fcn.0043f658
add esp, 4
mov al, byte [esi + 0x18]
cmp al, 0x14
jne 0x43ce5b
cmp dword [ebx + 0xc], 0
je 0x43f307
mov esi, dword [esp + 0x1e4]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov eax, dword [esp + 0x1e0]
push esi
mov dword [esp + 0x14], eax
push eax
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.004213a9
mov ecx, esi
add esp, 0x10
mov esi, dword [ebx + 4]
mov edx, dword [ebx]
mov dword [esp + 0x34], 0
mov dword [esp + 0x14], ecx
mov edi, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
and edi, eax
shr eax, 0x19
movd xmm0, eax
lea eax, [edx - 0x28]
punpcklbw xmm0, xmm0
mov dword [esp + 8], eax
pshuflw xmm0, xmm0, 0
pshufd xmm1, xmm0, 0
movdqa xmmword [esp + 0xa0], xmm1
movdqu xmm0, xmmword [edx + edi]
mov edx, edi
movdqa xmmword [esp + 0xc0], xmm0
pcmpeqb xmm0, xmm1
pmovmskb ebx, xmm0
test bx, bx
je 0x43cd4c
mov eax, ebx
lea ebx, [eax - 1]
and ebx, eax
bsf eax, eax
add eax, edx
and eax, esi
neg eax
lea edi, [eax + eax*4]
mov eax, dword [esp + 8]
cmp ecx, dword [eax + edi*8 + 4]
jne 0x43ccf6
mov eax, dword [esp + 8]
lea eax, [eax + edi*8]
push ecx
push dword [eax]
push dword [esp + 0x18]
mov esi, edx
call sub.msvcrt.dll_memcmp
mov edx, esi
movdqa xmm1, xmmword [esp + 0xac]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
add esp, 0xc
test eax, eax
jne 0x43ccf6
jmp 0x43cf3d
movdqa xmm2, xmmword [esp + 0xc0]
pcmpeqd xmm0, xmm0
mov ebx, dword [ebp + 0x10]
pcmpeqb xmm2, xmm0
pmovmskb eax, xmm2
test eax, eax
jne 0x43f307
mov eax, dword [esp + 0x34]
lea edx, [edx + eax + 0x10]
add eax, 0x10
and edx, esi
mov dword [esp + 0x34], eax
mov edi, edx
mov edx, dword [esp + 0x1c]
jmp 0x43ccde
movsd xmm0, qword [esp + 0x138]
movsd xmm2, qword [esp + 0x128]
movsd xmm1, qword [esp + 0x130]
lea edx, [esp + 0x141]
jmp 0x43ced1
movsd xmm0, qword [esp + 0x5c]
movsd xmm2, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x54]
lea edx, [esp + 0x65]
jmp 0x43cde9
movsd xmm0, qword [esp + 0x138]
movsd xmm2, qword [esp + 0x128]
movsd xmm1, qword [esp + 0x130]
lea edx, [esp + 0x141]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x80], xmm1
movsd qword [esp + 0x78], xmm2
movzx ecx, word [edx]
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x80]
mov word [esp + 0xe8], cx
mov cl, byte [edx + 2]
mov edx, dword [esp + 0x98]
mov byte [esp + 0xea], cl
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [esp + 0x78]
movzx ecx, word [esp + 0xe8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
mov word [edx + 0x19], cx
mov cl, byte [esp + 0xea]
jmp 0x43f5b9
movq xmm0, qword [esp + 0x5c]
mov edx, dword [esp + 0x98]
movq xmm2, qword [esp + 0x4c]
movq xmm1, qword [esp + 0x54]
movzx ecx, word [esp + 0x65]
mov ah, byte [esp + 0x67]
movq qword [edx + 0x10], xmm0
movq qword [edx + 8], xmm1
movq qword [edx], xmm2
mov word [edx + 0x19], cx
mov byte [edx + 0x1b], ah
mov byte [edx + 0x18], al
jmp 0x43f37b
movsd xmm0, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
lea edx, [esp + 0x91]
jmp 0x43ced1
movsd xmm0, qword [esp + 0x5c]
movsd xmm2, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x54]
lea edx, [esp + 0x65]
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0xf0], xmm1
movsd qword [esp + 0xe8], xmm2
movzx ecx, word [edx]
movsd xmm0, qword [esp + 0xf8]
movsd xmm1, qword [esp + 0xf0]
mov word [esp + 0x20], cx
mov cl, byte [edx + 2]
mov edx, dword [esp + 0x98]
mov byte [esp + 0x22], cl
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [esp + 0xe8]
movzx ecx, word [esp + 0x20]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
mov word [edx + 0x19], cx
mov cl, byte [esp + 0x22]
jmp 0x43f5b9
mov eax, dword [esp + 0x1c]
mov ebx, dword [ebp + 0x10]
cmp dword [eax + edi*8 - 4], 0
jne 0x43cf73
mov eax, dword [esp + 0x148]
or eax, dword [esp + 0x14c]
je 0x43f307
mov eax, dword [esp + 0x154]
or eax, dword [esp + 0x150]
jne 0x43f307
lea eax, [esp + 0x128]
push eax
call fcn.0041f1e7
add esp, 4
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x43cf9d
cmp dword [ebx + 0x20], 0
jne 0x43cf9d
mov ecx, dword [esp + 0xc]
test byte [ecx], 4
jne 0x43f299
lea ecx, [esp + 0x38]
xor edx, edx
lea esi, [esp + 0xe8]
mov dword [ecx], 4
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
movdqa xmm0, xmmword [ecx]
lea edx, [edx + ecx + 1]
mov dword [esi], ecx
add ecx, 0x10
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
pmovmskb ecx, xmm0
not ecx
mov word [esi + 0xc], cx
mov dword [esi + 0x10], eax
lea ecx, [esp + 0xe8]
call fcn.00420789
test eax, eax
je 0x43d56f
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0xc]
lea ecx, [esp + 0x128]
mov edx, ebx
mov dword [esp + 8], eax
push eax
mov dword [esp + 0xa4], esi
push esi
call fcn.00434e0b
add esp, 8
mov eax, dword [esp + 0x128]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x43d163
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x130]
test eax, eax
je 0x43d14b
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + eax*8]
mov esi, ecx
mov dword [esp + 0x34], eax
lea eax, [esi + 8]
mov edi, dword [ebx + 0xe8]
mov dword [esp + 0xc0], eax
mov eax, dword [ebx + 0xf0]
add edi, 0x2d
shl eax, 4
lea ebx, [eax + eax*2]
test ebx, ebx
je 0x43d136
mov eax, dword [edi - 0x29]
cmp eax, dword [esi + 4]
jne 0x43d091
push eax
push dword [esi]
push dword [edi - 0x2d]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43d099
add edi, 0x30
add ebx, 0xffffffd0
jmp 0x43d06f
cmp byte [edi], 0
jne 0x43d11c
mov ebx, dword [edi - 5]
test ebx, ebx
je 0x43d11c
mov esi, dword [edi - 0xd]
shl ebx, 3
add esi, 4
mov ecx, dword [esi]
mov eax, dword [esi - 4]
cmp ecx, dword [esp + 8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jne 0x43d0dd
push dword [esp + 8]
push dword [esp + 0xa4]
push eax
call sub.msvcrt.dll_memcmp
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x43d114
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], ebx
cmp edx, dword [esp + 0x3c]
jne 0x43d0fc
lea ecx, [esp + 0x38]
call fcn.004690ed
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
mov dword [eax + edx*8], ebx
mov ebx, dword [esp + 0x14]
mov dword [eax + edx*8 + 4], ecx
inc edx
mov dword [esp + 0x40], edx
add esi, 8
add ebx, 0xfffffff8
jne 0x43d0ae
mov edx, dword [edi - 0x19]
test edx, edx
je 0x43d136
mov eax, dword [edi - 0x11]
lea ecx, [esp + 0x38]
lea eax, [edx + eax*8]
push eax
call fcn.004219e6
add esp, 4
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc]
cmp esi, dword [esp + 0x34]
jne 0x43d050
cmp dword [esp + 0x70], 0
je 0x43d163
push dword [esp + 0x1c]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov edi, dword [ebx + 0xc4]
imul esi, dword [ebx + 0xcc], 0x78
test esi, esi
je 0x43d19f
mov eax, dword [esp + 8]
cmp dword [edi + 0x24], eax
jne 0x43d197
push dword [esp + 8]
push dword [esp + 0xa4]
push dword [edi + 0x20]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43d1a1
add edi, 0x78
add esi, 0xffffff88
jmp 0x43d170
xor edi, edi
mov eax, ebx
mov ebx, dword [ebx + 0xd0]
imul esi, dword [eax + 0xd8], 0x110
test esi, esi
je 0x43d1ee
mov eax, dword [esp + 8]
cmp dword [ebx + 0xbc], eax
jne 0x43d1e0
push dword [esp + 8]
push dword [esp + 0xa4]
push dword [ebx + 0xb8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43d1f0
add ebx, 0x110
add esi, 0xfffffef0
jmp 0x43d1b3
xor ebx, ebx
mov ecx, dword [esp + 0xc]
xor edx, edx
mov eax, dword [ecx + 0x124]
mov ecx, dword [ecx + 0x128]
test eax, eax
mov esi, eax
mov dword [esp + 0x18], ecx
setne byte [esp + 0x10]
je 0x43d21b
mov esi, dword [esp + 0xc]
mov esi, dword [esi + 0x12c]
mov cl, byte [esp + 0x10]
mov dl, cl
xor ecx, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
xor edx, edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], esi
lea ecx, [esp + 0x4c]
call fcn.0041db15
xor ecx, ecx
test eax, eax
je 0x43d28d
mov esi, edx
test edx, edx
je 0x43d28d
mov eax, dword [esp + 8]
cmp dword [esi + 0x9c], eax
jne 0x43d24d
push dword [esp + 8]
push dword [esp + 0xa4]
push dword [esi + 0x98]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, esi
jne 0x43d24d
test ebx, ebx
cmovne ecx, ebx
test edi, edi
cmovne ecx, edi
test ecx, ecx
je 0x43d324
test ebx, ebx
mov esi, 0x5484ac
mov eax, 0x5485a4
cmove esi, eax
mov eax, 0x548528
test edi, edi
cmovne esi, eax
push ecx
call dword [esi + 0x20]
add esp, 4
test eax, eax
je 0x43d567
test edx, edx
je 0x43d567
mov edi, eax
lea eax, [eax + edx*8]
mov dword [esp + 8], eax
mov esi, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [ebp + 0x10]
mov edx, esi
push ebx
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43d316
mov edx, dword [esp + 0x40]
cmp edx, dword [esp + 0x3c]
jne 0x43d306
lea ecx, [esp + 0x38]
call fcn.004690ed
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ebx
inc edx
mov dword [esp + 0x40], edx
add edi, 8
cmp edi, dword [esp + 8]
jne 0x43d2d8
jmp 0x43d567
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x20]
push dword [esp + 8]
push dword [esp + 0xa4]
call fcn.004209e3
add esp, 8
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x43d54c
mov ebx, dword [esp + 0xc0]
lea eax, [ebx + eax*8]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
lea eax, [ebx + 8]
mov dword [esp + 0x14], eax
mov edi, dword [ecx + 0xc4]
imul esi, dword [ecx + 0xcc], 0x78
test esi, esi
je 0x43d3a5
mov eax, dword [edi + 0x24]
cmp eax, dword [ebx + 4]
jne 0x43d39d
push eax
push dword [ebx]
push dword [edi + 0x20]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43d3af
add edi, 0x78
add esi, 0xffffff88
jmp 0x43d37f
mov dword [esp + 0x18], 0
jmp 0x43d3b3
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0xd0]
imul esi, dword [eax + 0xd8], 0x110
test esi, esi
je 0x43d3f9
mov eax, dword [edi + 0xbc]
cmp eax, dword [ebx + 4]
jne 0x43d3eb
push eax
push dword [ebx]
push dword [edi + 0xb8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43d3fb
add edi, 0x110
add esi, 0xfffffef0
jmp 0x43d3c7
xor edi, edi
mov ecx, dword [esp + 0xc]
xor edx, edx
mov eax, dword [ecx + 0x124]
mov ecx, dword [ecx + 0x128]
test eax, eax
mov esi, eax
mov dword [esp + 0x10], ecx
setne byte [esp + 8]
je 0x43d426
mov esi, dword [esp + 0xc]
mov esi, dword [esi + 0x12c]
mov cl, byte [esp + 8]
mov dl, cl
xor ecx, ecx
mov dword [esp + 0x128], edx
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
xor edx, edx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], esi
lea ecx, [esp + 0x128]
call fcn.0041db15
xor ecx, ecx
test eax, eax
je 0x43d4ad
mov esi, edx
test edx, edx
je 0x43d4ad
mov eax, dword [esi + 0x9c]
cmp eax, dword [ebx + 4]
jne 0x43d473
push eax
push dword [ebx]
push dword [esi + 0x98]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, esi
jne 0x43d473
mov edx, dword [esp + 0x18]
test edi, edi
cmovne ecx, edi
test edx, edx
cmovne ecx, edx
test ecx, ecx
je 0x43f5e5
test edi, edi
mov esi, 0x5484ac
mov eax, 0x5485a4
cmove esi, eax
mov eax, 0x548528
test edx, edx
cmovne esi, eax
push ecx
call dword [esi + 0x20]
add esp, 4
test eax, eax
je 0x43d53b
test edx, edx
je 0x43d53b
mov edi, eax
lea eax, [eax + edx*8]
mov dword [esp + 8], eax
mov esi, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [ebp + 0x10]
mov edx, esi
push ebx
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43d532
mov edx, dword [esp + 0x40]
cmp edx, dword [esp + 0x3c]
jne 0x43d522
lea ecx, [esp + 0x38]
call fcn.004690ed
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ebx
inc edx
mov dword [esp + 0x40], edx
add edi, 8
cmp edi, dword [esp + 8]
jne 0x43d4f4
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xa0]
jne 0x43d367
cmp dword [esp + 0x24], 0
je 0x43d567
push dword [esp + 0xc0]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ebx, dword [ebp + 0x10]
jmp 0x43cfdb
mov eax, dword [esp + 0x40]
test eax, eax
je 0x43d697
mov ecx, dword [esp + 0x38]
lea eax, [ecx + eax*8]
mov dword [esp + 0x14], eax
lea eax, [ecx + 8]
mov dword [esp + 8], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0xe8]
mov eax, dword [eax + 0xf0]
shl eax, 4
add esi, 4
lea ebx, [eax + eax*2]
test ebx, ebx
je 0x43d5d8
mov edi, dword [esi]
cmp edi, dword [ecx + 4]
jne 0x43d5d0
mov eax, dword [ecx]
push edi
mov dword [esp + 0x14], eax
push eax
push dword [esi - 4]
call sub.msvcrt.dll_memcmp
mov ecx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
je 0x43d605
add esi, 0x30
add ebx, 0xffffffd0
jmp 0x43d5aa
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
mov edx, esi
push edi
call fcn.0043feb9
add esp, 4
test eax, eax
je 0x43d689
mov ecx, dword [eax]
or ecx, dword [eax + 4]
je 0x43d689
jmp 0x43f51b
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x128]
push edi
push dword [esp + 0x14]
call fcn.004209e3
add esp, 8
mov ebx, dword [esp + 0x130]
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
shl ebx, 3
mov dword [esp + 0x10], ecx
mov dword [esp + 0xa0], eax
test ebx, ebx
je 0x43d66b
lea ecx, [eax + 8]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 8], ecx
mov ecx, dword [ebp + 0x10]
mov edx, esi
push edi
call fcn.00421292
add esp, 4
add ebx, 0xfffffff8
test al, al
mov eax, dword [esp + 8]
je 0x43d640
jmp 0x43d6b1
cmp dword [esp + 0x10], 0
mov ebx, dword [ebp + 0x10]
je 0x43d689
push dword [esp + 0xa0]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x14]
jne 0x43d586
cmp dword [esp + 0x3c], 0
je 0x43d70c
push dword [esp + 0x38]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x43d70c
mov ebx, dword [ebp + 0x10]
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0x78]
push ebx
push edi
push esi
call fcn.0043fffb
add esp, 0xc
cmp dword [esp + 0x10], 0
je 0x43d6e5
push dword [esp + 0xa0]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x3c], 0
je 0x43d6fd
push dword [esp + 0x38]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov al, byte [esp + 0x90]
cmp al, 0x14
jne 0x43f579
cmp dword [esp + 0x48], 1
je 0x43d746
mov eax, dword [esp + 0xe4]
mov edx, dword [eax]
test byte [edx], 1
je 0x43d729
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x43d746
lea esi, [esp + 0x128]
mov ecx, esi
push ebx
call fcn.0043f658
add esp, 4
mov al, byte [esi + 0x18]
cmp al, 0x14
jne 0x43f3de
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
lea edi, [esp + 0xe8]
mov esi, dword [ebx + 0xc]
movdqa xmm0, xmmword [eax]
lea ecx, [ecx + eax + 1]
mov dword [edi], eax
add eax, 0x10
mov dword [edi + 4], eax
mov eax, dword [esp + 0xe4]
mov dword [edi + 8], ecx
pmovmskb edx, xmm0
mov eax, dword [eax]
not edx
mov word [edi + 0xc], dx
mov dword [edi + 0x10], esi
mov dword [esp + 0x14], eax
lea ecx, [esp + 0xe8]
call fcn.00420789
test eax, eax
je 0x43f426
mov ebx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], edx
mov dword [esp + 0xa0], edx
mov ecx, dword [eax + 0xd0]
imul esi, dword [eax + 0xd8], 0x110
mov eax, ecx
test esi, esi
je 0x43d7fb
mov ecx, dword [eax + 0xbc]
cmp ecx, dword [ebx + 4]
jne 0x43d7ee
mov edi, dword [eax + 0xb8]
push ecx
push dword [ebx]
push edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 8]
je 0x43d923
add eax, 0x110
add esi, 0xfffffef0
jmp 0x43d7b9
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xc4]
imul esi, dword [eax + 0xcc], 0x78
test esi, esi
je 0x43d836
mov eax, dword [edi + 0x24]
cmp eax, dword [ebx + 4]
jne 0x43d82e
push eax
push dword [ebx]
push dword [edi + 0x20]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43da12
add edi, 0x78
add esi, 0xffffff88
jmp 0x43d80c
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov eax, dword [esi + 0x124]
test eax, eax
mov edi, eax
setne byte [esp + 8]
je 0x43d853
mov edi, dword [esi + 0x12c]
mov dl, byte [esp + 8]
mov esi, dword [esi + 0x128]
mov cl, dl
xor edx, edx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x128]
call fcn.0041db15
test eax, eax
je 0x43d994
mov esi, edx
test edx, edx
je 0x43d994
mov eax, dword [esi + 0x9c]
cmp eax, dword [ebx + 4]
jne 0x43d8a0
push eax
push dword [ebx]
push dword [esi + 0x98]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43d8a0
mov eax, dword [esi]
mov dword [esp + 0x10], esi
or eax, dword [esi + 4]
je 0x43de38
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
test byte [esi + 0xbc], 2
mov dword [esp + 8], ecx
mov dword [esp + 0x18], edx
jne 0x43ddeb
mov eax, dword [esp + 0xa0]
mov edi, dword [eax + 0x1c]
mov eax, ecx
xor eax, edi
or eax, edx
jne 0x43df82
jmp 0x43de38
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x74], edi
or eax, dword [edx + 4]
je 0x43db3e
mov esi, dword [edx + 8]
mov edi, dword [edx + 0xc]
test byte [edx + 0xdc], 2
jne 0x43daf0
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 8]
mov ecx, dword [eax + 0x1c]
mov eax, esi
xor eax, ecx
or eax, edi
je 0x43db3e
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov eax, 1
mov dword [esp + 0x18], edi
je 0x43e064
mov dword [esp + 0x10], esi
mov dword [esp + 0xc0], str.ereas
mov dword [esp + 0x34], 3
mov edi, ecx
jmp 0x43e07d
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xe8]
mov eax, dword [eax + 0xf0]
shl eax, 4
add esi, 0x10
lea edi, [eax + eax*2]
test edi, edi
je 0x43f60f
mov eax, dword [esi - 0xc]
cmp eax, dword [ebx + 4]
jne 0x43d9cf
push eax
push dword [ebx]
push dword [esi - 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43d9d7
add esi, 0x30
add edi, 0xffffffd0
jmp 0x43d9ad
mov eax, dword [esi - 8]
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x43d782
mov esi, dword [esi]
shl esi, 3
test esi, esi
je 0x43d782
mov edx, dword [eax]
lea edi, [eax + 8]
mov ecx, ebx
push dword [eax + 4]
call fcn.00421292
add esp, 4
add esi, 0xfffffff8
test al, al
mov eax, edi
jne 0x43d9ea
jmp 0x43f26a
mov eax, dword [edi + 0x6c]
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x43dc3f
mov ecx, dword [edi + 0x74]
mov dword [esp + 0xc], edi
shl ecx, 4
lea edx, [eax + ecx]
mov dword [esp + 0x1c], ecx
mov ecx, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x74], ecx
mov dword [esp + 0xbc], edx
mov esi, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
add esi, 8
mov dword [esp + 0x34], eax
shl eax, 4
mov dword [esp + 0x70], esi
mov dword [esp + 0x48], eax
cmp ecx, edx
je 0x43dd9d
mov eax, ecx
add ecx, 0x10
mov esi, dword [eax]
test esi, esi
mov dword [esp + 8], esi
je 0x43da5d
cmp dword [esp + 0x34], 0
je 0x43da5d
mov edx, dword [eax + 8]
mov edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x70]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
cmp dword [esi], edi
jne 0x43dace
push edi
push dword [esp + 0xc]
push dword [esi - 8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43dace
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x10]
push dword [esp + 0x18]
call fcn.00421292
add esp, 4
test al, al
je 0x43dc10
add esi, 0x10
add ebx, 0xfffffff0
jne 0x43da9b
mov ebx, dword [ebp + 0x10]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
jmp 0x43da5d
mov eax, edi
or eax, esi
je 0x43f5d4
mov eax, dword [esp + 0xa0]
mov ebx, dword [eax + 0x1c]
push edi
push esi
push 0
push ebx
call fcn.00538c5c
add esp, 0x10
or edx, eax
mov edx, dword [esp + 8]
je 0x43db3e
test esi, esi
je 0x43f5f6
mov eax, ebx
xor edx, edx
div esi
cmp ebx, 1
mov dword [esp + 0x18], edi
jne 0x43e053
mov ebx, dword [ebp + 0x10]
mov eax, edx
jmp 0x43e064
mov eax, dword [edx + 0x10]
or eax, dword [edx + 0x14]
je 0x43dcb8
mov ecx, dword [esp + 0xa0]
mov eax, dword [edx + 0x1c]
mov esi, dword [ecx + 0x1c]
cmp dword [edx + 0x18], esi
sbb eax, 0
jae 0x43dcc4
test esi, esi
je 0x43f636
mov eax, dword [esp + 0xa0]
shl esi, 4
lea ecx, [esp + 0x4c]
mov eax, dword [eax + 0x14]
mov edx, dword [eax + esi - 0x10]
push dword [eax + esi - 8]
call fcn.004469c0
add esp, 4
cmp dword [esp + 0x4c], 0
jne 0x43f647
mov esi, dword [esp + 0x50]
test esi, esi
je 0x43f647
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
mov edx, edi
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov ebx, dword [esp + 0x4c]
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 + 0x128]
push eax
push dword [esp + 0x58]
push ebx
push 0x41f6be
push fcn.0041f223
push dword [esp + 0x1c]
push dword [esp + 0x28]
call fcn.00440aba
add esp, 0x1c
jmp 0x43e0e9
sub esp, 4
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x12c]
push 0
mov ebx, dword [ebp + 0x10]
push ebx
call fcn.00441e43
add esp, 0xc
mov al, byte [esp + 0x140]
mov edi, dword [esp + 0xc]
cmp al, 0x14
jne 0x43f476
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 4]
cmp dword [ecx], 2
sbb eax, 0
jb 0x43d782
test byte [edi + 0x44], 2
jne 0x43d782
sub esp, 4
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
mov edx, edi
push 0
push ebx
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0xc]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
push dword [esp + 0x58]
push esi
push 0x41ef49
push fcn.0041ee9a
jmp 0x43e697
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x1c]
jmp 0x43dcc6
mov ecx, esi
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x74]
mov eax, dword [esi + 0x20]
or eax, dword [esi + 0x24]
je 0x43dd64
mov edi, dword [esi + 0x28]
mov ebx, dword [esi + 0x2c]
mov eax, 0
cmp ecx, edi
sbb eax, ebx
jae 0x43df03
sub esp, 4
mov edx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x14], edi
lea ecx, [esp + 0x50]
mov edi, edx
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x4c]
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 + 0x128]
push eax
push dword [esp + 0x58]
push ebx
push dword [esp + 0x54]
push dword [esp + 0x28]
push dword [esp + 0x24]
push 0x41f6be
push fcn.0041f223
call fcn.00440d41
add esp, 0x20
jmp 0x43e0e9
mov eax, dword [esp + 0xc]
test ecx, ecx
je 0x43df17
mov ebx, eax
lea edi, [eax + 0x14]
mov eax, dword [esp + 0xa0]
mov esi, ecx
mov dword [esp + 0x9c], edi
shl esi, 4
add ebx, 0x1c
mov dword [esp + 0xc], ebx
mov edi, dword [eax + 0x14]
mov eax, dword [esp + 8]
add esi, edi
jmp 0x43e151
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
add eax, 0xc
test ecx, ecx
je 0x43dc3f
cmp dword [eax - 0xc], 0
jne 0x43dddf
mov edi, dword [eax - 4]
mov esi, dword [eax]
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov edx, edi
push esi
mov ebx, eax
call fcn.00421292
mov ecx, dword [esp + 0x20]
add esp, 4
test al, al
mov eax, ebx
mov ebx, dword [ebp + 0x10]
je 0x43ee5b
mov edi, dword [esp + 0xc]
add eax, 0x10
add ecx, 0xfffffff0
jmp 0x43dda8
mov eax, edx
or eax, ecx
je 0x43f5d4
mov eax, dword [esp + 0xa0]
mov ebx, dword [eax + 0x1c]
push edx
push ecx
push 0
push ebx
call fcn.00538c5c
mov ecx, dword [esp + 0x18]
add esp, 0x10
mov esi, dword [esp + 0x10]
or edx, eax
je 0x43de38
test ecx, ecx
je 0x43f5f6
mov eax, ebx
xor edx, edx
div ecx
cmp ebx, 1
mov edi, edx
jne 0x43df82
mov eax, edi
jmp 0x43df90
mov eax, dword [esi + 0x10]
or eax, dword [esi + 0x14]
je 0x43dfaa
mov ecx, dword [esp + 0xa0]
mov eax, dword [esi + 0x1c]
mov edi, dword [ecx + 0x1c]
cmp dword [esi + 0x18], edi
sbb eax, 0
jae 0x43dfb4
mov ebx, dword [esp + 0x14]
test edi, edi
je 0x43f636
mov eax, dword [esp + 0xa0]
shl edi, 4
lea ecx, [esp + 0x20]
mov eax, dword [eax + 0x14]
mov edx, dword [eax + edi - 0x10]
push dword [eax + edi - 8]
call fcn.004469c0
add esp, 4
cmp dword [esp + 0x20], 0
mov eax, dword [ebp + 0x10]
jne 0x43f647
mov edi, dword [esp + 0x24]
test edi, edi
je 0x43f647
mov esi, dword [esp + 0x28]
sub esp, 4
lea ecx, [esp + 0x24]
mov edx, ebx
push 0
push eax
call fcn.0043bc5d
add esp, 0xc
mov eax, ebx
mov ebx, dword [esp + 0x20]
mov edx, edi
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
push ebx
push 0x41e304
push fcn.0041ded9
push dword [esp + 0x24]
push esi
call fcn.00440aba
add esp, 0x1c
jmp 0x43e80e
mov eax, dword [esp + 0xc]
test ecx, ecx
jne 0x43e11b
or edi, ebx
je 0x43e11b
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
mov edx, edi
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 8]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
push dword [esp + 0x58]
push esi
push 0x41f6be
push fcn.0041f223
call fcn.0043fcb4
add esp, 0x14
cmp dword [esp + 0x50], 0
je 0x43e0fe
push esi
jmp 0x43e0f1
cmp edi, 1
mov eax, 1
jne 0x43e78e
mov edi, eax
mov dword [esp + 0xc], 0x548f37
mov dword [esp + 0xc0], 2
jmp 0x43e7a1
mov eax, dword [esp + 0xa0]
mov edi, dword [eax + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x20]
or eax, dword [esi + 0x24]
je 0x43e70c
mov ebx, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov eax, 0
cmp edi, ebx
sbb eax, ecx
jae 0x43e716
sub esp, 4
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x24]
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [esp + 0x20]
mov edx, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
push esi
push edi
push dword [esp + 0x18]
push ebx
push 0x41e304
push fcn.0041ded9
call fcn.00440d41
add esp, 0x20
cmp dword [esp + 0x24], 0
je 0x43e823
push esi
jmp 0x43e816
mov ebx, dword [ebp + 0x10]
cmp edx, 1
mov eax, 1
jne 0x43ee3d
mov dword [esp + 0x10], esi
mov dword [esp + 0xc0], 0x548f37
mov dword [esp + 0x34], 2
mov edi, eax
sub esp, 4
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
mov edx, esi
push 0
push ebx
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [esi]
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 8]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
push dword [esp + 0x58]
push ebx
push dword [esp + 0x40]
push dword [esp + 0xd0]
push edi
push dword [esp + 0x30]
push dword [esp + 0x2c]
push 0x41f6be
push fcn.0041f223
call fcn.00440719
add esp, 0x28
cmp dword [esp + 0x50], 0
je 0x43e0fe
push ebx
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov al, byte [esp + 0x140]
cmp al, 0x14
jne 0x43f476
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0xc]
lea esi, [eax + 0x14]
add eax, 0x1c
test ecx, ecx
mov dword [esp + 0xc], eax
je 0x43e51e
mov eax, dword [esp + 8]
mov edi, dword [esi]
mov dword [esp + 0x9c], esi
shl ecx, 4
mov esi, dword [eax + 0xbc]
mov edx, dword [eax + 0xb8]
add ecx, edi
mov dword [esp + 0x10], esi
mov esi, ecx
mov dword [esp + 0x74], edx
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x94]
mov ebx, dword [eax + 0xdc]
mov dword [esp + 0x48], esi
mov dword [esp + 0x34], ebx
lea ebx, [ecx + edx*8]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x110], edx
mov dword [esp + 0x118], ebx
mov ebx, dword [eax + 0x68]
mov dword [esp + 0x1c], ebx
mov ebx, dword [eax + 0x6c]
mov dword [esp + 0xbc], ebx
mov ebx, dword [eax + 0x70]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x70], ebx
lea ebx, [ecx + 4]
lea ecx, [edx*8]
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], ebx
mov dword [esp + 0x11c], ecx
mov eax, dword [esp + 0x14]
test byte [eax + 2], 1
je 0x43e1f2
mov edx, dword [edi]
lea ecx, [esp + 0x4c]
push dword [edi + 8]
call fcn.004469c0
add esp, 4
cmp dword [esp + 0x4c], 0
jne 0x43ee6d
cmp dword [esp + 0x50], 0
je 0x43ee6d
cmp dword [esp + 0xc0], 0
je 0x43e34d
mov edx, dword [edi]
lea ecx, [esp + 0x38]
mov dword [esp + 0xe0], edi
push dword [edi + 8]
call fcn.004b3330
add esp, 4
bt dword [esp + 0x34], 0x10
jb 0x43e27d
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x11c]
mov ebx, dword [esp + 0x120]
test eax, eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x114], ecx
cmove eax, ecx
mov dword [esp + 0x18], eax
test esi, esi
je 0x43e477
cmp dword [ebx], edi
jne 0x43e275
push edi
push dword [esp + 0x1c]
push dword [ebx - 4]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43e31f
add ebx, 8
add esi, 0xfffffff8
jmp 0x43e251
cmp dword [esp + 0x110], 0
je 0x43e477
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
test edi, edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0x114], ecx
mov edx, eax
mov dword [esp + 0x23c], eax
cmove edi, ecx
mov ecx, dword [esp + 0xc0]
neg edx
cmp dword [ecx + 4], eax
jne 0x43e30e
mov dword [esp + 0x18], ecx
mov ecx, dword [ecx]
xor esi, esi
dec esi
lea ebx, [edx + esi]
cmp ebx, 0xffffffff
je 0x43e31f
mov bl, byte [ecx + esi + 1]
mov al, byte [edi + esi + 1]
mov bh, bl
mov ah, al
add bh, 0xbf
cmp bh, 0x1a
setb bh
add ah, 0xbf
shl bh, 5
cmp ah, 0x1a
setb ah
or bh, bl
inc esi
shl ah, 5
or ah, al
cmp bh, ah
je 0x43e2ca
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x18]
cmp esi, eax
jae 0x43e31f
add ecx, 8
cmp ecx, dword [esp + 0x118]
jne 0x43e2bc
jmp 0x43e477
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0xe0]
test eax, eax
je 0x43e34d
cmp dword [esp + 0x114], 0
je 0x43e34d
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
test byte [esp + 0x34], 4
jne 0x43e375
cmp dword [edi + 8], 0
jne 0x43e375
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x74]
push dword [esp + 0x10]
call fcn.00421292
add esp, 4
test al, al
jne 0x43f1af
cmp dword [esp + 0x1c], 0
je 0x43e427
mov eax, dword [esp + 0xbc]
mov edx, dword [edi]
lea ecx, [esp + 0x4c]
mov ebx, dword [eax + 8]
dec ebx
and ebx, 0xfffffff8
push dword [edi + 8]
call fcn.004b3330
add esp, 4
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
test ecx, ecx
je 0x43e3b1
mov edx, dword [esp + 0x50]
jmp 0x43e3ec
mov eax, dword [esp + 0x50]
mov ecx, esi
xor edx, edx
mov dword [esp + 0x18], eax
call fcn.00480164
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edx
push esi
push dword [esp + 0x1c]
push eax
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], esi
lea eax, [ebx + eax + 8]
push ecx
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0xc8]
call dword [eax + 0x14]
add esp, 0xc
cmp dword [esp + 0x20], 0
jne 0x43eebf
mov esi, dword [esp + 0x48]
cmp dword [esp + 0x70], 0
je 0x43e460
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x70]
mov eax, dword [edx + 8]
dec eax
and eax, 0xfffffff8
lea eax, [eax + ecx + 8]
push dword [edi + 8]
push dword [edi]
push eax
lea eax, [esp + 0x58]
push eax
call dword [edx + 0x14]
add esp, 0x10
cmp byte [esp + 0x58], 2
jne 0x43ef1c
add edi, 0x10
cmp edi, esi
jne 0x43e1c1
mov esi, dword [esp + 0x9c]
jmp 0x43e51e
mov eax, dword [esp + 0x40]
movq xmm0, qword [esp + 0x38]
mov dword [esp + 0x28], eax
movq qword [esp + 0x20], xmm0
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
mov edx, edi
push 0
mov ebx, dword [ebp + 0x10]
push ebx
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [esp + 0x4c]
lea edx, [esp + 0x20]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
push dword [esp + 0x58]
push esi
push 0x5484ac
push dword [esp + 0x18]
push dword [esp + 0x124]
push dword [esp + 0xd8]
call fcn.00441134
add esp, 0x1c
cmp dword [esp + 0x50], 0
je 0x43e508
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov esi, dword [esp + 0x9c]
mov al, byte [esp + 0x140]
cmp al, 0x14
jne 0x43f476
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x104]
test eax, eax
je 0x43e61e
mov ecx, eax
mov eax, dword [esp + 8]
mov esi, dword [esi]
mov dword [esp + 0x74], ecx
mov eax, dword [eax + 0x10c]
add esi, 8
mov dword [esp + 0x70], esi
shl eax, 4
lea edx, [ecx + eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], edx
mov eax, dword [eax]
mov dword [esp + 0x34], eax
shl eax, 4
mov dword [esp + 0x48], eax
cmp ecx, edx
je 0x43e6c8
mov eax, ecx
add ecx, 0x10
mov esi, dword [eax]
test esi, esi
mov dword [esp + 0x10], esi
je 0x43e56b
cmp dword [esp + 0x34], 0
je 0x43e56b
mov edx, dword [eax + 8]
mov edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], eax
cmp dword [ebx], edi
jne 0x43e5d8
push edi
push dword [esp + 0x14]
push dword [ebx - 8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43e5d8
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
push dword [esp + 0xc]
call fcn.00421292
add esp, 4
test al, al
je 0x43e5f3
add ebx, 0x10
add esi, 0xfffffff0
jne 0x43e5a9
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
jmp 0x43e56b
sub esp, 4
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x12c]
push 0
mov ebx, dword [ebp + 0x10]
push ebx
call fcn.00441e43
add esp, 0xc
mov al, byte [esp + 0x140]
cmp al, 0x14
jne 0x43f476
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 4]
cmp dword [ecx], 2
sbb eax, 0
jb 0x43d782
mov eax, dword [esp + 8]
test byte [eax + 0xdc], 2
jne 0x43d782
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
mov edx, edi
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 8]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
push dword [esp + 0x58]
push esi
push 0x41f6be
push fcn.0041f223
call fcn.0044222e
add esp, 0x14
cmp dword [esp + 0x50], 0
je 0x43e6b4
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov al, byte [esp + 0x140]
cmp al, 0x14
je 0x43d782
jmp 0x43f476
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
add ebx, 0xc
test ecx, ecx
je 0x43e61e
cmp dword [ebx - 0xc], 0
jne 0x43e704
mov esi, dword [ebx - 4]
mov dword [esp + 0x1c], ecx
mov edi, dword [ebx]
mov ecx, dword [ebp + 0x10]
mov edx, esi
push edi
call fcn.00421292
mov ecx, dword [esp + 0x20]
add esp, 4
test al, al
je 0x43ee28
add ebx, 0x10
add ecx, 0xfffffff0
jmp 0x43e6d3
test edi, edi
jne 0x43e82f
jmp 0x43e726
test edi, edi
jne 0x43e82f
or ebx, ecx
je 0x43e82f
sub esp, 4
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x24]
mov edx, ebx
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [ebx]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
push edi
push 0x41e304
push fcn.0041ded9
call fcn.0043fcb4
add esp, 0x14
cmp dword [esp + 0x24], 0
je 0x43e823
push edi
jmp 0x43e816
mov dword [esp + 0xc], str.ereas
mov dword [esp + 0xc0], 3
sub esp, 4
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x24]
mov edx, ebx
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov ecx, dword [esp + 0x20]
mov eax, dword [ebx]
mov edx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
push ebx
push dword [esp + 0xcc]
push dword [esp + 0x1c]
push edi
push dword [esp + 0x30]
push dword [esp + 0x24]
push 0x41e304
push fcn.0041ded9
call fcn.00440719
add esp, 0x28
cmp dword [esp + 0x24], 0
je 0x43e823
push ebx
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov al, byte [esp + 0x64]
cmp al, 0x14
jne 0x43f536
mov ecx, dword [esp + 0xa0]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ecx + 4]
cmp dword [ecx], 2
sbb eax, 0
jb 0x43e8ce
mov eax, dword [esp + 0x10]
test byte [eax + 0xbc], 2
jne 0x43e8ce
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x24]
mov edx, edi
push 0
push ebx
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
push ebx
push 0x41e304
push fcn.0041ded9
call fcn.0044222e
add esp, 0x14
cmp dword [esp + 0x24], 0
je 0x43e8bf
push ebx
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov al, byte [esp + 0x64]
mov ebx, dword [ebp + 0x10]
cmp al, 0x14
jne 0x43f536
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x43ec30
mov ecx, eax
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x10]
shl ecx, 4
mov edi, dword [eax + 0x14]
mov eax, dword [esi + 0x8c]
mov edx, dword [esi + 0xbc]
add ecx, edi
mov dword [esp + 0xc0], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0xbc], ecx
mov ecx, dword [esi + 0x94]
lea edx, [eax + ecx*8]
add eax, 4
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x48], edx
mov edx, dword [esi + 0x98]
mov dword [esp + 0x110], eax
lea eax, [ecx*8]
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], edx
mov edx, dword [esi + 0x9c]
mov dword [esp + 0x11c], edx
mov edx, dword [esi + 0x68]
mov dword [esp + 0x34], edx
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x70], edx
mov edx, dword [esi + 0x70]
mov esi, dword [esi + 0x74]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x114], esi
mov eax, dword [esp + 0x14]
test byte [eax + 2], 1
je 0x43e9a9
mov edx, dword [edi]
lea ecx, [esp + 0x20]
push dword [edi + 8]
call fcn.004469c0
add esp, 4
cmp dword [esp + 0x20], 0
jne 0x43f00c
cmp dword [esp + 0x24], 0
je 0x43f00c
cmp dword [esp + 0x18], 0
mov dword [esp + 0xc], edi
je 0x43eb11
mov edx, dword [edi]
lea ecx, [esp + 0x100]
push dword [edi + 8]
call fcn.004b3330
add esp, 4
bt dword [esp + 0xc0], 0x10
jb 0x43ea3a
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x124]
mov ebx, dword [esp + 0x110]
test eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x118], ecx
cmove eax, ecx
mov dword [esp + 8], eax
test edi, edi
je 0x43ec39
cmp dword [ebx], esi
jne 0x43ea32
push esi
push dword [esp + 0xc]
push dword [ebx - 4]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43eaea
add ebx, 8
add edi, 0xfffffff8
jmp 0x43ea0e
cmp dword [esp + 0xe0], 0
je 0x43ec39
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
test eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x118], ecx
cmove eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x108]
mov edx, eax
mov dword [esp + 0x9c], eax
neg edx
cmp dword [ecx + 4], eax
jne 0x43eadc
mov dword [esp + 0xdc], ecx
mov ecx, dword [ecx]
xor edi, edi
dec edi
lea ebx, [edx + edi]
cmp ebx, 0xffffffff
je 0x43eaea
mov eax, dword [esp + 8]
mov bl, byte [ecx + edi + 1]
mov al, byte [eax + edi + 1]
mov bh, bl
add bh, 0xbf
cmp bh, 0x1a
setb bh
mov ah, al
shl bh, 5
add ah, 0xbf
cmp ah, 0x1a
setb ah
or bh, bl
inc edi
shl ah, 5
or ah, al
cmp bh, ah
je 0x43ea91
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xdc]
cmp edi, eax
jae 0x43eaea
add ecx, 8
cmp ecx, dword [esp + 0x48]
jne 0x43ea80
jmp 0x43ec39
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xc]
test eax, eax
je 0x43eb0e
cmp dword [esp + 0x118], 0
je 0x43eb0e
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ebx, dword [ebp + 0x10]
test byte [esp + 0xc0], 4
jne 0x43eb41
cmp dword [edi + 8], 0
jne 0x43eb41
mov edx, dword [esp + 0x120]
mov ecx, ebx
push dword [esp + 0x11c]
call fcn.00421292
add esp, 4
test al, al
jne 0x43f20e
cmp dword [esp + 0x34], 0
je 0x43ebe7
mov ecx, dword [esp + 0x70]
mov eax, edi
mov edx, dword [eax]
mov edi, dword [ecx + 8]
lea ecx, [esp + 0x20]
dec edi
and edi, 0xfffffff8
push dword [eax + 8]
call fcn.004b3330
add esp, 4
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
test ebx, ebx
je 0x43eb7c
mov esi, dword [esp + 0x24]
jmp 0x43ebac
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 8]
mov dword [esp + 0x74], eax
call fcn.00480164
mov ebx, eax
mov esi, edx
push dword [esp + 8]
push dword [esp + 0x78]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x20]
lea eax, [edi + eax + 8]
push ecx
push eax
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0x7c]
call dword [eax + 0x14]
add esp, 0xc
cmp dword [esp + 0x38], 0
jne 0x43f072
mov ebx, dword [ebp + 0x10]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x1c], 0
je 0x43ec20
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
dec eax
and eax, 0xfffffff8
lea eax, [eax + ecx + 8]
push dword [edi + 8]
push dword [edi]
push eax
lea eax, [esp + 0x2c]
push eax
call dword [edx + 0x14]
add esp, 0x10
cmp byte [esp + 0x2c], 2
jne 0x43f0ce
add edi, 0x10
cmp edi, dword [esp + 0xbc]
jne 0x43e978
mov esi, dword [esp + 0x10]
jmp 0x43ecda
mov eax, dword [esp + 0x108]
movq xmm0, qword [esp + 0x100]
mov dword [esp + 0x40], eax
movq qword [esp + 0x38], xmm0
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x24]
mov edx, edi
push 0
mov ebx, dword [ebp + 0x10]
push ebx
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov ebx, dword [esp + 0x20]
lea edx, [esp + 0x38]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
push ebx
push 0x5485a4
mov esi, dword [esp + 0x20]
push esi
push dword [esp + 0xf4]
push dword [esp + 0x30]
call fcn.00441134
add esp, 0x1c
cmp dword [esp + 0x24], 0
je 0x43eccb
push ebx
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ebx, dword [ebp + 0x10]
mov al, byte [esp + 0x64]
cmp al, 0x14
jne 0x43f536
mov eax, dword [esi + 0xe4]
test eax, eax
je 0x43d782
mov ecx, dword [esi + 0xec]
shl ecx, 4
lea edx, [eax + ecx]
mov dword [esp + 0xc0], ecx
mov ecx, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x70], edx
mov esi, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
add esi, 8
mov dword [esp + 0xa0], eax
shl eax, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], eax
cmp ecx, edx
je 0x43edd5
mov eax, ecx
add ecx, 0x10
mov esi, dword [eax]
test esi, esi
mov dword [esp + 8], esi
je 0x43ed27
cmp dword [esp + 0xa0], 0
je 0x43ed27
mov edx, dword [eax + 8]
mov edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
cmp dword [ebx], edi
jne 0x43ed94
push edi
push dword [esp + 0xc]
push dword [ebx - 8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43ed94
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x10]
push dword [esp + 0x18]
call fcn.00421292
add esp, 4
test al, al
je 0x43edac
add ebx, 0x10
add esi, 0xfffffff0
jne 0x43ed65
mov ebx, dword [ebp + 0x10]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0xc]
jmp 0x43ed27
sub esp, 4
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x50]
push 0
push dword [ebp + 0x10]
call fcn.00441e43
add esp, 0xc
mov al, byte [esp + 0x64]
cmp al, 0x14
je 0x43d782
jmp 0x43f536
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xc0]
add eax, 0xc
test ecx, ecx
je 0x43d782
cmp dword [eax - 0xc], 0
jne 0x43ee20
mov esi, dword [eax - 4]
mov edi, dword [eax]
mov dword [esp + 0xc0], ecx
mov ecx, ebx
mov edx, esi
push edi
mov ebx, eax
call fcn.00421292
mov ecx, dword [esp + 0xc4]
add esp, 4
test al, al
mov eax, ebx
mov ebx, dword [ebp + 0x10]
je 0x43effc
add eax, 0x10
add ecx, 0xfffffff0
jmp 0x43ede3
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x128]
push edi
push esi
push dword [ebp + 0x10]
jmp 0x43e607
mov edi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc0], str.ereas
mov dword [esp + 0x34], 3
jmp 0x43e07d
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x128]
push esi
push edi
jmp 0x43dc23
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
mov edx, edi
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [esp + 0x4c]
mov ecx, eax
mov edx, esi
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
push dword [esp + 0x58]
call fcn.0043c1c7
add esp, 8
jmp 0x43e4f3
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x20]
mov edx, dword [esp + 8]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x14]
movq qword [esp + 0x100], xmm0
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
lea eax, [esp + 0x104]
push eax
push 0x5484ac
call fcn.00441ca1
add esp, 0xc
jmp 0x43e508
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x20]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc0], edx
push dword [esp + 0x54]
call fcn.004b3330
add esp, 4
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x43ef4b
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
xor edx, edx
mov ecx, edi
call fcn.00480164
mov ebx, eax
mov dword [esp + 0x18], edx
push edi
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], edi
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
lea eax, [esp + 0x3c]
push eax
push 0x5484ac
call fcn.00441ca1
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x43efd1
cmp dword [esp + 0x24], 0
je 0x43efd1
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x10], 0
mov esi, dword [esp + 0x9c]
je 0x43e50f
push dword [esp + 0xc0]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x43e50f
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x4c]
push edi
push esi
push ebx
jmp 0x43edbc
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x24]
mov edx, edi
push 0
push ebx
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [esp + 0x20]
mov ecx, eax
mov edx, esi
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
call fcn.0043c1c7
add esp, 8
cmp dword [esp + 0x24], 0
je 0x43f069
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov esi, dword [esp + 0x10]
jmp 0x43ecce
mov eax, dword [esp + 0x40]
movq xmm0, qword [esp + 0x38]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x14]
movq qword [esp + 0x240], xmm0
mov edx, esi
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
lea eax, [esp + 0x244]
push eax
push 0x5485a4
call fcn.00441ca1
add esp, 0xc
jmp 0x43eccb
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
push dword [esp + 0x28]
call fcn.004b3330
add esp, 4
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x43f0fa
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
xor edx, edx
mov ecx, ebx
call fcn.00480164
mov edi, eax
mov dword [esp + 0x18], edx
push ebx
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x100], edi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x108], ebx
mov edx, esi
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
lea eax, [esp + 0x104]
push eax
push 0x5485a4
call fcn.00441ca1
add esp, 0xc
mov eax, dword [esp + 0x38]
test eax, eax
je 0x43f18b
cmp dword [esp + 0x3c], 0
je 0x43f18b
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 8], 0
mov ebx, dword [ebp + 0x10]
je 0x43ecce
push dword [esp + 0xc]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x43ecce
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x50]
mov edx, edi
push 0
push dword [ebp + 0x10]
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 8]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x128]
push eax
push dword [esp + 0x58]
push esi
push 0x41f6be
push fcn.0041f223
call fcn.0043fcb4
add esp, 0x14
jmp 0x43e4f3
sub esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x24]
mov edx, edi
push 0
push ebx
call fcn.0043bc5d
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
mov ecx, eax
mov edx, esi
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, 2
cmovb eax, ecx
lea ecx, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
push ebx
push 0x41e304
push fcn.0041ded9
call fcn.0043fcb4
add esp, 0x14
jmp 0x43ecb6
mov eax, dword [esp + 0xe4]
mov esi, dword [eax]
sub esp, 4
lea edi, [esp + 0x7c]
mov edx, esi
mov ecx, edi
push 0
push ebx
call fcn.00441e43
add esp, 0xc
mov al, byte [edi + 0x18]
cmp al, 0x14
je 0x43f432
jmp 0x43f579
lea edx, [esp + 0x4c]
xor eax, eax
lea esi, [esp + 0x128]
mov dword [edx], 1
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov ecx, esi
push eax
push dword [esp + 0x10]
push 0x548cb8
call fcn.0042a2b1
add esp, 0xc
mov al, byte [esi + 0x18]
cmp al, 0x14
jne 0x43f390
mov edx, dword [esp + 0x4c]
lea esi, [esp + 0x128]
mov ecx, esi
push dword [esp + 0x54]
call fcn.0041b940
add esp, 4
mov edi, dword [esi]
test edi, edi
je 0x43f49d
mov ebx, dword [esp + 0x12c]
mov esi, dword [esp + 0x130]
jmp 0x43f4ca
sub esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x50]
mov edx, esi
push 0
push ebx
call fcn.0043bc5d
add esp, 0xc
lea eax, [esp + 0x4c]
mov ebx, 2
lea edx, [esp + 0x128]
mov edi, dword [eax]
mov eax, dword [esi]
mov ecx, eax
shr ecx, 0x17
and cl, 1
bt eax, 0x19
movzx eax, cl
mov ecx, dword [esp + 0x98]
cmovae ebx, eax
push ebx
lea esi, [esp + 0x50]
push dword [esi + 8]
push edi
push 0x41f6be
push fcn.0041f223
call fcn.0043fcb4
add esp, 0x14
cmp dword [esi + 4], 0
je 0x43f37b
push edi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea eax, [esp + 0x128]
push eax
call fcn.0041f1e7
add esp, 4
jmp 0x43f5bf
movq xmm0, qword [esp + 0x138]
mov edx, dword [esp + 0x98]
movsd xmm2, qword [esp + 0x128]
movq xmm1, qword [esp + 0x130]
movzx ecx, word [esp + 0x141]
mov ah, byte [esp + 0x143]
movq qword [edx + 0x10], xmm0
movq qword [edx + 8], xmm1
movsd qword [edx], xmm2
mov word [edx + 0x19], cx
mov byte [edx + 0x1b], ah
mov byte [edx + 0x18], al
jmp 0x43f4fa
movsd xmm0, qword [esp + 0x138]
mov edx, dword [esp + 0x98]
movsd xmm2, qword [esp + 0x128]
movsd xmm1, qword [esp + 0x130]
movzx ecx, word [esp + 0x141]
movsd qword [edx + 0x10], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
mov word [edx + 0x19], cx
mov cl, byte [esp + 0x143]
jmp 0x43f5b9
mov eax, dword [esp + 0xe4]
mov ebx, dword [ebp + 0x10]
mov esi, dword [eax]
lea edi, [esp + 0x128]
mov edx, esi
mov ecx, edi
push 0
push str.failed_to_write_whole_buffer
call fcn.00442433
add esp, 8
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
call fcn.00463a62
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov ecx, dword [esp + 0x98]
mov dword [ebx + 0x2c], eax
movsd qword [ebx + 0x24], xmm0
mov byte [ecx + 0x18], 0x14
jmp 0x43f5bf
movq xmm0, qword [esp + 0x138]
movsd xmm2, qword [esp + 0x128]
movq xmm1, qword [esp + 0x130]
lea edx, [esp + 0x141]
jmp 0x43f54c
mov esi, dword [esp + 0x130]
mov eax, dword [esp + 0x12c]
xor edx, edx
mov ecx, esi
mov dword [esp + 8], eax
call fcn.00480164
mov edi, eax
mov ebx, edx
push esi
push dword [esp + 0xc]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x98]
movzx eax, word [esp + 0x128]
mov dl, byte [esp + 0x12a]
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 + 0x50], 0
je 0x43f5bf
push dword [esp + 0x4c]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
jmp 0x43f5bf
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0x78]
push ebx
push edi
push esi
call fcn.0043fffb
add esp, 0xc
jmp 0x43d6e5
movq xmm0, qword [esp + 0x5c]
movsd xmm2, qword [esp + 0x4c]
movq xmm1, qword [esp + 0x54]
lea edx, [esp + 0x65]
movq qword [esp + 0x88], xmm0
movq qword [esp + 0x80], xmm1
movsd qword [esp + 0x78], xmm2
movzx ecx, word [edx]
mov dl, byte [edx + 2]
mov word [esp + 0x91], cx
mov byte [esp + 0x93], dl
movsd xmm0, qword [esp + 0x88]
mov edx, dword [esp + 0x98]
movsd xmm2, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
movzx ecx, word [esp + 0x91]
movsd qword [edx + 0x10], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
mov word [edx + 0x19], cx
mov cl, byte [esp + 0x93]
mov byte [edx + 0x1b], cl
mov byte [edx + 0x18], al
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
call fcn.00463a62
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x5482d0
mov edx, 0x39
push 0x548f14
jmp 0x43f605
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 0x548ef4
jmp 0x43f605
mov ecx, 0x5482d0
mov edx, 0x39
push 0x548f24
call fcn.00445340
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 0x548f04
jmp 0x43f62f
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x548ecc
call fcn.00448d20
jmp 0x43f60a
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x548f3c
jmp 0x43f62f
mov ecx, str.unexpected_invalid_UTF_8_code_point
mov edx, 0x23
push 0x548f4c
jmp 0x43f62f