Function at 0x43b9a3
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x180
xor eax, eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], 0xf
mov byte [esp + 0x164], 0
mov dword [esp + 0xa8], 0xfdcff5d7
mov dword [esp + 0xac], 0xfedd81cd
mov dword [esp + 0xb0], 0xc4f5f1c4
mov word [esp + 0xb4], 0xc2f4
mov byte [esp + 0xb6], 0x68
mov word [esp + 0xb7], 0
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x43bc2d
mov dl, byte [esp + eax + 0xa8]
movzx edi, dl
lea ebx, [ecx + 1]
cmp esi, ebx
jae 0x43baac
cmp ecx, eax
ja 0x43bc38
lea edx, [esi + ecx]
cmp edx, eax
jbe 0x43babf
cmp esi, ebx
mov ebx, esi
je 0x43bbb0
mov ebx, ecx
mov ecx, edi
lea edi, [ebx + 2]
cmp esi, edi
jne 0x43bb59
lea esi, [eax - 0x1a0e7a4c]
mov edi, ecx
add ecx, eax
add ecx, 0xe5f185b4
and esi, edi
add esi, esi
sub ecx, esi
add cl, 0x14
lea esi, [eax + 0x2a9f0879]
mov dword [esp + 8], ebx
lea ebx, [eax + edi]
add ebx, 0x2a9f0879
and esi, edi
add esi, esi
sub ebx, esi
add bl, cl
add bl, 0xb1
mov byte [esp + eax + 0xa8], bl
mov ebx, ecx
mov ecx, dword [esp + 8]
jmp 0x43bbf7
je 0x43bb4d
lea edx, [ecx + 2]
cmp esi, edx
jne 0x43bade
mov ebx, ecx
mov ecx, edi
jmp 0x43bb1f
cmp edx, 4
je 0x43bae9
cmp esi, ebx
je 0x43bb91
lea ebx, [ecx + 2]
cmp esi, ebx
jne 0x43bbb5
mov ebx, ecx
jmp 0x43bbb0
lea edx, [ecx + 3]
cmp esi, edx
jne 0x43bb86
mov dword [esp + 8], esi
mov esi, ecx
mov ecx, edi
lea edi, [eax + 0x6dc939b]
lea edx, [ecx + eax]
add edx, 0x6dc939b
and edi, ecx
add edi, edi
sub edx, edi
add dl, 0xc3
mov byte [esp + eax + 0xa8], dl
not esi
add esi, eax
movzx eax, dl
sub esi, eax
mov eax, esi
mov esi, dword [esp + 8]
lea edi, [eax + 0x74fb592c]
lea edx, [eax + ecx]
add edx, 0x74fb592c
and edi, ecx
add edi, edi
sub edx, edi
add dl, 0xcc
mov byte [esp + eax + 0xa8], dl
sub eax, esi
inc esi
mov dl, byte [esp + eax + 0xa6]
add eax, 0xfffffffe
mov ecx, ebx
movzx edx, dl
add edx, ecx
add eax, edx
jmp 0x43bc00
mov edi, esi
lea edx, [ebx + 3]
cmp esi, edx
jne 0x43ba12
mov esi, ebx
lea edx, [eax - 0x61936408]
lea ebx, [eax + ecx]
add ebx, 0x9e6c9bf8
and edx, ecx
add edx, edx
sub ebx, edx
add bl, 0x38
mov edx, edi
mov ecx, esi
jmp 0x43bbf7
lea edx, [ecx + 8]
cmp esi, edx
jne 0x43ba3b
lea edx, [eax + 0x4e617d57]
lea ecx, [edi + eax]
add ecx, 0x4e617d57
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x9f
mov byte [esp + eax + 0xa8], cl
dec eax
mov ecx, ebx
jmp 0x43bc00
lea ebx, [ecx + 3]
cmp esi, ebx
jne 0x43bbd6
lea esi, [eax - 0x757734c9]
lea ebx, [eax + edi]
add ebx, 0x8a88cb37
and esi, edi
add esi, esi
sub ebx, esi
add bl, 0x7f
jmp 0x43bbf7
lea edx, [ecx + 5]
cmp esi, edx
jne 0x43bc0c
lea edx, [eax + 0x66c65659]
lea ebx, [eax + edi]
add ebx, 0x66c65659
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x91
mov edx, esi
movzx esi, bl
not esi
add eax, esi
mov esi, edx
inc eax
cmp eax, 0x11
jb 0x43ba22
jmp 0x43bc34
lea ebx, [eax + 0x6e1ec591]
lea edx, [eax + edi]
add edx, 0x6e1ec591
and ebx, edi
add ebx, ebx
sub edx, ebx
add dl, 9
mov byte [esp + eax + 0xa8], dl
jmp 0x43bc00
mov eax, 0xcb82fd
jmp 0x43bc3d
xor eax, eax
jmp 0x43bc3d
mov eax, 0x16cbd6c
lea esi, [esp + eax]
add esi, 0xa8
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x10]
cmp dword [edx + 0x14], 0x10
jb 0x43bc60
mov edx, dword [ebp + 8]
mov edx, dword [edx]
push eax
push esi
push 0
push ecx
push edx
call fcn.00452a54
add esp, 0x14
cmp eax, 0xffffffff
je 0x43bf65
movaps xmm0, xmmword [0x473610]
movups xmmword [esp + 0xa8], xmm0
mov word [esp + 0xb8], 0xe58a
xorps xmm0, xmm0
movups xmmword [esp + 0xba], xmm0
xor eax, eax
mov dword [esp + 0xcb], eax
mov dword [esp + 0xc7], eax
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x43c2e0
mov bl, byte [esp + eax + 0xa8]
movzx edx, bl
mov dword [esp + 8], edx
lea edi, [ecx + 1]
cmp esi, edi
jae 0x43bd25
cmp ecx, eax
ja 0x43c2fc
lea edx, [ecx + 5]
cmp esi, edx
jae 0x43bd5e
lea ebx, [esi + ecx]
cmp ebx, eax
jbe 0x43bd82
lea edx, [ecx + 6]
cmp esi, edx
je 0x43bedc
lea edx, [ecx + 3]
cmp esi, edx
jne 0x43bcab
lea edx, [eax - 0x6eae0f22]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x9151f0de
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xee
jmp 0x43be91
je 0x43bdeb
lea edx, [ecx + 3]
cmp esi, edx
je 0x43bd87
lea edx, [ecx + 4]
cmp esi, edx
jne 0x43be3f
lea edx, [eax + 0x304236ff]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x304236ff
and edx, edi
add edx, edx
sub ebx, edx
add bl, 7
jmp 0x43be91
cmp esi, edi
je 0x43beb9
mov dword [esp + 0xc], esi
lea esi, [ecx + 3]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
jne 0x43be9c
mov edi, ecx
jmp 0x43bedc
cmp ebx, 0x2a
jne 0x43bdf5
mov dword [esp + 0xc], esi
lea esi, [eax + 0x610fb9df]
mov ebx, dword [esp + 8]
lea edx, [ebx + eax]
add edx, 0x610fb9df
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0xe7
mov byte [esp + eax + 0xa8], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov ecx, edi
lea esi, [eax + 0x36e7333c]
lea edx, [eax + ebx]
add edx, 0x36e7333c
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0x5c
mov byte [esp + eax + 0xa8], dl
mov esi, dword [esp + 0xc]
sub eax, esi
inc esi
mov bl, byte [esp + eax + 0xa6]
add eax, 0xfffffffe
movzx edx, bl
add edx, ecx
jmp 0x43be98
cmp esi, edi
je 0x43beb9
mov dword [esp + 0xc], esi
lea esi, [ecx + 2]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
je 0x43bedc
lea esi, [ecx + 3]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
jne 0x43bf04
lea edx, [eax - 0x5cec49ef]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xa313b611
and edx, edi
mov byte [esp + 0x10], 0x89
jmp 0x43be64
lea edx, [ecx + 5]
cmp esi, edx
jne 0x43beae
mov dword [esp + 0xc], esi
lea edx, [eax - 0x240ed647]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xdbf129b9
and edx, edi
mov byte [esp + 0x10], 0xf1
add edx, edx
sub ebx, edx
add bl, byte [esp + 0x10]
lea esi, [eax - 0x4a9f38db]
lea edx, [edi + eax]
add edx, 0xb560c725
and esi, edi
add esi, esi
sub edx, esi
add dl, bl
add dl, 0xfd
mov byte [esp + eax + 0xa8], dl
mov esi, dword [esp + 0xc]
add esi, ecx
movzx edx, bl
not edx
add eax, edx
jmp 0x43bedf
lea esi, [ecx + 2]
cmp dword [esp + 0xc], esi
jne 0x43beee
mov ebx, dword [esp + 8]
jmp 0x43bdbb
lea edx, [ecx + 9]
cmp esi, edx
jne 0x43bcd8
lea edx, [eax + 0x9b1d46b]
mov ebx, dword [esp + 8]
lea ecx, [eax + ebx]
add ecx, 0x9b1d46b
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0x13
mov byte [esp + eax + 0xa8], cl
dec eax
mov ecx, edi
inc eax
cmp eax, 0x27
jb 0x43bcbb
jmp 0x43c2e7
lea esi, [ecx + 8]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
jne 0x43bce7
jmp 0x43bdeb
cmp esi, edx
jne 0x43bf29
lea edx, [eax - 0x58e647b]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xfa719b85
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x5d
jmp 0x43be93
lea edx, [ecx + 4]
cmp esi, edx
je 0x43bd87
cmp ecx, 3
ja 0x43beb9
lea esi, [eax - 0x2a2886a3]
mov edi, dword [esp + 8]
lea edx, [eax + edi]
add edx, 0xd5d7795d
and esi, edi
add esi, esi
sub edx, esi
mov esi, dword [esp + 0xc]
add dl, 0x75
mov byte [esp + eax + 0xa8], dl
jmp 0x43bedf
movaps xmm0, xmmword [0x473630]
movups xmmword [esp + 0x108], xmm0
xor eax, eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11b], eax
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x43c2eb
mov bl, byte [esp + eax + 0x108]
movzx edx, bl
mov dword [esp + 8], edx
lea edi, [ecx + 1]
cmp esi, edi
jae 0x43c015
cmp ecx, eax
ja 0x43c9ba
lea edx, [ecx + 4]
cmp esi, edx
jae 0x43c051
mov dword [esp + 0x14], edx
lea edx, [esi + ecx]
cmp edx, eax
mov dword [esp + 0x10], edx
jbe 0x43c09a
lea edx, [ecx + 8]
cmp esi, edx
je 0x43c114
lea edx, [ecx + 0x10]
cmp esi, edx
je 0x43c19e
lea edx, [ecx + 0xa]
cmp esi, edx
jne 0x43bf84
lea edx, [eax - 0x1660cad4]
mov esi, dword [esp + 8]
lea ebx, [eax + esi]
add ebx, 0xe99f352c
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xcc
jmp 0x43c216
jne 0x43c01e
mov edi, ecx
jmp 0x43c104
lea edx, [ecx + 2]
cmp esi, edx
je 0x43c09f
lea edx, [ecx + 4]
cmp esi, edx
jne 0x43c139
lea edx, [eax + 0x232caf72]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x232caf72
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xe2
jmp 0x43c21a
cmp esi, edi
je 0x43c114
mov dword [esp + 0xc], esi
lea esi, [ecx + 2]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
je 0x43c19e
lea esi, [ecx + 3]
cmp dword [esp + 0xc], esi
jne 0x43c1c9
lea edi, [eax - 0x55c558e6]
mov edx, dword [esp + 8]
lea ebx, [eax + edx]
add ebx, 0xaa3aa71a
and edi, edx
mov byte [esp + 0x10], 0x4a
jmp 0x43c15e
cmp edx, 9
jne 0x43c110
mov dword [esp + 0xc], esi
lea esi, [eax - 0x7a42130a]
mov ebx, dword [esp + 8]
lea edx, [eax + ebx]
add edx, 0x85bdecf6
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0x46
mov byte [esp + eax + 0x108], dl
movzx edx, dl
not ecx
add ecx, eax
mov eax, ecx
sub eax, edx
lea esi, [eax - 0x59e7c6a8]
and esi, ebx
add ebx, eax
add ebx, 0xa6183958
add esi, esi
sub ebx, esi
mov esi, dword [esp + 0xc]
add bl, 0x98
mov byte [esp + eax + 0x108], bl
add edx, esi
sub ecx, edx
inc esi
mov bl, byte [esp + ecx + 0x106]
add ecx, 0xfffffffe
mov eax, ecx
movzx ecx, bl
add ecx, edi
add eax, ecx
jmp 0x43c1a1
cmp esi, edi
jne 0x43c191
lea edx, [eax + 0x454bb6e]
mov ebx, dword [esp + 8]
lea ecx, [eax + ebx]
add ecx, 0x454bb6e
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xfe
mov byte [esp + eax + 0x108], cl
jmp 0x43c1a0
lea edx, [ecx + 3]
cmp esi, edx
jne 0x43c1b2
mov dword [esp + 0xc], esi
lea edi, [eax - 0x5b6a1f06]
mov edx, dword [esp + 8]
lea ebx, [eax + edx]
add ebx, 0xa495e0fa
and edi, edx
mov byte [esp + 0x10], 0x2a
add edi, edi
sub ebx, edi
lea esi, [eax + 0x45095432]
and esi, edx
add edx, eax
add edx, 0x45095432
add esi, esi
sub edx, esi
add bl, byte [esp + 0x10]
add dl, bl
add dl, 0xa2
mov byte [esp + eax + 0x108], dl
mov esi, dword [esp + 0xc]
add esi, ecx
jmp 0x43c21a
lea edx, [ecx + 2]
mov dword [esp + 0x18], edx
cmp esi, dword [esp + 0x18]
jne 0x43c1f4
mov edi, ecx
dec eax
mov ecx, edi
inc eax
cmp eax, 0x17
jb 0x43bf94
jmp 0x43c2f5
lea edx, [ecx + 6]
cmp esi, edx
je 0x43c1a0
lea edx, [ecx + 9]
cmp esi, edx
jne 0x43bfb1
jmp 0x43c114
lea esi, [ecx + 5]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
jne 0x43c223
lea edx, [eax + 0x2ba3d8a2]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x2ba3d8a2
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x92
jmp 0x43c21a
cmp esi, dword [esp + 0x14]
jne 0x43c239
lea edx, [eax - 0x6f4d0d2]
mov esi, dword [esp + 8]
lea ebx, [eax + esi]
add ebx, 0xf90b2f2e
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xbe
mov esi, dword [esp + 0x10]
movzx edx, bl
not edx
add eax, edx
jmp 0x43c1a3
lea esi, [ecx + 7]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
jne 0x43bfc4
jmp 0x43c09f
lea edx, [ecx + 5]
cmp esi, edx
jne 0x43c25e
lea edx, [eax + 0x39bfc7f2]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x39bfc7f2
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x62
jmp 0x43c21a
lea edx, [ecx + 7]
cmp esi, edx
je 0x43c09f
lea edx, [ecx + 6]
cmp esi, edx
je 0x43c017
cmp esi, dword [esp + 0x18]
jbe 0x43c29c
mov dword [esp + 0xc], esi
lea esi, [eax + 0x5cec7764]
mov ebx, dword [esp + 8]
lea edx, [eax + ebx]
add edx, 0x5cec7764
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0x44
jmp 0x43c2c7
lea edx, [ecx + 3]
cmp esi, edx
je 0x43c19e
mov dword [esp + 0xc], esi
lea esi, [eax + 0x205a4c62]
mov ebx, dword [esp + 8]
lea edx, [eax + ebx]
add edx, 0x205a4c62
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0x52
cmp ecx, 4
mov esi, dword [esp + 0xc]
ja 0x43c114
mov byte [esp + eax + 0x108], dl
jmp 0x43c1a3
mov eax, 0xdd03d9
jmp 0x43c301
xor eax, eax
jmp 0x43c301
mov eax, 0x1459e3a
jmp 0x43c9bf
xor eax, eax
jmp 0x43c9bf
mov eax, 0x1458a7c
add eax, esp
add eax, 0xa8
mov dword [esp + 0x14], eax
movdqa xmm0, xmmword [str.1_f__t_n]
movdqu xmmword [esp + 0x50], xmm0
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x65], eax
mov dword [esp + 0x61], eax
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x43c555
mov bl, byte [esp + eax + 0x50]
movzx edx, bl
lea edi, [ecx + 1]
cmp esi, edi
jae 0x43c379
cmp ecx, eax
ja 0x43c560
mov dword [esp + 8], edi
lea edi, [esi + ecx]
cmp edi, eax
jbe 0x43c3b2
lea edi, [ecx + 0xa]
cmp esi, edi
je 0x43c451
lea edx, [ecx + 0x10]
cmp esi, edx
je 0x43c477
jmp 0x43c328
je 0x43c477
mov dword [esp + 8], edi
lea edi, [ecx + 2]
cmp esi, edi
je 0x43c426
lea edi, [ecx + 3]
cmp esi, edi
jne 0x43c48d
lea edi, [eax + 0x97]
and edi, edx
add edi, edi
add edx, eax
sub edx, edi
add edx, 0xee09bc76
jmp 0x43c4e3
mov dword [esp + 0xc], edi
lea edi, [ecx + 6]
mov dword [esp + 0x10], edi
cmp esi, edi
jae 0x43c415
mov dword [esp + 0x10], esi
lea ebx, [eax - 0x3ae27961]
lea esi, [eax + edx]
add esi, 0xc51d869f
and ebx, edx
add ebx, ebx
sub esi, ebx
mov ebx, esi
add bl, 0xa7
cmp dword [esp + 0xc], 0x28
mov esi, dword [esp + 0x10]
je 0x43c426
cmp esi, dword [esp + 8]
jne 0x43c4b4
lea edi, [eax + 0x4ee129f9]
lea ecx, [eax + edx]
add ecx, 0x4ee129f9
and edi, edx
add edi, edi
sub ecx, edi
add cl, 0x31
mov byte [esp + eax + 0x50], cl
jmp 0x43c4bb
cmp esi, dword [esp + 8]
je 0x43c477
lea ebx, [ecx + 3]
cmp esi, ebx
jne 0x43c4c1
lea edi, [eax + 0x63574475]
lea ebx, [edx + eax]
add ebx, 0x63574475
and edi, edx
add edi, edi
sub ebx, edi
add bl, 0xcd
mov byte [esp + eax + 0x50], bl
not ecx
add ecx, eax
movzx eax, bl
sub ecx, eax
mov eax, ecx
mov ecx, dword [esp + 8]
lea edi, [eax + 0x2874cb14]
lea ebx, [eax + edx]
add ebx, 0x2874cb14
and edi, edx
add edi, edi
sub ebx, edi
add bl, 0x74
mov byte [esp + eax + 0x50], bl
sub eax, esi
inc esi
mov bl, byte [esp + eax + 0x4e]
add eax, 0xfffffffe
movzx edx, bl
add edx, ecx
add eax, edx
inc eax
cmp eax, 0x19
jb 0x43c338
jmp 0x43c55c
lea edi, [ecx + 5]
cmp esi, edi
mov edi, dword [esp + 8]
jne 0x43c34e
lea edi, [eax + 0xd5]
and edi, edx
add edi, edi
add edx, eax
sub edx, edi
add edx, 0x7844c902
add esi, ecx
jmp 0x43c4e3
lea edi, [ecx + 2]
cmp esi, edi
jne 0x43c4cb
mov ecx, dword [esp + 8]
jmp 0x43c4c8
lea ebx, [ecx + 2]
cmp esi, ebx
jne 0x43c4ed
dec eax
jmp 0x43c47e
lea edi, [ecx + 5]
cmp esi, edi
jne 0x43c51a
lea edi, [eax + 0x57]
and edi, edx
add edi, edi
add edx, eax
sub edx, edi
add edx, 0x356b63f6
not edx
or edx, 0xffffff00
jmp 0x43c47c
cmp esi, dword [esp + 0x10]
je 0x43c3f4
mov dword [esp + 0x10], esi
lea ebx, [eax + 0x2b6c0b0b]
lea esi, [eax + edx]
add esi, 0x2b6c0b0b
and ebx, edx
add ebx, ebx
sub esi, ebx
mov ebx, esi
add bl, 0xb3
jmp 0x43c3df
lea edi, [ecx + 3]
cmp esi, edi
je 0x43c426
jbe 0x43c541
lea edi, [eax + 0x23751eee]
lea ebx, [eax + edx]
add ebx, 0x23751eee
and edi, edx
add edi, edi
sub ebx, edi
add bl, 0x7e
jmp 0x43c54c
lea edi, [ecx + 8]
cmp esi, edi
je 0x43c3f4
mov byte [esp + eax + 0x50], bl
jmp 0x43c47e
mov eax, 0xb3f973
jmp 0x43c565
xor eax, eax
jmp 0x43c565
mov eax, 0x15672d4
add eax, esp
add eax, 0x50
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 4
mov esi, eax
xor eax, eax
lea edi, [esp + 0x108]
mov dword [edi], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.00450e50
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, dword [edi + 0x10]
mov esi, dword [edi + 0x14]
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
jae 0x43c69e
mov ecx, closesocket
sub ecx, ebx
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 8], closesocket
mov dword [esp + 0x10], eax
mov edi, eax
add edi, ebx
mov ecx, edi
or ecx, 0xf
mov eax, closesocket
mov dword [esp + 0xc], edi
js 0x43c61e
mov edx, esi
shr edx, 1
mov edi, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, edi
mov esi, edi
mov edi, dword [esp + 0xc]
jb 0x43c61e
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x43cf10
mov dword [esp + 8], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, dword [esp + 8]
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], ecx
cmp esi, 0x10
jb 0x43c6cd
mov ecx, dword [esp + 0x108]
push ebx
mov dword [esp + 0xc], ecx
push ecx
push eax
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, edi
push dword [esp + 0x10]
push dword [esp + 0x18]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, edi
mov eax, dword [esp + 0xc]
mov byte [edi + eax], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x43c6fa
mov ecx, dword [esp + 8]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add esi, 0x24
mov ecx, esi
jmp 0x43c6fe
mov ecx, esi
mov esi, eax
add esi, ebx
mov dword [esp + 0x118], esi
cmp ecx, 0x10
jb 0x43c6b7
mov edi, dword [esp + 0x108]
add ebx, edi
push eax
push dword [esp + 0x18]
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x43c711
lea ecx, [esp + 0x108]
push ebx
push ecx
push eax
mov esi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, esi
push dword [esp + 0x10]
push dword [esp + 0x18]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x43c70a
mov eax, dword [esp + 8]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, ebx
mov dword [esp + 0x108], esi
mov ecx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x118]
movsd qword [esp + 0x130], xmm0
movdqu xmm0, xmmword [esp + 0x108]
movdqa xmmword [esp + 0x120], xmm0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
mov byte [esp + 0x108], 0
mov edx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x43c761
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x130]
mov esi, dword [esp + 0x134]
mov eax, esi
sub eax, ebx
cmp eax, edx
jae 0x43c872
mov dword [esp + 8], closesocket
mov eax, closesocket
sub eax, ebx
cmp eax, edx
jb 0x445bd1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], edx
lea ecx, [ebx + edx]
mov dword [esp + 0x14], ecx
or ecx, 0xf
mov eax, closesocket
js 0x43c7dc
mov edx, esi
shr edx, 1
mov edi, edx
xor edi, 0x7fffffff
cmp edi, esi
mov dword [esp + 8], closesocket
jb 0x43c7dc
add edx, esi
cmp ecx, edx
cmovae edx, ecx
mov dword [esp + 8], edx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x43cf2e
push eax
call fcn.0040130b
add esp, 4
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x14]
mov dword [esp + 0x130], edi
mov eax, dword [esp + 8]
mov dword [esp + 0x134], eax
cmp esi, 0x10
jb 0x43c8bd
mov eax, dword [esp + 0x120]
push ebx
mov dword [esp + 0x20], eax
push eax
push dword [esp + 0x14]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, dword [esp + 0xc]
push dword [esp + 0x18]
push dword [esp + 0x14]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov byte [eax + edi], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
mov ebx, edi
jb 0x43c8f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add esi, 0x24
mov ecx, esi
mov edi, dword [esp + 0xc]
jmp 0x43c8f8
lea edi, [ebx + edx]
mov dword [esp + 0x130], edi
cmp esi, 0x10
jb 0x43c88a
mov esi, dword [esp + 0x120]
jmp 0x43c891
lea esi, [esp + 0x120]
add ebx, esi
push edx
push ecx
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + edi], 0
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x130]
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
jmp 0x43c909
lea eax, [esp + 0x120]
push ebx
push eax
mov esi, dword [esp + 0x14]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, esi
push dword [esp + 0x18]
push dword [esp + 0x14]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + edi], 0
mov ebx, edi
mov edi, esi
jmp 0x43c902
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
push ecx
push eax
call fcn.00471733
add esp, 8
mov dword [esp + 0x120], edi
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
mov byte [esp + 0x120], 0
mov eax, dword [esp + 0x178]
cmp eax, 0x10
jb 0x43c967
mov ecx, dword [esp + 0x164]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43c95d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
lea eax, [esp + 0x124]
mov dword [esp + 0x164], edi
movq xmm0, qword [eax]
movq qword [esp + 0x168], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x11c]
cmp eax, 0x10
jb 0x43d1e9
mov ecx, dword [esp + 0x108]
jmp 0x43d1bc
mov eax, 0x16b51d8
add eax, esp
add eax, 0x108
mov dword [esp + 0x14], eax
movdqa xmm0, xmmword [0x473640]
movdqu xmmword [esp + 0xa8], xmm0
xor eax, eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xb9], eax
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, esi
mov esi, dword [eax]
xor ebx, ebx
cmp ecx, ebx
ja 0x43cd62
mov dl, byte [esp + ebx + 0xa8]
movzx edi, dl
lea eax, [esi + 1]
mov dword [esp + 8], eax
cmp ecx, eax
jae 0x43ca6b
cmp esi, ebx
ja 0x43cd6d
mov dword [esp + 0xc], edi
lea eax, [ecx + esi]
cmp eax, ebx
jbe 0x43caad
lea edi, [esi + 8]
cmp ecx, edi
je 0x43cc25
lea edi, [esi + 3]
cmp ecx, edi
jne 0x43cbd0
lea ecx, [ebx - 0x25c9c34]
mov edx, dword [esp + 0xc]
mov edi, eax
lea eax, [ebx + edx]
add eax, 0xfda363cc
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x6c
jmp 0x43cc74
jne 0x43ca74
mov eax, esi
jmp 0x43cb94
mov dword [esp + 0xc], edi
lea edi, [esi + 2]
cmp ecx, edi
je 0x43cb28
lea edi, [esi + 3]
cmp ecx, edi
jne 0x43cba6
lea edx, [ebx - 0x61cea81e]
mov edi, dword [esp + 0xc]
lea eax, [ebx + edi]
add eax, 0x9e3157e2
and edx, edi
add edx, edx
sub eax, edx
add al, 0xd2
jmp 0x43cbc9
lea edi, [esi + 9]
cmp ecx, edi
jae 0x43cb13
mov dword [esp + 0x10], eax
lea edi, [ebx - 0xade12ae]
mov eax, dword [esp + 0xc]
lea edx, [ebx + eax]
add edx, 0xf521ed52
and edi, eax
add edi, edi
sub edx, edi
add dl, 0xc2
mov eax, dword [esp + 0x10]
cmp eax, 9
je 0x43cb28
cmp ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
jne 0x43cbff
lea edx, [ebx - 0x5f598402]
mov esi, ecx
lea ecx, [edi + ebx]
add ecx, 0xa0a67bfe
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xe
mov byte [esp + ebx + 0xa8], cl
mov ecx, esi
jmp 0x43cc25
cmp ecx, dword [esp + 8]
je 0x43ca6d
lea edx, [esi + 2]
cmp ecx, edx
jne 0x43cc2c
lea edi, [ebx + 0x752e3146]
mov eax, esi
mov esi, dword [esp + 0xc]
lea edx, [esi + ebx]
add edx, 0x752e3146
and edi, esi
add edi, edi
sub edx, edi
add dl, 0x16
mov byte [esp + ebx + 0xa8], dl
movzx edx, dl
not eax
add eax, ebx
mov ebx, eax
sub ebx, edx
lea edi, [ebx + 0x6a501e98]
and edi, esi
mov dword [esp + 0x10], ecx
lea ecx, [ebx + esi]
add ecx, 0x6a501e98
add edi, edi
sub ecx, edi
add cl, 0xd8
mov byte [esp + ebx + 0xa8], cl
mov ecx, dword [esp + 0x10]
add edx, ecx
sub eax, edx
inc ecx
mov dl, byte [esp + eax + 0xa6]
add eax, 0xfffffffe
mov ebx, eax
mov eax, dword [esp + 8]
mov esi, ecx
movzx ecx, dl
add ecx, eax
add ebx, ecx
mov ecx, esi
mov esi, eax
jmp 0x43cc7d
lea edi, [esi + 4]
cmp ecx, edi
jne 0x43cc1a
lea edx, [ebx - 0x778acd7a]
mov edi, dword [esp + 0xc]
and edx, edi
lea eax, [ebx + edi]
add eax, 0x88753286
add edx, edx
sub eax, edx
add al, 0x56
add ecx, esi
mov edi, ecx
jmp 0x43cc74
lea edi, [esi + 6]
cmp ecx, edi
jne 0x43cc8c
mov edx, ecx
lea ecx, [ebx - 0x1818c190]
mov edi, esi
mov esi, dword [esp + 0xc]
lea eax, [ebx + esi]
add eax, 0xe7e73e70
and ecx, esi
mov esi, edi
add ecx, ecx
sub eax, ecx
add al, 0xf0
mov edi, edx
jmp 0x43cc74
lea edi, [esi + 2]
cmp ecx, edi
je 0x43cc21
lea edi, [esi + 3]
cmp ecx, edi
jne 0x43ccd3
mov dl, 0x4a
mov ecx, 0x1224f71a
jmp 0x43cc3e
lea edi, [esi + 7]
cmp ecx, edi
jne 0x43cc9e
mov dword [esp + 8], esi
dec ebx
mov esi, dword [esp + 8]
jmp 0x43cc7d
lea edx, [esi + 6]
cmp ecx, edx
mov dword [esp + 0x10], eax
jne 0x43ccb2
mov dl, 0x68
mov ecx, 0xcae434a8
mov edi, dword [esp + 0xc]
add ecx, ebx
lea eax, [ecx + edi]
and ecx, edi
add ecx, ecx
sub eax, ecx
add al, dl
lea ecx, [ebx - 0x7515a95e]
lea edx, [ebx + edi]
add edx, 0x8aea56a2
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, al
add dl, 0x92
mov byte [esp + ebx + 0xa8], dl
mov edi, dword [esp + 0x10]
movzx edx, al
not edx
add ebx, edx
mov ecx, edi
inc ebx
cmp ebx, 0x19
jb 0x43ca04
jmp 0x43cd69
lea edi, [esi + 2]
cmp ecx, edi
mov eax, esi
je 0x43cb94
jmp 0x43c9f2
lea edi, [esi + 8]
cmp ecx, edi
mov edi, dword [esp + 0xc]
jne 0x43ca21
jmp 0x43caeb
lea edi, [ebx + 0x1bc877ba]
mov eax, dword [esp + 0xc]
lea edx, [ebx + eax]
add edx, 0x1bc877ba
and edi, eax
add edi, edi
sub edx, edi
add dl, 0xea
jmp 0x43cad4
lea edi, [esi + 5]
cmp ecx, edi
jne 0x43ccf9
lea edx, [ebx - 0x1953539e]
mov edi, dword [esp + 0xc]
lea eax, [ebx + edi]
add eax, 0xe6acac62
and edx, edi
add edx, edx
sub eax, edx
add al, 0x52
jmp 0x43cbc9
lea eax, [esi + 6]
cmp ecx, eax
jbe 0x43cd26
lea edi, [ebx - 0x7b21fbbc]
mov edx, dword [esp + 0xc]
lea eax, [ebx + edx]
add eax, 0x84de0444
and edi, edx
add edi, edi
sub eax, edi
add al, 0x24
mov byte [esp + ebx + 0xa8], al
jmp 0x43cc7d
lea edi, [esi + 4]
cmp ecx, edi
jne 0x43cd4c
lea edx, [ebx + 0x18314978]
mov ecx, dword [esp + 0xc]
lea eax, [ebx + ecx]
add eax, 0x18314978
and edx, ecx
add edx, edx
sub eax, edx
add al, 0xb8
jmp 0x43cc70
cmp ecx, eax
mov edi, dword [esp + 0xc]
mov eax, edx
jne 0x43cd1a
mov dl, 0x3c
mov ecx, 0x275241c
jmp 0x43cc42
mov eax, 0xad606a
jmp 0x43cd72
xor eax, eax
jmp 0x43cd72
mov eax, 0x14b7318
add eax, esp
add eax, 0xa8
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 4
mov esi, eax
xor eax, eax
lea edi, [esp + 0x120]
mov dword [edi], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.00450e50
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, dword [edi + 0x10]
mov esi, dword [edi + 0x14]
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
jae 0x43ceb4
mov ecx, closesocket
sub ecx, ebx
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 8], closesocket
mov dword [esp + 0x10], eax
mov edi, eax
add edi, ebx
mov ecx, edi
or ecx, 0xf
mov eax, closesocket
mov dword [esp + 0xc], edi
js 0x43ce2d
mov edx, esi
shr edx, 1
mov edi, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, edi
mov esi, edi
mov edi, dword [esp + 0xc]
jb 0x43ce2d
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x445b6c
mov dword [esp + 8], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, dword [esp + 8]
mov dword [esp + 0x130], edi
mov dword [esp + 0x134], ecx
cmp esi, 0x10
jb 0x43cee3
mov ecx, dword [esp + 0x120]
push ebx
mov dword [esp + 0xc], ecx
push ecx
push eax
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, edi
push dword [esp + 0x10]
push dword [esp + 0x18]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, edi
mov eax, dword [esp + 0xc]
mov byte [edi + eax], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x43cf41
mov ecx, dword [esp + 8]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add esi, 0x24
mov ecx, esi
jmp 0x43cf45
mov ecx, esi
mov esi, eax
add esi, ebx
mov dword [esp + 0x130], esi
cmp ecx, 0x10
jb 0x43cecd
mov edi, dword [esp + 0x120]
add ebx, edi
push eax
push dword [esp + 0x18]
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x43cf58
lea ecx, [esp + 0x120]
push ebx
push ecx
push eax
mov esi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, esi
push dword [esp + 0x10]
push dword [esp + 0x18]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x43cf51
test eax, eax
je 0x445b95
push eax
mov dword [esp + 0xc], edx
call fcn.004716fe
mov ecx, dword [esp + 0xc]
add esp, 4
jmp 0x43c62b
test eax, eax
je 0x445b9f
push eax
call fcn.004716fe
jmp 0x43c7e2
mov eax, dword [esp + 8]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, ebx
mov dword [esp + 0x120], esi
mov ecx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x130]
movsd qword [esp + 0x60], xmm0
movdqu xmm0, xmmword [esp + 0x120]
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
mov byte [esp + 0x120], 0
mov edx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x43cfa2
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov eax, esi
sub eax, ebx
cmp eax, edx
jae 0x43d0a1
mov dword [esp + 8], closesocket
mov eax, closesocket
sub eax, ebx
cmp eax, edx
jb 0x445bd1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], edx
lea ecx, [ebx + edx]
mov dword [esp + 0x14], ecx
or ecx, 0xf
mov eax, closesocket
js 0x43d017
mov edx, esi
shr edx, 1
mov edi, edx
xor edi, 0x7fffffff
cmp edi, esi
mov dword [esp + 8], closesocket
jb 0x43d017
add edx, esi
cmp ecx, edx
cmovae edx, ecx
mov dword [esp + 8], edx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x445b86
push eax
call fcn.0040130b
add esp, 4
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x14]
mov dword [esp + 0x60], edi
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
cmp esi, 0x10
jb 0x43d0da
mov eax, dword [esp + 0x50]
push ebx
mov dword [esp + 0x20], eax
push eax
push dword [esp + 0x14]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, dword [esp + 0xc]
push dword [esp + 0x18]
push dword [esp + 0x14]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov byte [eax + edi], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
mov ebx, edi
jb 0x43d10a
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add esi, 0x24
mov ecx, esi
mov edi, dword [esp + 0xc]
jmp 0x43d112
lea edi, [ebx + edx]
mov dword [esp + 0x60], edi
cmp esi, 0x10
jb 0x43d0b3
mov esi, dword [esp + 0x50]
jmp 0x43d0b7
lea esi, [esp + 0x50]
add ebx, esi
push edx
push ecx
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + edi], 0
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
jmp 0x43d120
lea eax, [esp + 0x50]
push ebx
push eax
mov esi, dword [esp + 0x14]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, esi
push dword [esp + 0x18]
push dword [esp + 0x14]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + edi], 0
mov ebx, edi
mov edi, esi
jmp 0x43d11c
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
push ecx
push eax
call fcn.00471733
add esp, 8
mov dword [esp + 0x50], edi
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
mov byte [esp + 0x50], 0
mov eax, dword [esp + 0x178]
cmp eax, 0x10
jb 0x43d175
mov ecx, dword [esp + 0x164]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43d16b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
lea eax, [esp + 0x54]
mov dword [esp + 0x164], edi
movq xmm0, qword [eax]
movq qword [esp + 0x168], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x134]
cmp eax, 0x10
jb 0x43d1e9
mov ecx, dword [esp + 0x120]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43d1df
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
sub esp, 0xc
mov al, byte [esp + 0xb4]
mov byte [esp + 8], al
lea eax, [esp + 0x170]
mov dword [esp + 4], eax
lea esi, [esp + 0x5c]
mov dword [esp], esi
call fcn.00452893
add esp, 0xc
xor edi, edi
mov dword [esp + 0x108], edi
call fcn.0044d769
mov dword [esp + 0x10c], eax
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], 0xffff
cmp dword [esi + 0x14], 8
jb 0x43d242
mov esi, dword [esp + 0x50]
lea edi, [esp + 0xa8]
push 0xffffffffffffffff
push 3
push edi
push esi
call fcn.00471de2
lea ebx, [esp + 0x120]
mov dword [ebx + 8], eax
mov ecx, ebx
push edi
push eax
call fcn.0044e62a
mov esi, dword [ebx + 8]
call fcn.0044d769
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], eax
mov edi, dword [ebx]
test edi, edi
je 0x43d624
mov dword [esp + 0x108], 0
call fcn.0044d769
lea esi, [esp + 0x50]
mov ecx, esi
call fcn.0040d3aa
cmp edi, 1
je 0x43d635
sub esp, 0xc
mov al, byte [esp + 0x5c]
mov byte [esp + 8], al
lea eax, [esp + 0x170]
mov dword [esp + 4], eax
lea eax, [esp + 0xb4]
mov dword [esp], eax
call fcn.00452893
add esp, 0xc
mov edi, dword [ebp + 0x14]
cmp dword [edi + 0x14], 0x10
jb 0x43d2e1
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0xf
mov byte [esp + 0x50], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.00450e50
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
lea eax, [esp + 0x174]
push eax
call fcn.00410b77
add esp, 0x14
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jb 0x43d35e
mov ecx, dword [esp + 0x50]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x43d354
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
mov edi, dword [ebp + 0x14]
cmp dword [edi + 0x14], 0x10
jb 0x43d36c
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0xf
mov byte [esp + 0x50], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.00450e50
sub esp, 0x14
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 4], esi
lea eax, [esp + 0x178]
mov dword [esp], eax
call fcn.00421ed8
add esp, 0x14
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jb 0x43d3ef
mov ecx, dword [esp + 0x50]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x43d3e5
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
mov edi, dword [ebp + 0x14]
cmp dword [edi + 0x14], 0x10
jb 0x43d3fd
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0xf
mov byte [esp + 0x50], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.00450e50
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
lea eax, [esp + 0x174]
push eax
call fcn.0042754c
add esp, 0x14
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jb 0x43d47a
mov ecx, dword [esp + 0x50]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x43d470
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
mov edi, dword [ebp + 0x14]
cmp dword [edi + 0x14], 0x10
jb 0x43d488
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0xf
mov byte [esp + 0x50], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.00450e50
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
lea eax, [esp + 0x174]
push eax
call fcn.0042c344
add esp, 0x14
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jb 0x43d505
mov ecx, dword [esp + 0x50]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x43d4fb
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
mov edi, dword [ebp + 0x14]
cmp dword [edi + 0x14], 0x10
jb 0x43d513
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0xf
mov byte [esp + 0x50], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.00450e50
push dword [ebp + 0x18]
push esi
lea eax, [esp + 0x16c]
push eax
call fcn.00439867
add esp, 0xc
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jb 0x43d58a
mov ecx, dword [esp + 0x50]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x43d580
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
mov edi, dword [ebp + 0x14]
cmp dword [edi + 0x14], 0x10
jb 0x43d598
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0xf
mov byte [esp + 0x50], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.00450e50
sub esp, 0x14
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 4], esi
lea eax, [esp + 0x178]
mov dword [esp], eax
call fcn.0043226b
add esp, 0x14
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jb 0x43d61b
mov ecx, dword [esp + 0x50]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43d611
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
lea ecx, [esp + 0xa8]
jmp 0x43d630
test esi, esi
jne 0x445bf3
lea ecx, [esp + 0x50]
call fcn.0040d3aa
xor eax, eax
inc eax
mov dword [esp + 0x104], eax
lea eax, [esp + 0x52]
pxor xmm0, xmm0
movdqu xmmword [eax + 0xb], xmm0
movdqu xmmword [eax], xmm0
mov word [esp + 0x50], 0xde0
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x43d8e7
mov bl, byte [esp + eax + 0x50]
movzx edx, bl
lea edi, [ecx + 1]
cmp esi, edi
jae 0x43d6a8
cmp ecx, eax
ja 0x43d8f2
mov dword [esp + 8], edx
lea edx, [esi + ecx]
cmp edx, eax
jbe 0x43d71e
lea edx, [ecx + 0x10]
cmp esi, edx
je 0x43d828
lea edx, [ecx + 8]
cmp esi, edx
je 0x43d6b9
jmp 0x43d657
je 0x43d712
mov dword [esp + 8], edx
lea edx, [ecx + 3]
cmp esi, edx
jne 0x43d780
mov dword [esp + 0xc], edi
lea edx, [eax + 0x4c584472]
mov edi, dword [esp + 8]
lea ebx, [edi + eax]
add ebx, 0x4c584472
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xe2
mov byte [esp + eax + 0x50], bl
not ecx
add ecx, eax
movzx eax, bl
sub ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0xc]
lea edx, [eax + 0x113ec648]
lea ebx, [eax + edi]
add ebx, 0x113ec648
and edx, edi
add edx, edx
sub ebx, edx
add bl, 8
mov byte [esp + eax + 0x50], bl
sub eax, esi
inc esi
mov bl, byte [esp + eax + 0x4e]
add eax, 0xfffffffe
movzx edx, bl
add edx, ecx
add eax, edx
jmp 0x43d82b
mov dword [esp + 0x10], edx
lea edx, [ecx + 6]
cmp esi, edx
jae 0x43d7ae
mov dword [esp + 0xc], edi
lea edx, [eax - 0x3b197e2a]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xc4e681d6
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x26
mov edi, dword [esp + 0xc]
cmp esi, edi
mov edx, dword [esp + 8]
jne 0x43d7ca
mov ebx, edi
mov edi, edx
lea edx, [eax + 0x38be3d1a]
lea ecx, [edi + eax]
add ecx, 0x38be3d1a
and edx, edi
mov edi, ebx
add edx, edx
sub ecx, edx
add cl, 0x4a
mov byte [esp + eax + 0x50], cl
jmp 0x43d828
lea edx, [ecx + 5]
cmp esi, edx
jne 0x43d81f
lea edx, [eax + 0x75e79432]
mov edi, dword [esp + 8]
and edx, edi
lea ebx, [eax + edi]
add ebx, 0x75e79432
add edx, edx
sub ebx, edx
add bl, 0xa2
add esi, ecx
jmp 0x43d8a1
cmp esi, edi
je 0x43d712
lea edx, [ecx + 2]
cmp esi, edx
jne 0x43d84e
mov edi, dword [esp + 8]
jmp 0x43d6ec
lea edx, [ecx + 2]
cmp esi, edx
je 0x43d828
lea edx, [ecx + 3]
cmp esi, edx
jne 0x43d87e
lea edx, [eax + 0x1220feae]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x1220feae
and edx, edi
add edx, edx
sub ebx, edx
lea esi, [eax - 0x3d74bf3a]
and esi, edi
lea edx, [eax + edi]
add edx, 0xc28b40c6
add esi, esi
sub edx, esi
add bl, 0x3e
add dl, bl
add dl, 0x96
mov byte [esp + eax + 0x50], dl
mov esi, dword [esp + 0x10]
jmp 0x43d8a1
lea edx, [ecx + 4]
cmp esi, edx
jne 0x43d83a
mov edi, ecx
dec eax
mov ecx, edi
inc eax
cmp eax, 0x1d
jb 0x43d667
jmp 0x43d8ee
lea edx, [ecx + 7]
cmp esi, edx
mov edx, dword [esp + 8]
jne 0x43d67d
jmp 0x43d759
lea edx, [ecx + 3]
cmp esi, edx
je 0x43d6b9
mov dword [esp + 0xc], edi
lea edx, [eax + 0x26e8a68e]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x26e8a68e
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x1e
jmp 0x43d74d
lea edx, [ecx + 5]
cmp esi, edx
jne 0x43d8ab
lea edx, [eax + 0x25bb0606]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x25bb0606
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xd6
movzx edx, bl
not edx
jmp 0x43d717
lea edx, [ecx + 7]
cmp esi, edx
je 0x43d6b9
lea edx, [ecx + 4]
cmp esi, edx
jne 0x43d8de
lea edx, [eax - 0x3d295718]
mov esi, dword [esp + 8]
lea ebx, [eax + esi]
add ebx, 0xc2d6a8e8
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xa8
jmp 0x43d816
mov byte [esp + eax + 0x50], bl
jmp 0x43d82b
mov eax, 0x105bd9e
jmp 0x43d8f7
xor eax, eax
jmp 0x43d8f7
mov eax, 0x15f3bc8
add eax, esp
add eax, 0x50
mov dword [esp + 0xe8], eax
push dword [esp + 0x104]
lea eax, [esp + 0x94]
push eax
call fcn.00451c69
add esp, 8
mov dword [esp + 0xa8], 0xe11513f6
mov dword [esp + 0xac], 0xafe3e5e5
mov byte [esp + 0xb0], 0x8e
lea eax, [esp + 0xb1]
xor ecx, ecx
mov dword [eax + 0xd], ecx
mov dword [eax + 0x11], ecx
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [esp + 0x10], eax
call fcn.0046d640
mov ebx, dword [eax]
call fcn.0046d646
mov eax, dword [eax]
mov dword [esp + 8], eax
xor edi, edi
movdqa xmm2, xmmword [0x473650]
mov edx, dword [esp + 0x10]
cmp ebx, edi
ja 0x43e536
mov dword [esp + 0x10], edx
movzx eax, byte [esp + edi + 0xa8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 8]
lea ecx, [eax + 1]
cmp ebx, ecx
jae 0x43dc5a
lea ecx, [edi + 0x634e0e95]
mov edx, dword [esp + 0xc]
lea eax, [edi + edx]
add eax, 0x634e0e95
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xed
mov dword [esp + 0x10], eax
mov eax, 0x171cc1c
cmp dword [esp + 8], edi
ja 0x43e53f
lea ecx, [edi + 0x25673239]
mov esi, dword [esp + 0xc]
lea eax, [esi + edi]
add eax, 0x25673239
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, 0x71
lea ecx, [edi + 0x24c5cdbd]
lea edx, [esi + edi]
add edx, 0x24c5cdbd
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0xd5
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 8]
add ecx, 4
mov edx, eax
cmp ebx, ecx
jb 0x43da5c
mov eax, edi
mov edi, ebx
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
lea edx, [ebx + 1]
cmp edi, edx
je 0x43e032
lea edx, [ebx + 3]
cmp edi, edx
je 0x43e052
lea edx, [ebx + 2]
cmp edi, edx
mov ebx, edi
je 0x43e06f
cmp ebx, ecx
mov edi, eax
je 0x43e08e
mov eax, dword [esp + 8]
lea ecx, [eax + 9]
mov eax, dword [esp + 0x10]
mov edx, eax
cmp ebx, ecx
je 0x43e0b7
mov ecx, dword [esp + 8]
add ecx, ebx
cmp ecx, edi
jbe 0x43e0f2
mov edx, dword [esp + 8]
mov esi, ebx
mov dword [esp + 0x14], edi
mov eax, edx
lea ecx, [edx + 0x400]
cmp esi, ecx
je 0x43dd07
lea ebx, [eax + 0x7a]
lea ecx, [eax + 0x3e8]
cmp esi, ecx
sete dl
movd xmm0, eax
pshufd xmm1, xmm0, 0
paddd xmm1, xmm2
movd xmm0, esi
pshufd xmm0, xmm0, 0
pcmpeqd xmm0, xmm1
mov ecx, eax
lea edi, [ecx + 0x41]
cmp esi, edi
je 0x43dd53
pextrw eax, xmm0, 6
test al, 1
mov edi, dword [esp + 0x14]
jne 0x43dd7e
pextrw eax, xmm0, 4
test al, 1
jne 0x43dda7
pextrw eax, xmm0, 2
test al, 1
jne 0x43ddce
movd eax, xmm0
test al, 1
jne 0x43ddf5
test dl, 1
jne 0x43de52
lea eax, [ecx + 0x7c]
cmp ebx, eax
jb 0x43e511
lea eax, [ecx + 0x7b]
mov dword [esp + 8], eax
lea edx, [ecx + 0x80]
cmp ebx, edx
jb 0x43de7b
lea edx, [ecx + 0x85]
cmp ebx, edx
jb 0x43dc3f
lea edx, [ecx + 0xbb]
cmp ebx, edx
jb 0x43dc27
lea edx, [ecx + 0x27b]
cmp ebx, edx
jb 0x43de9e
lea edx, [ecx + 0xdc]
cmp ebx, edx
jb 0x43debd
lea edx, [ecx + 0xa5]
cmp ebx, edx
jb 0x43dedc
mov edx, dword [esp + 8]
lea esi, [ecx + 0x7f]
cmp ebx, esi
jb 0x43dbe6
lea edx, [ecx + 0x88]
lea eax, [ecx + 0x91]
cmp esi, eax
ja 0x43df04
lea eax, [ecx + 0xb0]
cmp esi, eax
ja 0x43df2f
lea eax, [ecx + 0x108]
cmp esi, eax
ja 0x43df5a
lea eax, [ecx + 0x1088]
cmp esi, eax
ja 0x43df89
lea eax, [ecx + 0xe2]
cmp esi, eax
ja 0x43dfb2
lea eax, [ecx + 0x8b]
cmp esi, eax
ja 0x43dfde
lea eax, [ecx + 0x90]
cmp esi, eax
ja 0x43e004
lea ebx, [ecx + 0xa8]
add ecx, 0x10c
cmp esi, ebx
cmova ebx, esi
cmovbe edx, ecx
mov esi, ebx
mov eax, edx
lea edi, [edx + 0x400]
lea ecx, [edx + 0x3e8]
cmp ebx, ecx
sete dl
lea ebx, [eax + 0x7a]
movd xmm0, eax
pshufd xmm1, xmm0, 0
paddd xmm1, xmm2
movd xmm0, esi
pshufd xmm0, xmm0, 0
pcmpeqd xmm0, xmm1
mov ecx, eax
cmp esi, edi
jne 0x43daae
jmp 0x43dd07
mov eax, dword [esp + 8]
mov edx, eax
lea ecx, [eax + ebx]
mov esi, ebx
cmp ecx, edi
ja 0x43da74
jmp 0x43e0d6
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp dword [esp + 8], edi
mov eax, dword [esp + 0x18]
jbe 0x43da01
jmp 0x445a66
jne 0x43dc7f
lea ecx, [edi + 0x29ea2bbf]
mov edx, dword [esp + 0xc]
lea eax, [edi + edx]
add eax, 0x29ea2bbf
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xc7
mov dword [esp + 0x10], eax
jmp 0x43e1b0
mov eax, dword [esp + 8]
lea ecx, [eax + 2]
cmp ebx, ecx
jne 0x43dcad
lea ecx, [edi - 0xf79b717]
mov esi, dword [esp + 0xc]
lea eax, [edi + esi]
add eax, 0xf08648e9
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, 0xa1
mov dword [esp + 0x10], eax
jmp 0x43e17f
mov eax, dword [esp + 8]
lea ecx, [eax + 5]
cmp ebx, ecx
jne 0x43dcd9
lea ecx, [edi + 0x445aa067]
mov esi, dword [esp + 0xc]
lea edx, [edi + esi]
add edx, 0x445aa067
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0x2f
jmp 0x43e28e
mov eax, dword [esp + 8]
lea ecx, [eax + 3]
cmp ebx, ecx
jne 0x43de22
lea ecx, [edi + 0xaf6bd91]
mov esi, dword [esp + 0xc]
lea eax, [edi + esi]
add eax, 0xaf6bd91
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, 9
jmp 0x43e26b
mov dword [esp + 8], eax
mov edi, dword [esp + 0x14]
lea ecx, [edi - 0x5475bbfa]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0xab8a4406
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xd6
mov ebx, esi
mov esi, edx
lea edx, [edi - 0xb98220d]
lea ecx, [esi + edi]
add ecx, 0xf467ddf3
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0x5b
mov byte [esp + edi + 0xa8], cl
mov edx, eax
jmp 0x43e028
mov edi, dword [esp + 0x14]
lea edx, [edi + 0x72266130]
mov eax, dword [esp + 0xc]
and edx, eax
add eax, edi
add eax, 0x72266130
add edx, edx
sub eax, edx
mov edx, eax
add dl, 0xb0
mov ebx, esi
mov dword [esp + 8], ecx
jmp 0x43e028
lea edx, [edi - 0xa1647c]
mov ebx, dword [esp + 0xc]
lea eax, [ebx + edi]
add eax, 0xff5e9b84
and edx, ebx
add edx, edx
sub eax, edx
add al, 0x64
mov ebx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], ecx
jmp 0x43e26b
lea edx, [edi - 0x3a054752]
mov eax, dword [esp + 0xc]
and edx, eax
add eax, edi
add eax, 0xc5fab8ae
add edx, edx
sub eax, edx
mov edx, eax
add dl, 0x3e
mov ebx, esi
mov dword [esp + 8], ecx
jmp 0x43e28e
lea edx, [edi - 0x73692a28]
mov eax, dword [esp + 0xc]
and edx, eax
add eax, edi
add eax, 0x8c96d5d8
add edx, edx
sub eax, edx
mov edx, eax
add dl, 0x18
mov ebx, esi
mov dword [esp + 8], ecx
jmp 0x43e292
lea edx, [edi + 0x19cf102c]
mov ebx, dword [esp + 0xc]
lea eax, [ebx + edi]
add eax, 0x19cf102c
and edx, ebx
add edx, edx
sub eax, edx
add al, 0xcc
mov dword [esp + 0x10], eax
mov ebx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], ecx
jmp 0x43e17f
mov eax, dword [esp + 8]
lea ecx, [eax + 7]
cmp ebx, ecx
jne 0x43d9b8
lea ecx, [edi - 0x2e6d2545]
mov esi, dword [esp + 0xc]
lea edx, [edi + esi]
add edx, 0xd192dabb
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0xe3
jmp 0x43e02c
lea edx, [edi - 0x1f94d2aa]
mov ebx, esi
mov esi, dword [esp + 0xc]
lea eax, [esi + edi]
add eax, 0xe06b2d56
and edx, esi
add edx, edx
sub eax, edx
add al, 0xa6
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
jmp 0x43e1b0
mov ecx, dword [esp + 0xc]
lea edx, [ecx + edi]
add edx, 0x978d9369
add edi, 0x978d9369
and edi, ecx
add edi, edi
sub edx, edi
add dl, 0x21
xor edi, edi
jmp 0x43d973
lea ecx, [edi - 0x4e01f7ef]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0xb1fe0811
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x89
jmp 0x43e11b
lea ecx, [edi + 0x789a253b]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0x789a253b
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x63
jmp 0x43e1ef
lea ecx, [edi + 0x5d25f8f]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0x5d25f8f
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x17
mov byte [esp + edi + 0xa8], al
mov edx, eax
jmp 0x43e299
lea eax, [edi - 0x9a75788]
mov ecx, dword [esp + 0xc]
lea ebx, [ecx + edi]
add ebx, 0xf658a878
and eax, ecx
add eax, eax
sub ebx, eax
add bl, 0xb8
mov dword [esp + 0x10], ebx
mov ebx, esi
mov dword [esp + 8], edx
jmp 0x43e1b0
lea eax, [edi - 0x430b3a5e]
mov ebx, dword [esp + 0xc]
lea ecx, [ebx + edi]
add ecx, 0xbcf4c5a2
and eax, ebx
add eax, eax
sub ecx, eax
add cl, 0x92
mov dword [esp + 0x10], ecx
mov ebx, esi
mov esi, dword [esp + 0xc]
jmp 0x43e17b
lea eax, [edi - 0x7c6f1d34]
mov ebx, dword [esp + 0xc]
lea ecx, [ebx + edi]
add ecx, 0x8390e2cc
and eax, ebx
add eax, eax
sub ecx, eax
add cl, 0x6c
mov dword [esp + 0x10], ecx
mov ebx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], edx
jmp 0x43e14c
lea eax, [edi + 0x10c91d20]
mov ebx, dword [esp + 0xc]
lea ecx, [ebx + edi]
add ecx, 0x10c91d20
and eax, ebx
add eax, eax
sub ecx, eax
add cl, 0x20
mov ebx, esi
mov dword [esp + 8], edx
mov edx, ecx
jmp 0x43e28e
lea eax, [edi - 0x289ac5b6]
mov ebx, dword [esp + 0xc]
lea ecx, [ebx + edi]
add ecx, 0xd7653a4a
and eax, ebx
add eax, eax
sub ecx, eax
mov eax, ecx
add al, 0xfa
mov ebx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], edx
jmp 0x43e26b
lea eax, [edi - 0x61fea88c]
mov ebx, dword [esp + 0xc]
lea ecx, [ebx + edi]
add ecx, 0x9e015774
and eax, ebx
add eax, eax
sub ecx, eax
add cl, 0xd4
mov ebx, esi
mov dword [esp + 8], edx
mov edx, ecx
jmp 0x43e02c
lea eax, [edi + 0x649d749e]
mov ebx, dword [esp + 0xc]
lea ecx, [ebx + edi]
add ecx, 0x649d749e
and eax, ebx
add eax, eax
sub ecx, eax
add cl, 0xae
mov ebx, esi
mov dword [esp + 8], edx
mov edx, ecx
inc dword [esp + 8]
dec edi
jmp 0x43e299
mov edx, eax
lea ecx, [eax - 0x13fcb09d]
add eax, esi
add eax, 0xec034f63
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, 0x4b
mov ebx, edi
mov edi, edx
jmp 0x43dd2d
lea ecx, [eax + 0x793b89b7]
lea edx, [esi + eax]
add edx, 0x793b89b7
and ecx, esi
add ecx, ecx
sub edx, ecx
dec dl
mov ebx, edi
mov edi, eax
jmp 0x43e02c
mov edi, eax
lea ecx, [eax + 0x673c40b]
lea edx, [esi + eax]
add edx, 0x673c40b
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0xb3
jmp 0x43e28e
lea ecx, [edi - 0x6c5401a1]
mov eax, ebx
mov esi, dword [esp + 0xc]
lea ebx, [esi + edi]
add ebx, 0x93abfe5f
and ecx, esi
add ecx, ecx
sub ebx, ecx
add bl, 0x67
mov dword [esp + 0x10], ebx
mov ebx, eax
jmp 0x43e14c
lea ecx, [edi + 0x20e438b3]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0x20e438b3
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x1b
jmp 0x43dc76
lea ecx, [edi - 0x149e1519]
mov eax, dword [esp + 0xc]
lea edx, [eax + edi]
add edx, 0xeb61eae7
and ecx, eax
add ecx, ecx
sub edx, ecx
add dl, 0xaf
mov eax, dword [esp + 8]
lea ecx, [eax + 0x20]
cmp ebx, ecx
jae 0x43e2f8
lea ecx, [edi + 0x634e0e95]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0x634e0e95
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xed
mov ecx, dword [esp + 8]
add ecx, ebx
cmp ecx, 0x42
jne 0x43e1c3
lea ecx, [edi + 0x1e5209b2]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0x1e5209b2
and ecx, edx
add ecx, ecx
sub eax, ecx
sub al, dl
add al, 0x22
mov dword [esp + 0x10], eax
mov esi, edx
lea edx, [edi - 0x7e5fe7b9]
lea ecx, [esi + edi]
add ecx, 0x81a01847
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0xf
mov byte [esp + edi + 0xa8], cl
mov eax, dword [esp + 8]
lea edx, [eax + 1]
movzx ecx, cl
not eax
sub edi, ecx
add edi, eax
mov dword [esp + 8], edx
lea edx, [edi - 0x1b11d924]
lea ecx, [edi + esi]
add ecx, 0xe4ee26dc
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0xfc
mov byte [esp + edi + 0xa8], cl
sub edi, ebx
inc ebx
movzx eax, byte [esp + edi + 0xa6]
mov dword [esp + 0xc], eax
add edi, 0xfffffffe
mov esi, dword [esp + 0xc]
add esi, dword [esp + 8]
add edi, esi
mov edx, dword [esp + 0x10]
jmp 0x43e299
mov ecx, dword [esp + 8]
add ecx, 0x3e8
cmp ebx, ecx
jbe 0x43e2d0
lea ecx, [edi - 0x5666867f]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0xa9997981
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x79
cmp ebx, 0x29
ja 0x43e249
mov ecx, dword [esp + 8]
add ecx, 0x2a
cmp ebx, ecx
jbe 0x43e2a8
lea ecx, [edi - 0x30ff5446]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0xcf00abba
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xea
cmp dword [esp + 8], 7
jbe 0x43def6
lea ecx, [edi - 0x6ee630a2]
mov esi, dword [esp + 0xc]
lea eax, [esi + edi]
add eax, 0x9119cf5e
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, al
add al, 0xdc
jmp 0x43dd2d
lea ecx, [edi + 0x57b5ec88]
mov eax, dword [esp + 0xc]
lea edx, [eax + edi]
add edx, 0x57b5ec88
and ecx, eax
add ecx, ecx
sub edx, ecx
add dl, al
add dl, 0x48
mov esi, eax
mov eax, edx
lea edx, [edi - 0x44fc04e3]
lea ecx, [esi + edi]
add ecx, 0xbb03fb1d
and edx, esi
add edx, edx
sub ecx, edx
add cl, al
add cl, 0x35
mov byte [esp + edi + 0xa8], cl
mov edx, eax
add ebx, dword [esp + 8]
movzx ecx, dl
not ecx
add edi, ecx
inc edi
cmp edi, 0x1e
jb 0x43d973
jmp 0x43e53d
mov ecx, dword [esp + 8]
inc ecx
cmp ebx, ecx
jne 0x43e322
lea ecx, [edi - 0x6a63371c]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0x959cc8e4
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xc4
jmp 0x43dc76
mov ecx, dword [esp + 8]
inc ecx
cmp ebx, ecx
jne 0x43e34e
lea ecx, [edi + 0x703596ab]
mov esi, dword [esp + 0xc]
lea eax, [esi + edi]
add eax, 0x703596ab
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, 0x53
jmp 0x43dd2d
mov eax, dword [esp + 8]
lea ecx, [eax + 1]
cmp ebx, ecx
jne 0x43e37a
lea ecx, [edi + 0x4ace6472]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0x4ace6472
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xe2
jmp 0x43dc76
mov ecx, dword [esp + 8]
add ecx, 4
cmp ebx, ecx
jne 0x43e3a8
lea ecx, [edi - 0x4ff2c274]
mov esi, dword [esp + 0xc]
lea edx, [esi + edi]
add edx, 0xb00d3d8c
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0x2c
jmp 0x43e28e
mov ecx, dword [esp + 8]
add ecx, 2
cmp ebx, ecx
jne 0x43e3d2
lea ecx, [edi - 0x2922f01]
mov esi, dword [esp + 0xc]
lea edx, [esi + edi]
add edx, 0xfd6dd0ff
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 7
jmp 0x43e02c
mov eax, dword [esp + 8]
lea ecx, [eax + 2]
cmp ebx, ecx
jne 0x43e3fe
lea ecx, [edi - 0x27f9613a]
mov esi, dword [esp + 0xc]
lea eax, [esi + edi]
add eax, 0xd8069ec6
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, 0x96
mov dword [esp + 0x10], eax
jmp 0x43e14c
mov ecx, dword [esp + 8]
add ecx, 5
cmp ebx, ecx
jne 0x43e42a
lea ecx, [edi + 0x76a95ab6]
mov esi, dword [esp + 0xc]
lea eax, [esi + edi]
add eax, 0x76a95ab6
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, 6
jmp 0x43e26b
mov ecx, dword [esp + 8]
add ecx, 5
cmp ebx, ecx
jne 0x43e456
lea ecx, [edi + 0x5142287d]
mov esi, dword [esp + 0xc]
lea edx, [esi + edi]
add edx, 0x5142287d
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0x95
jmp 0x43e292
mov eax, dword [esp + 8]
lea ecx, [eax + 3]
cmp ebx, ecx
jne 0x43e484
lea ecx, [edi + 0x653ed91a]
mov esi, dword [esp + 0xc]
lea edx, [esi + edi]
add edx, 0x653ed91a
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0x4a
jmp 0x43e28e
mov ecx, dword [esp + 8]
add ecx, 2
cmp ebx, ecx
jne 0x43e4b0
lea ecx, [edi + 0x3d4577e0]
mov esi, dword [esp + 0xc]
lea edx, [esi + edi]
add edx, 0x3d4577e0
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0xe0
jmp 0x43e02c
mov ecx, dword [esp + 8]
add ecx, 8
cmp ebx, ecx
jne 0x43e1ef
lea ecx, [edi - 0x5ae98005]
mov edx, dword [esp + 0xc]
lea eax, [edx + edi]
add eax, 0xa5167ffb
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x23
jmp 0x43dc76
mov eax, dword [esp + 8]
lea ecx, [eax + 7]
cmp ebx, ecx
jne 0x43e4e0
lea ecx, [edi - 0xd88ec92]
mov esi, dword [esp + 0xc]
lea edx, [esi + edi]
add edx, 0xf277136e
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0xfe
jmp 0x43e02c
mov ecx, dword [esp + 8]
add ecx, 3
cmp ebx, ecx
jne 0x43e21d
lea ecx, [edi + 0x3e1950a]
mov esi, dword [esp + 0xc]
lea edx, [esi + edi]
add edx, 0x3e1950a
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0xba
jmp 0x43e028
mov eax, dword [esp + 8]
lea ecx, [eax + 4]
cmp ebx, ecx
jne 0x43e50a
lea ecx, [edi + 0x7faf4dc2]
mov esi, dword [esp + 0xc]
lea eax, [esi + edi]
add eax, 0x7faf4dc2
and ecx, esi
add ecx, ecx
sub eax, ecx
add al, 0xb2
jmp 0x43dd2d
mov eax, edx
jmp 0x43e11b
mov eax, dword [esp + 0xc]
lea ecx, [eax + edi]
add ecx, 0xd0f1763f
add edi, 0xd0f1763f
and edi, eax
add edi, edi
sub ecx, edi
add cl, 0x47
mov dword [esp + 0x10], ecx
jmp 0x43d953
mov eax, 0x7fdab1
jmp 0x43e53f
xor eax, eax
add eax, esp
add eax, 0xa8
mov edi, dword [esp + 0x174]
mov dword [esp + 8], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov edx, dword [esp + 0x164]
mov ecx, dword [esp + 0x178]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0xc], eax
lea ecx, [eax + edi]
mov esi, 0xf
lea ebx, [esp + 0x20]
cmp ecx, 0x10
jb 0x43e5ea
mov ebx, ecx
or ebx, 0xf
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
js 0x43e5c1
cmp ebx, 0x17
mov esi, 0x16
cmovae esi, ebx
lea eax, [esi + 1]
cmp esi, 0xfff
jb 0x43e5d3
mov esi, ebx
jmp 0x43e5cb
mov esi, closesocket
mov eax, closesocket
push eax
call fcn.0040130b
jmp 0x43e5d9
push eax
call fcn.004716fe
add esp, 4
mov ebx, eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], 0x10
lea eax, [esp + 0x164]
cmovb edx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], esi
push edi
push edx
push ebx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
push dword [esp + 0xc]
push dword [esp + 0xc]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + esi], 0
sub esp, 0xc
mov al, byte [esp + 0x12c]
mov byte [esp], al
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
lea esi, [esp + 0x114]
mov ecx, esi
call fcn.00451d58
push dword [esp + 0xe8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
mov ecx, edx
sub ecx, edi
cmp ecx, eax
jae 0x43e76e
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0x10], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov dword [esp + 0xc], closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x43e6e5
mov dword [esp + 0x14], ebx
mov ebx, edx
shr edx, 1
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov ebx, dword [esp + 0x14]
lea esi, [esp + 0x108]
jb 0x43e6e5
add edx, dword [esp + 8]
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x43ec7d
mov dword [esp + 0xc], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edx, dword [esp + 0xc]
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], edx
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x43e79e
mov edx, dword [esp + 0x108]
push edi
mov dword [esp + 0x10], edx
push edx
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0x10]
push dword [esp + 0xec]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x14]
add esp, 0xc
mov edi, esi
mov byte [esi + ebx], 0
lea ecx, [edx + 1]
cmp ecx, 0x1000
jb 0x43e7c7
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add edx, 0x24
mov ecx, edx
jmp 0x43e7cb
mov ebx, eax
add ebx, edi
mov dword [esp + 0x118], ebx
cmp edx, 0x10
jb 0x43e785
mov esi, dword [esp + 0x108]
add edi, esi
push eax
push dword [esp + 0xec]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x43e7de
push edi
push esi
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0x10]
push dword [esp + 0xec]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x43e7d7
mov eax, dword [esp + 0xc]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x108], esi
movsd xmm0, qword [esp + 0x118]
movsd qword [esp + 0x130], xmm0
movdqu xmm0, xmmword [esp + 0x108]
movdqa xmmword [esp + 0x120], xmm0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
mov byte [esp + 0x108], 0
mov eax, dword [esp + 0x34]
cmp eax, 0x10
jb 0x43e85a
mov ecx, dword [esp + 0x20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43e850
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [esp + 0xa4]
cmp eax, 0x10
jb 0x43e89a
mov ecx, dword [esp + 0x90]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43e890
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
sub esp, 0xc
mov al, byte [esp + 0xb4]
mov byte [esp + 8], al
lea eax, [esp + 0x12c]
mov dword [esp + 4], eax
lea edi, [esp + 0x5c]
mov dword [esp], edi
call fcn.00452893
add esp, 0xc
xor esi, esi
mov dword [esp + 0x90], esi
call fcn.0044d769
mov dword [esp + 0x94], eax
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], 0xffff
cmp dword [esp + 0x64], 8
mov eax, edi
jb 0x43e8f6
mov eax, dword [esp + 0x50]
push 0xffffffffffffffff
push 3
lea esi, [esp + 0xb0]
push esi
push eax
call fcn.00471de2
mov dword [esp + 0x110], eax
lea ecx, [esp + 0x108]
push esi
push eax
call fcn.0044e62a
mov edi, dword [esp + 0x110]
call fcn.0044d769
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], eax
mov esi, dword [esp + 0x108]
test esi, esi
je 0x43ec61
mov dword [esp + 0x90], 0
call fcn.0044d769
lea ecx, [esp + 0x50]
call fcn.0040d3aa
cmp esi, 1
lea ecx, [esp + 0x108]
je 0x445823
sub esp, 0xc
mov al, byte [esp + 0xb4]
mov byte [esp + 8], al
lea eax, [esp + 0x12c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00452893
add esp, 0xc
lea eax, [esp + 0x52]
xor ecx, ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x10], ecx
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov word [esp + 0x50], 0xf92a
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x43ec72
mov dl, byte [esp + eax + 0x50]
movzx edi, dl
lea ebx, [ecx + 1]
cmp esi, ebx
jae 0x43e9fd
cmp ecx, eax
ja 0x43ec9d
mov dword [esp + 8], edx
lea edx, [esi + ecx]
cmp edx, eax
jbe 0x43ea22
mov dword [esp + 0x10], edx
lea edx, [ecx + 8]
cmp esi, edx
jne 0x43ea94
mov ebx, ecx
jmp 0x43ec1d
je 0x43ea8a
mov dword [esp + 8], ebx
mov ebx, esi
mov esi, ecx
mov ecx, edi
lea edi, [esi + 2]
cmp ebx, edi
jne 0x43eb14
mov dword [esp + 8], ebx
mov ebx, esi
mov esi, ecx
jmp 0x43ea5e
mov dword [esp + 0xc], edi
cmp edx, 1
jne 0x43eabc
mov dword [esp + 8], esi
lea edi, [eax + 0x31fb99f5]
mov esi, dword [esp + 0xc]
lea edx, [eax + esi]
add edx, 0x31fb99f5
and edi, esi
add edi, edi
sub edx, edi
add dl, 0x4d
mov byte [esp + eax + 0x50], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
lea edi, [eax + 0x518d8114]
lea edx, [eax + esi]
add edx, 0x518d8114
and edi, esi
add edi, edi
sub edx, edi
add dl, 0x74
mov byte [esp + eax + 0x50], dl
mov esi, dword [esp + 8]
sub eax, esi
inc esi
mov dl, byte [esp + eax + 0x4e]
add eax, 0xfffffffe
mov ecx, ebx
movzx edx, dl
add edx, ecx
jmp 0x43ebee
lea edx, [ecx + 2]
cmp esi, edx
jne 0x43eb2e
lea esi, [eax + 0x4e1cba0c]
lea edx, [eax + edi]
add edx, 0x4e1cba0c
and esi, edi
add esi, esi
sub edx, esi
add dl, 0xac
jmp 0x43ebc8
mov dword [esp + 0x10], edx
lea edi, [ecx + 0xa]
cmp esi, edi
jbe 0x43eb60
mov dword [esp + 0x14], ecx
lea edi, [eax - 0x7a3bed9d]
mov ecx, dword [esp + 0xc]
lea edx, [eax + ecx]
add edx, 0x85c41263
and edi, ecx
add edi, edi
sub edx, edi
add dl, 0x4b
mov dword [esp + 0x18], edx
mov edx, dword [esp + 8]
cmp esi, 1
mov ecx, dword [esp + 0x14]
ja 0x43ebaa
cmp esi, ebx
mov edi, dword [esp + 0xc]
jne 0x43ebf2
xor esi, esi
inc esi
jmp 0x43ea8a
lea edi, [esi + 4]
cmp ebx, edi
mov edi, ecx
mov ecx, esi
mov esi, ebx
mov ebx, dword [esp + 8]
jne 0x43e9d4
jmp 0x43ec01
lea edx, [ecx + 0xa]
cmp esi, edx
jne 0x43e9ae
mov ebx, esi
mov esi, ecx
mov ecx, edi
lea edi, [eax - 0x339ba978]
lea edx, [eax + ecx]
add edx, 0xcc645688
and edi, ecx
mov ecx, esi
add edi, edi
sub edx, edi
add dl, 0x48
mov esi, ebx
jmp 0x43ebe9
cmp esi, ebx
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 8]
je 0x43ec01
lea edi, [ecx + 3]
cmp esi, edi
je 0x43e9f6
lea edi, [ecx + 5]
cmp esi, edi
jne 0x43ec2c
lea edi, [eax + 0x9ae7d7]
mov ebx, esi
mov esi, ecx
mov ecx, dword [esp + 0xc]
lea edx, [eax + ecx]
add edx, 0x9ae7d7
and edi, ecx
mov ecx, esi
add edi, edi
sub edx, edi
add dl, 0x1f
jmp 0x43eb59
lea esi, [eax - 0x2cba1b68]
mov edi, dword [esp + 0xc]
lea ebx, [eax + edi]
add ebx, 0xd345e498
and esi, edi
add esi, esi
sub ebx, esi
add dl, bl
add dl, 0xd8
lea esi, [eax - 0xd283449]
lea ebx, [edi + eax]
add ebx, 0xf2d7cbb7
and esi, edi
add esi, esi
sub ebx, esi
add bl, dl
dec bl
mov byte [esp + eax + 0x50], bl
mov esi, dword [esp + 0x10]
movzx edx, dl
not edx
add eax, edx
jmp 0x43ec20
cmp ecx, 7
ja 0x43ec01
mov edx, dword [esp + 0x18]
mov byte [esp + eax + 0x50], dl
jmp 0x43ec20
lea edx, [eax - 0x4c4c0287]
lea ecx, [edi + eax]
add ecx, 0xb3b3fd79
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xb1
mov byte [esp + eax + 0x50], cl
dec eax
mov ecx, ebx
inc eax
cmp eax, 0x1a
jb 0x43e9be
jmp 0x43ec79
lea edi, [ecx + 6]
cmp esi, edi
je 0x43ea8a
mov dword [esp + 0x14], ecx
lea edi, [eax + 0x1f91e71f]
mov ecx, dword [esp + 0xc]
add ecx, eax
add ecx, 0x1f91e71f
and edi, dword [esp + 0xc]
add edi, edi
sub ecx, edi
add cl, 0x27
mov dword [esp + 0x18], ecx
jmp 0x43eaf3
test edi, edi
jne 0x445bdc
lea ecx, [esp + 0x50]
jmp 0x44581e
mov eax, 0xd92ff3
jmp 0x43eca2
xor eax, eax
jmp 0x43eca2
test eax, eax
je 0x445882
push eax
mov dword [esp + 0x10], edx
call fcn.004716fe
mov edx, dword [esp + 0x10]
add esp, 4
mov ecx, eax
jmp 0x43e6f4
mov eax, 0x14748d4
add eax, esp
add eax, 0x50
mov dword [esp + 0x18], eax
lea eax, [esp + 0xee]
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 0xb], ecx
mov dword [eax + 7], ecx
mov word [esp + 0xec], 0x5e5
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov edx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x43efac
mov cl, byte [esp + eax + 0xec]
movzx edi, cl
lea ebx, [edx + 1]
cmp esi, ebx
jae 0x43ed47
cmp edx, eax
ja 0x43efb7
mov dword [esp + 8], edi
lea edi, [edx + 5]
cmp esi, edi
jae 0x43edaf
mov dword [esp + 0x10], ecx
lea ecx, [esi + edx]
cmp ecx, eax
jbe 0x43edde
mov ecx, edx
add edx, 6
mov dword [esp + 0xc], ecx
add ecx, 0x10
cmp esi, ebx
je 0x43ee8e
cmp esi, edx
je 0x43ee96
cmp esi, edi
je 0x43eeda
cmp esi, ecx
mov esi, 0x10
je 0x43ed24
jmp 0x43ecc9
je 0x43ee47
mov dword [esp + 8], edi
mov edi, ecx
lea ecx, [edx + 2]
cmp esi, ecx
je 0x43ede3
lea ecx, [edx + 5]
cmp esi, ecx
jne 0x43ee79
mov dword [esp + 0xc], edx
lea ecx, [eax + 0x37d68dd1]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x37d68dd1
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0x49
lea edx, [eax - 0x294ec1a3]
lea ecx, [edi + eax]
add ecx, 0xd6b13e5d
and edx, edi
add edx, edx
sub ecx, edx
add cl, bl
add cl, 0x75
mov byte [esp + eax + 0xec], cl
jmp 0x43eeb4
cmp esi, ebx
je 0x43ee54
mov dword [esp + 0x10], ecx
lea ecx, [edx + 2]
cmp esi, ecx
je 0x43ee8a
lea ecx, [edx + 7]
cmp esi, ecx
je 0x43ede3
lea ecx, [edx + 3]
cmp esi, ecx
mov ecx, dword [esp + 0x10]
jne 0x43ed09
jmp 0x43ee47
cmp ecx, 1
jne 0x43ee50
mov edi, edx
lea edx, [eax + 0x6aade07]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 8]
lea ecx, [eax + ebx]
add ecx, 0x6aade07
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xcf
mov byte [esp + eax + 0xec], cl
not edi
add edi, eax
movzx eax, cl
sub edi, eax
mov eax, edi
lea edx, [eax + 0x1ea7addc]
lea ecx, [eax + ebx]
add ecx, 0x1ea7addc
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xfc
mov byte [esp + eax + 0xec], cl
sub eax, esi
inc esi
mov cl, byte [esp + eax + 0xea]
add eax, 0xfffffffe
mov edx, dword [esp + 0xc]
movzx ecx, cl
add ecx, edx
add eax, ecx
jmp 0x43eecb
cmp esi, ebx
jne 0x43eec1
lea edx, [eax - 0x5948614d]
mov edi, dword [esp + 8]
lea ecx, [edi + eax]
add ecx, 0xa6b79eb3
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x1b
mov byte [esp + eax + 0xec], cl
jmp 0x43eec8
lea ecx, [edx + 3]
cmp esi, ecx
mov ecx, edi
mov edi, dword [esp + 8]
jne 0x43ecf2
mov ebx, edx
jmp 0x43eec8
mov esi, ebx
mov ebx, dword [esp + 0xc]
jmp 0x43eec8
lea ecx, [eax + 0xe87cc2e]
mov esi, dword [esp + 8]
lea ebx, [eax + esi]
add ebx, 0xe87cc2e
and ecx, esi
add ecx, ecx
sub ebx, ecx
add bl, 0xbe
mov esi, edx
mov edx, dword [esp + 0xc]
add esi, edx
movzx ecx, bl
not ecx
jmp 0x43ee4c
lea ecx, [edx + 2]
cmp esi, ecx
jne 0x43eee5
dec eax
mov edx, ebx
inc eax
cmp eax, 0x11
jb 0x43ecd9
jmp 0x43efb3
mov esi, edi
mov ebx, dword [esp + 8]
jmp 0x43ee17
lea ecx, [edx + 3]
cmp esi, ecx
jne 0x43ef0a
lea ecx, [eax - 0x58e25bed]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xa71da413
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0x7b
jmp 0x43eeb8
cmp esi, edi
jne 0x43ef2c
lea ecx, [eax - 0x28e8bc43]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xd71743bd
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0xd5
jmp 0x43eeba
lea ecx, [edx + 6]
cmp esi, ecx
je 0x43ede3
lea ecx, [edx + 4]
cmp esi, ecx
jne 0x43ef47
mov ecx, dword [esp + 0x10]
jmp 0x43ee47
cmp esi, 3
ja 0x43ef81
cmp edx, 7
ja 0x43ee54
mov edi, edx
lea edx, [eax + 0x17fccfd5]
mov ebx, dword [esp + 8]
lea ecx, [eax + ebx]
add ecx, 0x17fccfd5
and edx, ebx
add edx, edx
sub ecx, edx
mov edx, edi
add cl, 0x2d
mov byte [esp + eax + 0xec], cl
jmp 0x43eecb
mov dword [esp + 0xc], edx
lea edx, [eax - 0x414b9178]
mov edi, dword [esp + 8]
lea ecx, [eax + edi]
add ecx, 0xbeb46e88
and edx, edi
add edx, edx
sub ecx, edx
mov ebx, dword [esp + 0x10]
add bl, cl
add bl, 0x48
jmp 0x43ed89
mov eax, 0x5872f1
jmp 0x43efbc
xor eax, eax
jmp 0x43efbc
mov eax, 0x15ba31c
add eax, esp
add eax, 0xec
mov dword [esp + 0x14], eax
push dword [esp + 0x104]
lea eax, [esp + 0x144]
push eax
call fcn.00451c69
add esp, 8
mov dword [esp + 0xa8], 0x1d696b36
mov dword [esp + 0xac], 0x121b6161
mov byte [esp + 0xb0], 0xfe
lea eax, [esp + 0xb1]
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0xf], 0
call fcn.0046d640
mov ebx, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp ebx, eax
ja 0x43f2dd
mov dl, byte [esp + eax + 0xa8]
movzx esi, dl
mov dword [esp + 8], esi
lea edi, [ecx + 1]
cmp ebx, edi
jae 0x43f080
cmp ecx, eax
ja 0x43f2e8
lea esi, [ebx + ecx]
cmp esi, eax
jbe 0x43f0ab
mov dword [esp + 0x10], esi
mov esi, ebx
lea ebx, [ecx + 4]
cmp esi, ebx
jne 0x43f124
lea esi, [eax - 0x105d8df4]
mov edi, dword [esp + 8]
lea edx, [eax + edi]
add edx, 0xefa2720c
and esi, edi
add esi, esi
sub edx, esi
add dl, 0xac
jmp 0x43f215
je 0x43f118
mov esi, ebx
lea ebx, [ecx + 3]
mov dword [esp + 0xc], esi
cmp esi, ebx
je 0x43f0b8
lea ebx, [ecx + 7]
mov esi, dword [esp + 0xc]
cmp esi, ebx
jne 0x43f196
mov ebx, esi
mov edi, ecx
jmp 0x43f1f2
mov dword [esp + 0xc], ebx
cmp esi, 5
jne 0x43f150
lea ebx, [eax - 0x4644a40b]
mov esi, dword [esp + 8]
lea edx, [esi + eax]
add edx, 0xb9bb5bf5
and ebx, esi
add ebx, ebx
sub edx, ebx
add dl, 0x4d
mov byte [esp + eax + 0xa8], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov ecx, edi
mov ebx, dword [esp + 0xc]
lea edi, [eax - 0x792af6ec]
lea edx, [eax + esi]
add edx, 0x86d50914
and edi, esi
add edi, edi
sub edx, edi
add dl, 0x74
mov byte [esp + eax + 0xa8], dl
sub eax, ebx
inc ebx
mov dl, byte [esp + eax + 0xa6]
add eax, 0xfffffffe
movzx edx, dl
add edx, ecx
add eax, edx
jmp 0x43f240
lea ebx, [ecx + 6]
cmp esi, ebx
jne 0x43f1b6
lea esi, [eax - 0x762a33b6]
mov edi, dword [esp + 8]
lea edx, [eax + edi]
add edx, 0x89d5cc4a
and esi, edi
add esi, esi
sub edx, esi
add dl, 0xfa
jmp 0x43f235
mov dword [esp + 0x10], esi
lea ebx, [ecx + 9]
mov esi, dword [esp + 0xc]
cmp esi, ebx
jbe 0x43f1c5
lea ebx, [eax - 0x20e1bf9d]
mov esi, dword [esp + 8]
add esi, eax
add esi, 0xdf1e4063
and ebx, dword [esp + 8]
add ebx, ebx
sub esi, ebx
mov ebx, esi
add bl, 0x4b
mov esi, ebx
mov ebx, dword [esp + 0xc]
cmp ebx, 1
ja 0x43f1f7
cmp ebx, edi
jne 0x43f287
xor ebx, ebx
inc ebx
jmp 0x43f118
lea ebx, [ecx + 2]
cmp dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xc]
je 0x43f1f2
lea ebx, [ecx + 4]
cmp dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xc]
jne 0x43f03f
jmp 0x43f1cf
mov ebx, esi
cmp esi, edi
je 0x43f118
jmp 0x43f012
mov ebx, esi
cmp esi, edi
jne 0x43f24f
lea edx, [eax - 0x7aab5887]
mov esi, dword [esp + 8]
lea ecx, [esi + eax]
add ecx, 0x8554a779
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0xb1
mov byte [esp + eax + 0xa8], cl
dec eax
mov ecx, edi
jmp 0x43f240
lea esi, [eax + 0x526e5498]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x526e5498
and esi, edi
add esi, esi
sub ebx, esi
add dl, bl
add dl, 0xd8
lea esi, [eax + 0x1f8801b7]
lea ebx, [edi + eax]
add ebx, 0x1f8801b7
and esi, edi
add esi, esi
sub ebx, esi
add bl, dl
dec bl
mov byte [esp + eax + 0xa8], bl
movzx edx, dl
not edx
add eax, edx
mov ebx, dword [esp + 0x10]
inc eax
cmp eax, 0x1c
jb 0x43f022
jmp 0x43f2e4
lea ebx, [ecx + 2]
cmp dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xc]
je 0x43f0a4
lea ebx, [ecx + 3]
cmp dword [esp + 0xc], ebx
jne 0x43f292
lea esi, [eax + 0x47eba95b]
mov edi, dword [esp + 8]
lea edx, [eax + edi]
add edx, 0x47eba95b
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x83
jmp 0x43f215
mov edx, esi
mov byte [esp + eax + 0xa8], dl
jmp 0x43f240
lea ebx, [ecx + 5]
cmp dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xc]
jne 0x43f2a8
mov esi, dword [esp + 8]
jmp 0x43f0ec
lea ebx, [ecx + 8]
cmp dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xc]
je 0x43f118
lea ebx, [eax - 0x32e652e1]
mov esi, dword [esp + 8]
add esi, eax
add esi, 0xcd19ad1f
and ebx, dword [esp + 8]
add ebx, ebx
sub esi, ebx
mov ebx, esi
add bl, 0x27
jmp 0x43f17e
mov eax, 0xd9fdf3
jmp 0x43f2ed
xor eax, eax
jmp 0x43f2ed
mov eax, 0x14050d4
lea esi, [esp + eax]
add esi, 0xa8
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [esp + 0x38]
push eax
push esi
call fcn.00450e50
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x14], 0x10
mov ebx, eax
jb 0x43f331
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, edx
sub eax, ecx
cmp eax, esi
jae 0x43f43b
mov eax, closesocket
sub eax, ecx
cmp eax, esi
jb 0x445bd1
mov dword [esp + 0xc], ecx
add ecx, esi
mov dword [esp + 0x10], ecx
or ecx, 0xf
mov dword [esp + 0x1c], closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x43f3af
mov eax, edx
shr edx, 1
mov edi, edx
xor edi, 0x7fffffff
cmp edi, eax
mov eax, closesocket
jb 0x43f3af
add edx, dword [esp + 8]
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x44588c
mov dword [esp + 0x1c], edx
push eax
call fcn.0040130b
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x43f471
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
push esi
push ebx
push edi
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], edi
add esi, edi
mov edi, dword [esp + 0x10]
push eax
push edi
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebx + 1]
cmp ecx, 0x1000
jb 0x43f42b
mov eax, dword [edi - 4]
add edi, 0xfffffffc
sub edi, eax
cmp edi, 0x20
jae 0x445bd6
mov edx, ebx
add edx, 0x24
mov ecx, edx
mov edi, eax
push ecx
push edi
call fcn.00471733
add esp, 8
mov edi, dword [esp + 0xc]
jmp 0x43f492
lea eax, [ecx + esi]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x38]
cmp edx, 0x10
jb 0x43f44f
mov edi, dword [esp + 0x38]
lea eax, [ebx + esi]
cmp eax, edi
mov edx, ebx
mov dword [esp + 8], eax
jbe 0x43f498
lea eax, [edi + ecx]
mov ebx, esi
cmp eax, edx
jb 0x43f49a
xor ebx, ebx
mov eax, edi
sub eax, edx
jbe 0x43f49a
mov ebx, eax
jmp 0x43f49a
push esi
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
inc eax
add esi, edi
push eax
lea eax, [esp + 0x3c]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x38], edi
jmp 0x43f4d0
mov ebx, esi
inc ecx
lea eax, [edi + esi]
push ecx
push edi
push eax
mov dword [esp + 0x18], edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push ebx
push dword [esp + 0x10]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub esi, ebx
mov eax, dword [esp + 8]
add eax, ebx
add edi, ebx
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea esi, [esp + 0x78]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0xe0], xmm0
movups xmm0, xmmword [esp + 0x38]
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
sub esp, 0xc
mov al, byte [esp + 0x9c]
mov byte [esp], al
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
lea eax, [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, esi
call fcn.00451d58
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov ecx, edx
sub ecx, edi
cmp ecx, eax
jae 0x43f636
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0xc], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov esi, closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x43f5b7
mov dword [esp + 0x10], ebx
mov ebx, edx
shr edx, 1
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, closesocket
mov ebx, dword [esp + 0x10]
jb 0x43f5b7
add edx, dword [esp + 8]
cmp ecx, edx
mov esi, edx
cmovae esi, ecx
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x4458a8
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 8]
cmp esi, 0x10
jb 0x43f660
mov eax, dword [esp + 0x78]
push edi
mov dword [esp + 0x14], eax
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x14]
add esp, 0xc
mov edi, esi
mov byte [esi + ebx], 0
lea ecx, [edx + 1]
cmp ecx, 0x1000
jb 0x43f68a
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add edx, 0x24
mov ecx, edx
jmp 0x43f68e
mov ebx, eax
add ebx, edi
mov dword [esp + 0x88], ebx
cmp edx, 0x10
jb 0x43f64a
mov esi, dword [esp + 0x78]
add edi, esi
push eax
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x43f69e
push edi
lea eax, [esp + 0x7c]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x43f69a
mov eax, dword [esp + 0x10]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x78], esi
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x30], xmm0
movups xmm0, xmmword [esp + 0x78]
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
mov byte [esp + 0x78], 0
push dword [esp + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jae 0x43f7cf
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0xc], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov dword [esp + 8], closesocket
mov eax, closesocket
js 0x43f752
mov edx, esi
shr edx, 1
mov dword [esp + 0x10], ebx
mov ebx, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, ebx
mov ebx, dword [esp + 0x10]
jb 0x43f752
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x4458bb
mov dword [esp + 8], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edx, dword [esp + 8]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
cmp esi, 0x10
jb 0x43f7fc
mov eax, dword [esp + 0x20]
push edi
mov dword [esp + 0x14], eax
push eax
push ecx
mov dword [esp + 0x14], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esp + 8]
push dword [esp + 0xc]
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov edi, eax
mov byte [eax + ebx], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x43f826
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add esi, 0x24
mov ecx, esi
jmp 0x43f82a
mov ebx, eax
add ebx, edi
mov dword [esp + 0x30], ebx
mov ecx, esi
lea esi, [esp + 0x20]
cmp ecx, 0x10
jb 0x43f7e6
mov esi, dword [esp + 0x20]
add edi, esi
push eax
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x43f83a
push edi
lea eax, [esp + 0x24]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x43f836
mov eax, dword [esp + 0x10]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x20], esi
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0xa0], xmm0
movdqa xmm0, xmmword [esp + 0x20]
movdqa xmmword [esp + 0x90], xmm0
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x130]
push eax
call fcn.00410b77
add esp, 0x14
mov eax, dword [esp + 0xa4]
cmp eax, 0x10
jb 0x43f8b9
mov ecx, dword [esp + 0x90]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43f8af
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
xor eax, eax
mov dword [esp + 0xa0], eax
mov ecx, 0xf
mov dword [esp + 0xa4], ecx
mov byte [esp + 0x90], al
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x8c]
cmp eax, 0x10
jb 0x43f91e
mov ecx, dword [esp + 0x78]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43f914
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
mov byte [esp + 0x78], 0
mov eax, dword [esp + 0xe4]
cmp eax, 0x10
jb 0x43f979
mov ecx, dword [esp + 0xd0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43f96f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
mov eax, dword [esp + 0x4c]
cmp eax, 0x10
jb 0x43f9d1
mov ecx, dword [esp + 0x38]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43f9c7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [esp + 0x154]
cmp eax, 0x10
jb 0x43fa11
mov ecx, dword [esp + 0x140]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43fa07
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
lea eax, [esp + 0x52]
pxor xmm0, xmm0
movdqu xmmword [eax + 0xc], xmm0
movdqu xmmword [eax], xmm0
mov word [esp + 0x50], 0x257a
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x43fd0c
mov bl, byte [esp + eax + 0x50]
movzx edx, bl
lea edi, [ecx + 1]
cmp esi, edi
jae 0x43fab6
cmp ecx, eax
ja 0x43fd17
mov dword [esp + 8], edi
mov edi, edx
mov edx, ebx
lea ebx, [ecx + 6]
mov dword [esp + 0x14], ebx
cmp esi, ebx
mov ebx, edx
mov edx, edi
mov edi, dword [esp + 8]
jae 0x43fae7
mov edi, ecx
mov ecx, esi
add esi, edi
cmp esi, eax
jbe 0x43fb2f
lea esi, [edi + 3]
cmp ecx, esi
mov esi, ecx
je 0x43fc08
mov ecx, esi
lea esi, [edi + 2]
cmp ecx, esi
mov dword [esp + 0x10], edi
jne 0x43fbb1
lea esi, [eax + 0x58]
and esi, edx
add esi, esi
add edx, eax
sub edx, esi
add edx, 0x7ccca9f0
mov esi, ecx
jmp 0x43fb8f
je 0x43fc95
mov dword [esp + 8], edi
mov edi, esi
lea esi, [ecx + 2]
cmp edi, esi
jne 0x43fb6c
mov dword [esp + 0x10], ecx
lea esi, [eax + 0x4d]
and esi, edx
add esi, esi
add edx, eax
sub edx, esi
add edx, 0x95c2732
jmp 0x43fb8d
cmp esi, edi
je 0x43fbe8
mov dword [esp + 0xc], esi
lea esi, [ecx + 3]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
je 0x43fb65
mov dword [esp + 0x10], ecx
lea esi, [ecx + 5]
cmp dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
jne 0x43fc10
lea esi, [eax + 0xc5]
and esi, edx
add esi, esi
add edx, eax
sub edx, esi
mov esi, dword [esp + 0xc]
add edx, 0x2251e262
jmp 0x43fb8f
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
cmp esi, 0x28
mov edi, dword [esp + 8]
je 0x43fc3e
mov esi, dword [esp + 0xc]
cmp esi, edi
mov ecx, dword [esp + 0x10]
je 0x43fbe8
lea esi, [ecx + 2]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
jne 0x43fc2f
mov edi, ecx
jmp 0x43fc08
lea esi, [ecx + 4]
cmp edi, esi
jne 0x43fba2
lea esi, [eax + 0x97]
and esi, edx
add esi, esi
add edx, eax
sub edx, esi
add edx, 0xb70a176
mov dword [esp + 0x10], ecx
add edi, ecx
mov esi, edi
not edx
or edx, 0xffffff00
add eax, edx
mov ecx, dword [esp + 0x10]
jmp 0x43fc9c
lea esi, [ecx + 5]
cmp edi, esi
mov esi, edi
jne 0x43fbd5
mov edi, dword [esp + 8]
jmp 0x43fc08
lea esi, [edi + 0x10]
mov dword [esp + 0xc], ecx
cmp ecx, esi
mov edi, dword [esp + 8]
je 0x43fc3e
mov esi, dword [esp + 0xc]
cmp esi, edi
mov ecx, dword [esp + 0x10]
je 0x43fc95
jmp 0x43fa29
mov edi, esi
lea esi, [ecx + 3]
cmp edi, esi
mov esi, edi
mov edi, dword [esp + 8]
jne 0x43fa4f
mov ebx, esi
lea esi, [eax + 0x6b1e99e3]
lea ecx, [eax + edx]
add ecx, 0x6b1e99e3
and esi, edx
add esi, esi
sub ecx, esi
mov esi, ebx
add cl, 0xcb
mov byte [esp + eax + 0x50], cl
dec eax
mov ecx, edi
jmp 0x43fc9c
cmp ecx, dword [esp + 0x14]
je 0x43fc3e
mov edi, dword [esp + 0x10]
lea esi, [edi + 4]
mov ecx, dword [esp + 0xc]
cmp ecx, esi
mov esi, ecx
mov ecx, edi
jne 0x43fa72
jmp 0x43fc95
mov edi, ecx
mov ecx, esi
lea esi, [edi + 4]
mov edi, dword [esp + 8]
cmp ecx, esi
jne 0x43fca8
lea esi, [eax + 0x6f478e77]
lea ebx, [eax + edx]
add ebx, 0x6f478e77
and esi, edx
add esi, esi
sub ebx, esi
add bl, 0xbf
mov byte [esp + eax + 0x50], bl
mov ecx, dword [esp + 0x10]
not ecx
add ecx, eax
movzx eax, bl
sub ecx, eax
mov eax, ecx
mov ecx, edi
lea esi, [eax + 0x7051cb9c]
lea ebx, [eax + edx]
add ebx, 0x7051cb9c
and esi, edx
add esi, esi
sub ebx, esi
add bl, 0xbc
mov byte [esp + eax + 0x50], bl
mov esi, dword [esp + 0xc]
sub eax, esi
inc esi
mov bl, byte [esp + eax + 0x4e]
add eax, 0xfffffffe
movzx edx, bl
add edx, ecx
add eax, edx
inc eax
cmp eax, 0x1e
jb 0x43fa39
jmp 0x43fd13
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x14]
jne 0x43fcb8
mov ecx, dword [esp + 0x10]
jmp 0x43fc6b
mov edi, dword [esp + 0x10]
lea esi, [edi + 7]
cmp ecx, esi
jne 0x43fcca
mov esi, ecx
jmp 0x43fc08
lea esi, [edi + 3]
cmp dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
je 0x43fbab
mov ecx, edi
cmp edi, 4
mov edi, dword [esp + 8]
ja 0x43fbe8
lea esi, [eax + 0x10a3d25]
lea ebx, [eax + edx]
add ebx, 0x10a3d25
and esi, edx
add esi, esi
sub ebx, esi
mov esi, dword [esp + 0xc]
add bl, 0xfd
mov byte [esp + eax + 0x50], bl
jmp 0x43fc9c
mov eax, 0x16b5201
jmp 0x43fd1c
xor eax, eax
jmp 0x43fd1c
mov eax, 0x16114dc
add eax, esp
add eax, 0x50
mov dword [esp + 0x18], eax
lea eax, [esp + 0xb1]
pxor xmm0, xmm0
movdqu xmmword [eax + 6], xmm0
movdqu xmmword [eax - 7], xmm0
mov word [esp + 0xa8], 0x5535
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov esi, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x440270
movzx edx, byte [esp + eax + 0xa8]
lea ecx, [esi + 1]
mov dword [esp + 8], ecx
cmp edi, ecx
jae 0x43fde8
lea ecx, [eax - 0x60dbab33]
lea ebx, [eax + edx]
add ebx, 0x9f2454cd
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x65
cmp esi, eax
ja 0x44027b
lea ecx, [esi + 4]
cmp edi, ecx
jae 0x43fe07
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
lea ecx, [eax + 0xdfaf4d1]
lea ebx, [eax + edx]
add ebx, 0xdfaf4d1
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x49
mov edi, dword [esp + 0xc]
lea ecx, [edi + esi]
cmp ecx, eax
jbe 0x43fe7b
lea ecx, [esi + 0x10]
cmp edi, ecx
jne 0x43ff34
lea ecx, [eax + 0x619c7016]
lea ebx, [eax + edx]
add ebx, 0x619c7016
and ecx, edx
mov byte [esp + 0x10], 0x66
jmp 0x43fe27
jne 0x43fe53
lea ecx, [eax - 0x22930199]
lea ebx, [eax + edx]
add ebx, 0xdd6cfe67
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x2f
jmp 0x43ffb5
cmp edi, dword [esp + 8]
jne 0x43feda
lea ecx, [eax + 0x4c439e6b]
lea ebx, [eax + edx]
add ebx, 0x4c439e6b
and ecx, edx
mov byte [esp + 0x10], 0x13
add ecx, ecx
sub ebx, ecx
add bl, byte [esp + 0x10]
lea esi, [eax + 0x79e1e7b]
lea ecx, [edx + eax]
add ecx, 0x79e1e7b
and esi, edx
add esi, esi
sub ecx, esi
add cl, 0xa3
mov byte [esp + eax + 0xa8], cl
jmp 0x43ff01
lea ecx, [esi + 2]
cmp edi, ecx
jne 0x43ff0b
lea ecx, [eax + 0x1bb5a801]
lea ebx, [eax + edx]
add ebx, 0x1bb5a801
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xf9
jmp 0x43ff89
mov dword [esp + 0x14], esi
add esi, 8
mov dword [esp + 0xe8], esi
cmp edi, esi
jae 0x43ffc8
mov dword [esp + 0x1c], ecx
lea ecx, [eax - 0x60dbab33]
lea ebx, [eax + edx]
add ebx, 0x9f2454cd
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x65
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x20
jne 0x440018
lea ecx, [eax - 0x1af4e31e]
lea ebx, [eax + edx]
add ebx, 0xe50b1ce2
and ecx, edx
add ecx, ecx
sub ebx, ecx
sub bl, dl
add bl, 0xd2
jmp 0x43ff57
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
cmp edi, ecx
jne 0x43fff0
lea ecx, [eax - 0x7573b7fb]
lea ebx, [eax + edx]
add ebx, 0x8a8c4805
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xdd
mov esi, dword [esp + 8]
dec eax
jmp 0x43ffb9
lea ecx, [esi + 3]
cmp edi, ecx
jne 0x43fd87
mov dword [esp + 0xc], edi
lea ecx, [eax + 0x59fe519b]
lea ebx, [eax + edx]
add ebx, 0x59fe519b
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xc3
jmp 0x43ff57
lea ecx, [esi + 5]
cmp edi, ecx
jne 0x440041
lea ecx, [eax - 0x28af964e]
lea ebx, [eax + edx]
add ebx, 0xd75069b2
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x22
lea edi, [eax - 0x7bd08e51]
lea ecx, [edx + eax]
add ecx, 0x842f71af
and edi, edx
add edi, edi
sub ecx, edi
add cl, 0x37
mov byte [esp + eax + 0xa8], cl
movzx ecx, cl
not esi
add esi, eax
sub esi, ecx
mov eax, esi
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 8]
lea ecx, [eax + 0x2353c67c]
and ecx, edx
add edx, eax
add edx, 0x2353c67c
add ecx, ecx
sub edx, ecx
add dl, 0x9c
mov byte [esp + eax + 0xa8], dl
sub eax, edi
inc edi
movzx edx, byte [esp + eax + 0xa6]
add eax, 0xfffffffe
add edx, esi
add eax, edx
inc eax
cmp eax, 0x1f
jb 0x43fd54
jmp 0x440277
cmp edi, dword [esp + 8]
jne 0x440069
lea ecx, [eax + 0x1bf5e9a2]
lea ebx, [eax + edx]
add ebx, 0x1bf5e9a2
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x92
mov esi, dword [esp + 0x14]
jmp 0x43ffb5
lea ecx, [esi + 5]
cmp edi, ecx
jne 0x440099
lea ecx, [eax - 0x7c511193]
lea ebx, [eax + edx]
add ebx, 0x83aeee6d
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 5
jmp 0x4401af
mov edi, dword [esp + 0xc]
cmp edi, dword [esp + 8]
jne 0x4400c0
lea ecx, [eax + 0x29f0de73]
lea ebx, [eax + edx]
add ebx, 0x29f0de73
and ecx, edx
mov byte [esp + 0x10], 0xdb
jmp 0x43fe27
lea ecx, [esi + 8]
cmp edi, ecx
jne 0x440109
lea ecx, [eax + 0x1599134c]
lea ebx, [eax + edx]
add ebx, 0x1599134c
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xec
jmp 0x43ff89
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x14]
lea ecx, [esi + 3]
cmp edi, ecx
jne 0x440131
lea ecx, [eax + 0x1518900a]
lea ebx, [eax + edx]
add ebx, 0x1518900a
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xba
jmp 0x4401ab
cmp edi, dword [esp + 0x10]
jne 0x44015d
lea ecx, [eax + 0x4041a1]
lea ebx, [eax + edx]
add ebx, 0x4041a1
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x99
jmp 0x43ff89
lea ecx, [esi + 2]
cmp edi, ecx
jne 0x44018d
lea ecx, [eax - 0x1b3524bf]
lea ebx, [eax + edx]
add ebx, 0xe4cadb41
and ecx, edx
add ecx, ecx
sub ebx, ecx
lea edi, [eax + 0x45e6c815]
and edi, edx
lea ecx, [eax + edx]
add ecx, 0x45e6c815
add edi, edi
sub ecx, edi
add bl, 0x39
add cl, bl
add cl, 0x6d
mov byte [esp + eax + 0xa8], cl
jmp 0x4401ab
lea ecx, [esi + 0xa]
cmp edi, ecx
jne 0x440254
lea ecx, [eax + 0x53e1bce6]
lea ebx, [eax + edx]
add ebx, 0x53e1bce6
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xb6
jmp 0x43ffb5
lea ecx, [esi + 2]
cmp edi, ecx
jne 0x43feb1
lea ecx, [eax - 0x6e561cc2]
lea ebx, [eax + edx]
add ebx, 0x91a9e33e
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x4e
mov edi, dword [esp + 0xc]
jmp 0x43ff05
lea ecx, [esi + 6]
mov dword [esp + 0xc], edi
cmp edi, ecx
jne 0x43fdb6
lea ecx, [eax + 0x3e88eb3b]
lea ebx, [eax + edx]
add ebx, 0x3e88eb3b
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x63
mov edi, dword [esp + 0xc]
jmp 0x43ffb5
cmp edi, dword [esp + 0x10]
jne 0x4401bb
lea ecx, [eax + 0x231384db]
lea ebx, [eax + edx]
add ebx, 0x231384db
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 3
mov edi, dword [esp + 0x1c]
movzx ecx, bl
not ecx
add eax, ecx
jmp 0x43ffb9
lea ecx, [esi + 6]
cmp edi, ecx
jne 0x4401dc
lea ecx, [eax + 0x615c2e75]
lea ebx, [eax + edx]
add ebx, 0x615c2e75
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xcd
jmp 0x4401af
lea ecx, [esi + 5]
cmp edi, ecx
jne 0x440200
lea ecx, [eax - 0x605b27f1]
lea ebx, [eax + edx]
add ebx, 0x9fa4d80f
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x97
jmp 0x43ff57
lea ecx, [esi + 3]
cmp edi, ecx
jne 0x440224
lea ecx, [eax - 0x4b82d988]
lea ebx, [eax + edx]
add ebx, 0xb47d2678
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xb8
jmp 0x43ff57
cmp edi, dword [esp + 0xe8]
jne 0x440248
lea ecx, [eax + 0x2a312014]
lea ebx, [eax + edx]
add ebx, 0x2a312014
and ecx, edx
mov byte [esp + 0x10], 0x74
jmp 0x43fe27
mov byte [esp + eax + 0xa8], bl
jmp 0x43ffb9
lea ebx, [eax + edx]
add ebx, 0x6f9764e7
add eax, 0x6f9764e7
and eax, edx
add eax, eax
sub ebx, eax
add bl, 0xaf
jmp 0x43fd44
mov eax, 0x10d4e89
jmp 0x440280
xor eax, eax
jmp 0x440280
mov eax, 0x168f9bc
add eax, esp
add eax, 0xa8
mov dword [esp + 0x14], eax
push dword [esp + 0x104]
lea eax, [esp + 0x144]
push eax
call fcn.00451c69
add esp, 8
mov dword [esp + 0xec], 0x9053be6
mov dword [esp + 0xf0], 0x2a0b0505
mov byte [esp + 0xf4], 0x8e
xor eax, eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xf5], eax
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x440593
mov dl, byte [esp + eax + 0xec]
movzx esi, dl
lea ebx, [ecx + 1]
cmp edi, ebx
jae 0x44036c
cmp ecx, eax
ja 0x44059e
lea edx, [ecx + 0x10]
cmp edi, edx
mov dword [esp + 8], esi
jae 0x440377
mov esi, ebx
lea ebx, [edi + ecx]
mov dword [esp + 0xc], ebx
cmp ebx, eax
jbe 0x440441
mov dword [esp + 0x10], 0x10
cmp edi, edx
mov ebx, esi
je 0x4404dd
mov edx, ecx
add ecx, 6
cmp edi, ecx
je 0x44051a
mov dword [esp + 0x10], edx
lea ecx, [edx + 2]
cmp edi, ecx
jne 0x4402d0
lea ecx, [eax + 0x4c292a86]
mov esi, dword [esp + 8]
lea ebx, [eax + esi]
add ebx, 0x4c292a86
and ecx, esi
add ecx, ecx
sub ebx, ecx
add bl, 0x56
mov ecx, dword [esp + 0x10]
jmp 0x44049c
jne 0x4403bb
mov esi, ecx
mov ebx, ecx
jmp 0x440433
cmp ecx, 0xf
je 0x4404d5
cmp ecx, 0xe
je 0x440506
cmp ecx, 0xd
mov esi, dword [esp + 8]
jne 0x44030c
lea edx, [eax + 0x263e2f55]
lea ebx, [eax + esi]
add ebx, 0x263e2f55
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xad
mov dword [esp + 0xc], 0x1d
jmp 0x440479
lea edx, [ecx + 3]
cmp edi, edx
jne 0x440450
mov dword [esp + 0xc], edi
lea edi, [eax + 0x729ed1f3]
lea edx, [eax + esi]
add edx, 0x729ed1f3
and edi, esi
add edi, edi
sub edx, edi
add dl, 0x5b
mov byte [esp + eax + 0xec], dl
movzx edx, dl
not ecx
add ecx, eax
mov eax, ecx
sub eax, edx
lea edi, [eax - 0x33c8f774]
and edi, esi
mov dword [esp + 8], esi
mov esi, ecx
mov ecx, dword [esp + 8]
add ecx, eax
add ecx, 0xcc37088c
add edi, edi
sub ecx, edi
mov edi, dword [esp + 0xc]
add cl, 0x2c
mov byte [esp + eax + 0xec], cl
add edx, edi
inc edi
sub esi, edx
mov dl, byte [esp + esi + 0xea]
add esi, 0xfffffffe
mov eax, esi
mov esi, ebx
movzx ecx, dl
add ecx, ebx
add eax, ecx
mov ecx, esi
jmp 0x44051d
mov ebx, esi
cmp edi, esi
jne 0x4404a9
mov dword [esp + 0x10], edi
jmp 0x4404dd
lea edx, [ecx + 5]
cmp edi, edx
jne 0x44050d
lea edx, [eax - 0x73453a3b]
lea ebx, [eax + esi]
add ebx, 0x8cbac5c5
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0x9d
add edi, ecx
mov dword [esp + 0xc], edi
mov edi, esi
lea esi, [eax - 0x40919b3f]
lea edx, [edi + eax]
add edx, 0xbf6e64c1
and esi, edi
add esi, esi
sub edx, esi
add dl, bl
add dl, 0xb9
mov byte [esp + eax + 0xec], dl
movzx edx, bl
not edx
add eax, edx
mov edi, dword [esp + 0xc]
jmp 0x44051d
lea edx, [ecx + 3]
cmp edi, edx
mov esi, dword [esp + 8]
je 0x440518
lea edx, [ecx + 4]
cmp edi, edx
jne 0x440529
lea edx, [eax - 0x26c8db91]
lea ebx, [eax + esi]
add ebx, 0xd937246f
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xf7
jmp 0x44049c
mov dword [esp + 0x10], 0x10
lea edx, [eax + 0xc3df78f]
mov esi, dword [esp + 8]
lea ecx, [eax + esi]
add ecx, 0xc3df78f
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0x17
mov byte [esp + eax + 0xec], cl
mov edi, dword [esp + 0x10]
jmp 0x44051a
mov edi, 0x10
jmp 0x440518
lea edx, [ecx + 4]
cmp edi, edx
jne 0x4402f9
mov ebx, ecx
dec eax
mov ecx, ebx
inc eax
cmp eax, 0x11
jb 0x4402e0
jmp 0x44059a
cmp edi, ebx
jbe 0x440547
lea edx, [eax - 0x4d3e82fe]
lea ebx, [eax + esi]
add ebx, 0xb2c17d02
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xf2
jmp 0x44058a
lea edx, [ecx + 5]
cmp edi, edx
jne 0x44056b
lea edx, [eax - 0x1a1bf3d2]
lea ebx, [eax + esi]
add ebx, 0xe5e40c2e
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xbe
jmp 0x440479
lea edx, [ecx + 7]
cmp edi, edx
je 0x440518
lea edx, [eax + 0x59983699]
lea ebx, [eax + esi]
add ebx, 0x59983699
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xd1
mov byte [esp + eax + 0xec], bl
jmp 0x44051d
mov eax, 0x15ce565
jmp 0x4405a3
xor eax, eax
jmp 0x4405a3
mov eax, 0x144aecc
lea esi, [esp + eax]
add esi, 0xec
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [esp + 0x38]
push eax
push esi
call fcn.00450e50
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x14], 0x10
mov ebx, eax
jb 0x4405e7
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, edx
sub eax, ecx
cmp eax, esi
jae 0x4406f1
mov eax, closesocket
sub eax, ecx
cmp eax, esi
jb 0x445bd1
mov dword [esp + 0xc], ecx
add ecx, esi
mov dword [esp + 0x10], ecx
or ecx, 0xf
mov dword [esp + 0x1c], closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x440665
mov eax, edx
shr edx, 1
mov edi, edx
xor edi, 0x7fffffff
cmp edi, eax
mov eax, closesocket
jb 0x440665
add edx, dword [esp + 8]
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x4458db
mov dword [esp + 0x1c], edx
push eax
call fcn.0040130b
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x440727
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
push esi
push ebx
push edi
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], edi
add esi, edi
mov edi, dword [esp + 0x10]
push eax
push edi
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebx + 1]
cmp ecx, 0x1000
jb 0x4406e1
mov eax, dword [edi - 4]
add edi, 0xfffffffc
sub edi, eax
cmp edi, 0x20
jae 0x445bd6
mov edx, ebx
add edx, 0x24
mov ecx, edx
mov edi, eax
push ecx
push edi
call fcn.00471733
add esp, 8
mov edi, dword [esp + 0xc]
jmp 0x440748
lea eax, [ecx + esi]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x38]
cmp edx, 0x10
jb 0x440705
mov edi, dword [esp + 0x38]
lea eax, [ebx + esi]
cmp eax, edi
mov edx, ebx
mov dword [esp + 8], eax
jbe 0x44074e
lea eax, [edi + ecx]
mov ebx, esi
cmp eax, edx
jb 0x440750
xor ebx, ebx
mov eax, edi
sub eax, edx
jbe 0x440750
mov ebx, eax
jmp 0x440750
push esi
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
inc eax
add esi, edi
push eax
lea eax, [esp + 0x3c]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x38], edi
jmp 0x440786
mov ebx, esi
inc ecx
lea eax, [edi + esi]
push ecx
push edi
push eax
mov dword [esp + 0x18], edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push ebx
push dword [esp + 0x10]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub esi, ebx
mov eax, dword [esp + 8]
add eax, ebx
add edi, ebx
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea esi, [esp + 0x78]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0xe0], xmm0
movups xmm0, xmmword [esp + 0x38]
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
sub esp, 0xc
mov al, byte [esp + 0x9c]
mov byte [esp], al
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
lea eax, [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, esi
call fcn.00451d58
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov ecx, edx
sub ecx, edi
cmp ecx, eax
jae 0x4408ec
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0xc], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov esi, closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x44086d
mov dword [esp + 0x10], ebx
mov ebx, edx
shr edx, 1
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, closesocket
mov ebx, dword [esp + 0x10]
jb 0x44086d
add edx, dword [esp + 8]
cmp ecx, edx
mov esi, edx
cmovae esi, ecx
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x4458f7
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 8]
cmp esi, 0x10
jb 0x440916
mov eax, dword [esp + 0x78]
push edi
mov dword [esp + 0x14], eax
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x14]
add esp, 0xc
mov edi, esi
mov byte [esi + ebx], 0
lea ecx, [edx + 1]
cmp ecx, 0x1000
jb 0x440940
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add edx, 0x24
mov ecx, edx
jmp 0x440944
mov ebx, eax
add ebx, edi
mov dword [esp + 0x88], ebx
cmp edx, 0x10
jb 0x440900
mov esi, dword [esp + 0x78]
add edi, esi
push eax
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x440954
push edi
lea eax, [esp + 0x7c]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x440950
mov eax, dword [esp + 0x10]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x78], esi
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x30], xmm0
movups xmm0, xmmword [esp + 0x78]
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
mov byte [esp + 0x78], 0
push dword [esp + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jae 0x440a85
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0xc], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov dword [esp + 8], closesocket
mov eax, closesocket
js 0x440a08
mov edx, esi
shr edx, 1
mov dword [esp + 0x10], ebx
mov ebx, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, ebx
mov ebx, dword [esp + 0x10]
jb 0x440a08
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x44590a
mov dword [esp + 8], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edx, dword [esp + 8]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
cmp esi, 0x10
jb 0x440ab2
mov eax, dword [esp + 0x20]
push edi
mov dword [esp + 0x14], eax
push eax
push ecx
mov dword [esp + 0x14], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esp + 8]
push dword [esp + 0xc]
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov edi, eax
mov byte [eax + ebx], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x440adc
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add esi, 0x24
mov ecx, esi
jmp 0x440ae0
mov ebx, eax
add ebx, edi
mov dword [esp + 0x30], ebx
mov ecx, esi
lea esi, [esp + 0x20]
cmp ecx, 0x10
jb 0x440a9c
mov esi, dword [esp + 0x20]
add edi, esi
push eax
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x440af0
push edi
lea eax, [esp + 0x24]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x440aec
mov eax, dword [esp + 0x10]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x20], esi
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0xa0], xmm0
movdqa xmm0, xmmword [esp + 0x20]
movdqa xmmword [esp + 0x90], xmm0
sub esp, 0x14
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xa4]
mov dword [esp + 4], eax
lea eax, [esp + 0x134]
mov dword [esp], eax
call fcn.00421ed8
add esp, 0x14
mov eax, dword [esp + 0xa4]
cmp eax, 0x10
jb 0x440b75
mov ecx, dword [esp + 0x90]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x440b6b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
xor eax, eax
mov dword [esp + 0xa0], eax
mov ecx, 0xf
mov dword [esp + 0xa4], ecx
mov byte [esp + 0x90], al
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x8c]
cmp eax, 0x10
jb 0x440bda
mov ecx, dword [esp + 0x78]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x440bd0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
mov byte [esp + 0x78], 0
mov eax, dword [esp + 0xe4]
cmp eax, 0x10
jb 0x440c35
mov ecx, dword [esp + 0xd0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x440c2b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
mov eax, dword [esp + 0x4c]
cmp eax, 0x10
jb 0x440c8d
mov ecx, dword [esp + 0x38]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x440c83
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [esp + 0x154]
cmp eax, 0x10
jb 0x440ccd
mov ecx, dword [esp + 0x140]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x440cc3
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov word [esp + 0xec], 0x2d88
lea eax, [esp + 0xee]
xor ecx, ecx
mov dword [eax + 0xa], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 6], ecx
call fcn.0046d640
mov ebx, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp ebx, eax
ja 0x440f40
mov dl, byte [esp + eax + 0xec]
movzx esi, dl
lea edi, [ecx + 1]
cmp ebx, edi
jae 0x440d84
cmp ecx, eax
ja 0x440f4b
mov dword [esp + 8], esi
lea esi, [ebx + ecx]
cmp esi, eax
jbe 0x440db4
lea edx, [ecx + 9]
cmp ebx, edx
je 0x440e8f
lea edx, [ecx + 6]
cmp ebx, edx
je 0x440e8d
lea edx, [ecx + 8]
cmp ebx, edx
jne 0x440e94
lea esi, [eax - 0x6b642ce2]
mov edx, dword [esp + 8]
add edx, eax
add edx, 0x949bd31e
and esi, dword [esp + 8]
add esi, esi
sub edx, esi
add dl, 0x2e
mov byte [esp + eax + 0xec], dl
not ecx
add eax, ecx
movzx ecx, dl
sub eax, ecx
mov ecx, edi
mov edi, dword [esp + 8]
jmp 0x440ea3
je 0x440ecf
lea edx, [ecx + 3]
cmp ebx, edx
jne 0x440e21
lea edx, [eax - 0x1c2c5056]
lea edi, [eax + esi]
add edi, 0xe3d3afaa
and edx, esi
add edx, edx
sub edi, edx
mov edx, edi
add dl, 0x5a
jmp 0x440e7b
cmp ebx, edi
jne 0x440de0
lea edx, [eax + 0x2f5a2fb6]
mov esi, dword [esp + 8]
lea ecx, [eax + esi]
add ecx, 0x2f5a2fb6
and edx, esi
add edx, edx
sub ecx, edx
add cl, 6
mov byte [esp + eax + 0xec], cl
jmp 0x440e8f
lea edx, [ecx + 2]
cmp ebx, edx
je 0x440e8f
lea edx, [ecx + 3]
cmp ebx, edx
je 0x440e8d
lea edx, [ecx + 5]
cmp ebx, edx
jne 0x440ee2
lea edx, [eax + 0x37ede62a]
mov esi, dword [esp + 8]
lea edi, [eax + esi]
add edi, 0x37ede62a
and edx, esi
add edx, edx
sub edi, edx
mov edx, edi
add dl, 0xda
jmp 0x440e7b
lea edx, [ecx + 5]
cmp ebx, edx
jne 0x440e82
lea edx, [eax + 0x49155312]
lea edi, [eax + esi]
add edi, 0x49155312
and edx, esi
add edx, edx
sub edi, edx
mov edx, edi
add dl, 0x82
mov dword [esp + 0xc], edx
add ebx, ecx
mov dword [esp + 0x10], ebx
mov edi, esi
lea esi, [eax + 0x61fb016a]
lea edx, [edi + eax]
add edx, 0x61fb016a
and esi, edi
add esi, esi
sub edx, esi
mov esi, dword [esp + 0xc]
mov ebx, esi
add dl, bl
add dl, 0x1a
mov byte [esp + eax + 0xec], dl
mov edx, esi
mov ebx, dword [esp + 0x10]
movzx edx, dl
not edx
jmp 0x440ed4
lea edx, [ecx + 2]
cmp ebx, edx
jne 0x440d14
mov edi, ecx
dec eax
mov ecx, edi
jmp 0x440ed6
lea edx, [ecx + 5]
cmp ebx, edx
mov edi, dword [esp + 8]
jne 0x440ceb
lea esi, [eax - 0x5213c408]
lea edx, [eax + edi]
add edx, 0xadec3bf8
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x38
mov byte [esp + eax + 0xec], dl
sub eax, ebx
inc ebx
mov dl, byte [esp + eax + 0xea]
add eax, 0xfffffffe
movzx edx, dl
add edx, ecx
add eax, edx
inc eax
cmp eax, 0x10
jb 0x440cfb
jmp 0x440f47
lea edx, [ecx + 4]
cmp ebx, edx
jne 0x440f12
lea edx, [eax + 0x4b86800c]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x4b86800c
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xac
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
jmp 0x440e4e
cmp ecx, 9
ja 0x440db8
lea esi, [eax + 0x195068da]
mov edi, dword [esp + 8]
lea edx, [eax + edi]
add edx, 0x195068da
and esi, edi
add esi, esi
sub edx, esi
add dl, 0xa
mov byte [esp + eax + 0xec], dl
jmp 0x440ed6
mov eax, 0x156db52
jmp 0x440f50
xor eax, eax
jmp 0x440f50
mov eax, 0x1467278
add eax, esp
add eax, 0xec
mov dword [esp + 0x14], eax
lea eax, [esp + 0xb1]
xor ecx, ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
pxor xmm0, xmm0
movdqu xmmword [eax - 7], xmm0
mov word [esp + 0xa8], 0xa101
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x4411f8
mov bl, byte [esp + eax + 0xa8]
movzx edx, bl
mov dword [esp + 8], edx
lea edi, [ecx + 1]
cmp esi, edi
jae 0x440fcf
cmp ecx, eax
ja 0x441203
lea edx, [esi + ecx]
cmp edx, eax
jbe 0x44101b
mov dword [esp + 0xc], edx
lea edx, [ecx + 8]
cmp esi, edx
jne 0x44106c
mov edi, ecx
jmp 0x44109f
je 0x441114
lea edx, [ecx + 2]
cmp esi, edx
jne 0x441044
lea edx, [eax - 0x2ebc7337]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
lea ebx, [esi + eax]
add ebx, 0xd1438cc9
and edx, esi
mov esi, dword [esp + 0xc]
add edx, edx
sub ebx, edx
add bl, 0x81
mov byte [esp + eax + 0xa8], bl
movzx edx, bl
not ecx
add ecx, eax
sub ecx, edx
mov edx, dword [esp + 8]
mov eax, ecx
jmp 0x4410e7
cmp esi, edi
jne 0x441094
lea edx, [eax + 0x628ffa5d]
mov ebx, dword [esp + 8]
lea ecx, [ebx + eax]
add ecx, 0x628ffa5d
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0x75
mov byte [esp + eax + 0xa8], cl
jmp 0x44109f
lea edx, [ecx + 3]
cmp esi, edx
jne 0x4410a7
lea edx, [eax - 0x46ebf68d]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xb9140973
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xdb
jmp 0x441163
lea edx, [ecx + 3]
cmp esi, edx
jne 0x4410d6
lea edx, [eax - 0x75a869c4]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x8a57963c
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x5c
jmp 0x44113e
mov dword [esp + 0xc], edx
lea edx, [ecx + 2]
cmp esi, edx
jne 0x44111b
dec eax
mov ecx, edi
jmp 0x44116a
lea edx, [ecx + 5]
cmp esi, edx
jne 0x441179
lea edx, [eax + 0x27c79bdf]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x27c79bdf
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xe7
add esi, ecx
mov dword [esp + 0xc], esi
jmp 0x44113e
lea edx, [ecx + 9]
cmp esi, edx
jne 0x441189
mov edi, ecx
mov edx, dword [esp + 8]
lea ecx, [eax - 0x530f8e9c]
and ecx, edx
add edx, eax
add edx, 0xacf07164
add ecx, ecx
sub edx, ecx
add dl, 0x44
mov byte [esp + eax + 0xa8], dl
sub eax, esi
inc esi
mov bl, byte [esp + eax + 0xa6]
add eax, 0xfffffffe
mov ecx, edi
movzx edx, bl
add edx, ecx
jmp 0x441168
lea edx, [ecx + 3]
cmp esi, edx
jne 0x441195
lea edx, [eax + 0x35999dc7]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0x35999dc7
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x8f
lea esi, [eax + 0x19e9c393]
and esi, edi
lea edx, [edi + eax]
add edx, 0x19e9c393
add esi, esi
sub edx, esi
add dl, bl
add dl, 0xfb
mov byte [esp + eax + 0xa8], dl
mov esi, dword [esp + 0xc]
movzx edx, bl
not edx
add eax, edx
inc eax
cmp eax, 0x19
jb 0x440f8d
jmp 0x4411ff
lea edx, [ecx + 4]
cmp esi, edx
jne 0x440faa
jmp 0x44101f
lea edx, [ecx + 4]
cmp esi, edx
je 0x441114
jmp 0x440f7d
lea edx, [ecx + 5]
cmp esi, edx
jne 0x4411ba
lea edx, [eax - 0x5bb2cfcd]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xa44d3033
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x9b
jmp 0x441163
lea edx, [ecx + 4]
cmp esi, edx
je 0x440fdc
lea edx, [ecx + 6]
cmp esi, edx
je 0x4410e1
lea edx, [eax - 0x24531b65]
mov edi, dword [esp + 8]
lea ebx, [eax + edi]
add ebx, 0xdbace49b
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xc3
mov byte [esp + eax + 0xa8], bl
jmp 0x44116a
mov eax, 0x1167cbf
jmp 0x441208
xor eax, eax
jmp 0x441208
mov eax, 0x1699824
add eax, esp
add eax, 0xa8
mov dword [esp + 0x10], eax
push dword [esp + 0x104]
lea eax, [esp + 0x7c]
push eax
call fcn.00451c69
add esp, 8
mov dword [esp + 0x38], 0xfde1e3c6
mov dword [esp + 0x3c], 0xfaf3e9f9
mov byte [esp + 0x40], 0x1e
xor eax, eax
mov dword [esp + 0x45], eax
mov dword [esp + 0x41], eax
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x441561
mov dl, byte [esp + eax + 0x38]
movzx edi, dl
lea ebx, [ecx + 1]
cmp esi, ebx
jae 0x44129d
cmp ecx, eax
ja 0x44156c
mov dword [esp + 8], edi
lea edi, [ecx + 0x10]
cmp esi, edi
jae 0x4412da
lea edi, [esi + ecx]
cmp edi, eax
jbe 0x441319
cmp esi, ebx
mov ebx, dword [esp + 8]
jne 0x441382
mov edx, esi
jmp case.0x4412ec.14
je 0x44137b
mov dword [esp + 8], edi
lea edi, [ecx + 3]
cmp esi, edi
je case.0x4412ec.12
lea edi, [ecx + 2]
cmp esi, edi
jne 0x44145f
lea edi, [eax + 0x6da7a6eb]
mov ebx, dword [esp + 8]
lea edx, [eax + ebx]
add edx, 0x6da7a6eb
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x93
jmp 0x4413a7
lea edi, [ecx - 0xb]
cmp edi, 4
ja case.default.0x4412ec
mov edx, 0xf
mov esi, 0x10
jmp dword [edi*4 + 0x473930]
lea esi, [eax + 0x3cbc0eb3]
mov edi, dword [esp + 8]
lea edx, [eax + edi]
add edx, 0x3cbc0eb3
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x1b
mov esi, 0x10
jmp 0x4413a7
cmp edi, 2
jne 0x4413b3
mov dword [esp + 0xc], ebx
lea edi, [eax + 0x50904eb1]
mov ebx, dword [esp + 8]
lea edx, [eax + ebx]
add edx, 0x50904eb1
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x29
mov byte [esp + eax + 0x38], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0xc]
lea edi, [eax + 0x23dbd304]
lea edx, [eax + ebx]
add edx, 0x23dbd304
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xe4
mov byte [esp + eax + 0x38], dl
sub eax, esi
inc esi
mov dl, byte [esp + eax + 0x36]
add eax, 0xfffffffe
movzx edx, dl
add edx, ecx
jmp 0x4413ac
lea edx, [ecx + 2]
cmp esi, edx
jne 0x441477
lea esi, [eax + 0x64cefe42]
lea edx, [eax + ebx]
add edx, 0x64cefe42
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0x32
mov esi, edi
movzx edx, dl
not edx
add eax, edx
jmp 0x44150d
mov dword [esp + 0x1c], esi
lea esi, [ecx + 8]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x1c]
cmp esi, dword [esp + 0x18]
jbe 0x44149f
mov dword [esp + 0xe8], edi
mov dword [esp + 0xc], ebx
lea edi, [eax + 0x58fe87c7]
mov ebx, dword [esp + 8]
add ebx, eax
add ebx, 0x58fe87c7
and edi, dword [esp + 8]
add edi, edi
sub ebx, edi
add bl, 0x8f
mov edi, ebx
mov ebx, dword [esp + 0xc]
cmp esi, ebx
je 0x44137b
lea edx, [ecx + 3]
cmp esi, edx
je case.0x4412ec.12
lea edx, [ecx + 6]
cmp esi, edx
mov edx, dword [esp + 8]
jne 0x441519
lea esi, [eax - 0x6a456986]
mov edi, edx
add edx, eax
add edx, 0x95ba967a
and esi, edi
add esi, esi
sub edx, esi
lea esi, [eax - 0x5606b9f5]
and esi, edi
lea ebx, [eax + edi]
add ebx, 0xa9f9460b
add esi, esi
sub ebx, esi
add dl, 0xaa
add bl, dl
add bl, 0xb3
mov byte [esp + eax + 0x38], bl
mov esi, dword [esp + 0xe8]
jmp 0x4413a7
lea edi, [ecx + 4]
cmp esi, edi
jne 0x4414d9
mov edx, ecx
jmp case.0x4412ec.14
mov edx, 0xd
jmp case.0x4412ec.14
lea edx, [ecx + 3]
cmp esi, edx
je 0x441355
lea esi, [ecx + 0x5a]
lea edx, [ecx + 0x5e]
add ecx, 0x68
mov eax, 0
cmp esi, ecx
mov ecx, edx
jae 0x441256
jmp 0x441246
cmp esi, ebx
je case.0x4412ec.15
mov dword [esp + 0xe8], edi
lea edi, [ecx + 2]
cmp esi, edi
je 0x441508
lea edi, [ecx + 5]
cmp esi, edi
jne 0x441526
lea edi, [eax + 0x4088bbab]
mov ebx, dword [esp + 8]
lea edx, [eax + ebx]
add edx, 0x4088bbab
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x53
jmp 0x4413a7
lea edi, [ecx + 7]
cmp esi, edi
mov edi, dword [esp + 8]
jne 0x44126c
lea edx, [eax + 0x3623d65]
mov edi, dword [esp + 8]
lea ecx, [eax + edi]
add ecx, 0x3623d65
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x3d
mov byte [esp + eax + 0x38], cl
mov edx, ebx
dec eax
mov ecx, edx
inc eax
cmp eax, 0x11
jb 0x441256
jmp 0x441568
cmp ecx, 9
ja case.0x4412ec.15
mov edx, edi
mov byte [esp + eax + 0x38], dl
jmp 0x44150d
lea edi, [ecx + 3]
cmp esi, edi
je case.0x4412ec.12
cmp esi, dword [esp + 0x18]
je 0x44137b
mov dword [esp + 0xc], ebx
lea edi, [eax - 0x2cb47bad]
mov ebx, dword [esp + 8]
add ebx, eax
add ebx, 0xd34b8453
and edi, dword [esp + 8]
add edi, edi
sub ebx, edi
add bl, 0xbb
jmp 0x4413f4
mov eax, 0x1086c17
jmp 0x441571
xor eax, eax
jmp 0x441571
mov eax, 0x17ce7c4
lea esi, [esp + eax]
add esi, 0x38
xor eax, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [esp + 0xd0]
push eax
push esi
call fcn.00450e50
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x14], 0x10
mov ebx, eax
jb 0x4415c1
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov eax, edx
sub eax, ecx
cmp eax, esi
jae 0x4416da
mov eax, closesocket
sub eax, ecx
cmp eax, esi
jb 0x445bd1
mov dword [esp + 0xc], ecx
add ecx, esi
mov dword [esp + 0x18], ecx
or ecx, 0xf
mov dword [esp + 0x1c], closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x441645
mov eax, edx
shr edx, 1
mov edi, edx
xor edi, 0x7fffffff
cmp edi, eax
mov eax, closesocket
jb 0x441645
add edx, dword [esp + 8]
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x44592a
mov dword [esp + 0x1c], edx
push eax
call fcn.0040130b
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x441719
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x18], ecx
push esi
push ebx
push edi
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], edi
add esi, edi
mov edi, dword [esp + 0x18]
push eax
push edi
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebx + 1]
cmp ecx, 0x1000
jb 0x4416ca
mov eax, dword [edi - 4]
add edi, 0xfffffffc
sub edi, eax
cmp edi, 0x20
jae 0x445bd6
mov edx, ebx
add edx, 0x24
mov ecx, edx
mov edi, eax
push ecx
push edi
call fcn.00471733
add esp, 8
mov edi, dword [esp + 0xc]
jmp 0x44173d
lea eax, [ecx + esi]
mov dword [esp + 0xe0], eax
lea edi, [esp + 0xd0]
cmp edx, 0x10
jb 0x4416f7
mov edi, dword [esp + 0xd0]
lea eax, [ebx + esi]
cmp eax, edi
mov edx, ebx
mov dword [esp + 8], eax
jbe 0x441746
lea eax, [edi + ecx]
mov ebx, esi
cmp eax, edx
jb 0x441748
xor ebx, ebx
mov eax, edi
sub eax, edx
jbe 0x441748
mov ebx, eax
jmp 0x441748
push esi
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
inc eax
add esi, edi
push eax
lea eax, [esp + 0xd4]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0xd0], edi
jmp 0x44177e
mov ebx, esi
inc ecx
lea eax, [edi + esi]
push ecx
push edi
push eax
mov dword [esp + 0x18], edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push ebx
push dword [esp + 0x10]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub esi, ebx
mov eax, dword [esp + 8]
add eax, ebx
add edi, ebx
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea esi, [esp + 0x20]
lea ecx, [esp + 0x78]
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 0x150], xmm0
movups xmm0, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x140], xmm0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
sub esp, 0xc
mov al, byte [esp + 0x5c]
mov byte [esp], al
mov dword [esp + 8], ecx
lea eax, [esp + 0x14c]
mov dword [esp + 4], eax
mov ecx, esi
call fcn.00451d58
push dword [esp + 0x10]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ecx, edx
sub ecx, edi
cmp ecx, eax
jae 0x4418e1
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0xc], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov esi, closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x441868
mov dword [esp + 0x18], ebx
mov ebx, edx
shr edx, 1
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, closesocket
mov ebx, dword [esp + 0x18]
jb 0x441868
add edx, dword [esp + 8]
cmp ecx, edx
mov esi, edx
cmovae esi, ecx
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x445946
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
mov esi, dword [esp + 8]
cmp esi, 0x10
jb 0x441908
mov eax, dword [esp + 0x20]
push edi
mov dword [esp + 0x1c], eax
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x14]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x14]
add esp, 0xc
mov edi, esi
mov byte [esi + ebx], 0
lea ecx, [edx + 1]
cmp ecx, 0x1000
jb 0x441932
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add edx, 0x24
mov ecx, edx
jmp 0x441936
mov ebx, eax
add ebx, edi
mov dword [esp + 0x30], ebx
cmp edx, 0x10
jb 0x4418f2
mov esi, dword [esp + 0x20]
add edi, esi
push eax
push dword [esp + 0x14]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x441946
push edi
lea eax, [esp + 0x24]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x14]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x441942
mov eax, dword [esp + 0x18]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x20], esi
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0xa0], xmm0
movups xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xf
mov byte [esp + 0x20], 0
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jae 0x441a83
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0xc], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov dword [esp + 8], closesocket
mov eax, closesocket
js 0x4419fd
mov edx, esi
shr edx, 1
mov dword [esp + 0x10], ebx
mov ebx, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, ebx
mov ebx, dword [esp + 0x10]
jb 0x4419fd
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x445959
mov dword [esp + 8], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edx, dword [esp + 8]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], edx
cmp esi, 0x10
jb 0x441ab9
mov eax, dword [esp + 0x90]
push edi
mov dword [esp + 0x14], eax
push eax
push ecx
mov dword [esp + 0x14], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esp + 8]
push dword [esp + 0xc]
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov edi, eax
mov byte [eax + ebx], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x441ae6
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add esi, 0x24
mov ecx, esi
jmp 0x441aea
mov ebx, eax
add ebx, edi
mov dword [esp + 0xa0], ebx
mov ecx, esi
lea esi, [esp + 0x90]
cmp ecx, 0x10
jb 0x441aa3
mov esi, dword [esp + 0x90]
add edi, esi
push eax
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x441afd
push edi
lea eax, [esp + 0x94]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x441af6
mov eax, dword [esp + 0x10]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x90], esi
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x60], xmm0
movdqa xmm0, xmmword [esp + 0x90]
movdqa xmmword [esp + 0x50], xmm0
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x130]
push eax
call fcn.0042754c
add esp, 0x14
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jb 0x441b73
mov ecx, dword [esp + 0x50]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x441b69
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
xor eax, eax
mov dword [esp + 0x60], eax
mov ecx, 0xf
mov dword [esp + 0x64], ecx
mov byte [esp + 0x50], al
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov byte [esp + 0x90], al
mov eax, dword [esp + 0x34]
cmp eax, 0x10
jb 0x441bd5
mov ecx, dword [esp + 0x20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x441bcb
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xf
mov byte [esp + 0x20], 0
mov eax, dword [esp + 0x154]
cmp eax, 0x10
jb 0x441c2a
mov ecx, dword [esp + 0x140]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x441c20
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0xf
mov byte [esp + 0x140], 0
mov eax, dword [esp + 0xe4]
cmp eax, 0x10
jb 0x441c88
mov ecx, dword [esp + 0xd0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x441c7e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [esp + 0x8c]
cmp eax, 0x10
jb 0x441cc5
mov ecx, dword [esp + 0x78]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x441cbb
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
lea eax, [esp + 0xb1]
pxor xmm0, xmm0
movdqu xmmword [eax + 7], xmm0
movdqu xmmword [eax - 7], xmm0
mov word [esp + 0xa8], 0x257a
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov edi, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x4420e6
movzx edx, byte [esp + eax + 0xa8]
lea ecx, [edi + 1]
cmp esi, ecx
jae 0x441d5a
cmp edi, eax
ja 0x4420f1
mov dword [esp + 8], esi
add esi, edi
cmp esi, eax
jbe 0x441da9
mov ecx, edi
add edi, 2
mov dword [esp + 0xc], ecx
add ecx, 4
mov esi, dword [esp + 8]
cmp esi, edi
jne 0x441e5a
lea ecx, [eax + 0x18a8ecc4]
lea ebx, [eax + edx]
add ebx, 0x18a8ecc4
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xa4
mov edi, dword [esp + 0xc]
jmp 0x441eee
jne 0x441d79
lea ecx, [eax - 0x38bdd691]
lea ebx, [eax + edx]
add ebx, 0xc742296f
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xf7
jmp 0x441f41
mov dword [esp + 0xc], edi
add edi, 2
cmp esi, edi
jne 0x441e88
lea ecx, [eax + 0x55c67c4d]
lea ebx, [eax + edx]
add ebx, 0x55c67c4d
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xe5
mov edi, dword [esp + 0xc]
jmp 0x441f15
mov dword [esp + 0x10], ecx
lea ecx, [eax + 0x426b6325]
lea ebx, [eax + edx]
add ebx, 0x426b6325
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xfd
cmp esi, 0x28
jne 0x441ec4
lea ecx, [eax - 0x3d1d8f89]
and ecx, edx
add ecx, ecx
lea ebx, [eax + edx]
add ebx, 0xc2e27077
sub ebx, ecx
add bl, 0xbf
mov byte [esp + eax + 0xa8], bl
movzx ecx, bl
mov dword [esp + 0xc], ecx
not edi
add edi, eax
mov esi, edi
sub esi, ecx
mov ecx, edi
lea edi, [esi + 0x54dd39c]
and edi, edx
add edi, edi
lea ebx, [esi + edx]
add ebx, 0x54dd39c
sub ebx, edi
add bl, 0xbc
mov byte [esp + esi + 0xa8], bl
lea esi, [eax - 0x7f88f2ae]
lea ebx, [eax + edx]
add ebx, 0x80770d52
and esi, edx
add esi, esi
sub ebx, esi
sub bl, dl
add bl, 0xc2
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
add eax, esi
inc esi
sub ecx, eax
movzx edx, byte [esp + ecx + 0xa6]
mov eax, ecx
add eax, 0xfffffffe
mov edi, dword [esp + 0x10]
jmp 0x441f41
mov ebx, ecx
mov edi, dword [esp + 0xc]
lea ecx, [edi + 0xa]
cmp esi, ecx
jne 0x441f21
lea ecx, [eax - 0x62804cf2]
lea ebx, [eax + edx]
add ebx, 0x9d7fb30e
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x9e
jmp 0x441f13
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xc]
add edx, 4
mov dword [esp + 0x18], edx
cmp esi, edx
jne 0x441f47
lea ecx, [eax - 0x1bb530d5]
mov edx, dword [esp + 0x14]
lea ebx, [eax + edx]
add ebx, 0xe44acf2b
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xd3
mov edi, dword [esp + 0xc]
jmp 0x441fc1
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x10]
cmp esi, ecx
jbe 0x441f76
lea ecx, [eax - 0x45fb8f8]
lea ebx, [eax + edx]
add ebx, 0xfba04708
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, dl
add bl, 0xc8
lea esi, [eax + 0x3e0baa2d]
lea ecx, [edx + eax]
add ecx, 0x3e0baa2d
and esi, edx
add esi, esi
sub ecx, esi
add cl, bl
add cl, 0xc5
mov byte [esp + eax + 0xa8], cl
mov esi, dword [esp + 8]
add esi, edi
movzx ecx, bl
not ecx
add eax, ecx
jmp 0x441fc2
cmp esi, ebx
jne 0x4420ca
lea ecx, [eax - 0x4f2533ca]
lea ebx, [eax + edx]
add ebx, 0xb0dacc36
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x86
add edx, edi
add eax, edx
jmp 0x441fc2
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xc]
add ecx, 8
cmp esi, ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 8], esi
jne 0x441fd1
lea ecx, [eax - 0x1207a441]
lea ebx, [eax + edx]
add ebx, 0xedf85bbf
and ecx, edx
mov byte [esp + 0xc], 0xc7
jmp 0x441f92
jne 0x44201d
lea ecx, [eax + 0x586d661b]
lea ebx, [eax + edx]
add ebx, 0x586d661b
and ecx, edx
mov byte [esp + 0xc], 0x43
add ecx, ecx
sub ebx, ecx
add bl, byte [esp + 0xc]
lea esi, [eax - 0x46cb1c1d]
lea ecx, [edx + eax]
add ecx, 0xb934e3e3
and esi, edx
add esi, esi
sub ecx, esi
add cl, 0xcb
mov byte [esp + eax + 0xa8], cl
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x10]
dec eax
inc eax
cmp eax, 0x20
jb 0x441cf4
jmp 0x4420ed
cmp dword [esp + 0xc], eax
ja 0x4420f1
mov ecx, dword [esp + 0xc]
add esi, ecx
cmp esi, eax
mov ecx, dword [esp + 0x18]
ja 0x441d2d
mov ecx, dword [esp + 0xc]
add ecx, 3
mov edi, dword [esp + 8]
cmp edi, ecx
jne 0x442086
lea ecx, [eax + 0x7dd02384]
lea ebx, [eax + edx]
add ebx, 0x7dd02384
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x64
jmp 0x441d51
lea ecx, [edi + 2]
cmp esi, ecx
jne 0x44203e
lea ecx, [eax + 0x621af2af]
lea ebx, [eax + edx]
add ebx, 0x621af2af
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x37
jmp 0x441fc1
lea ecx, [edi + 4]
cmp esi, ecx
jne 0x442062
lea ecx, [eax + 0x6bc87f43]
lea ebx, [eax + edx]
add ebx, 0x6bc87f43
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x2b
jmp 0x441f13
lea ecx, [edi + 3]
cmp esi, ecx
jne 0x4420b4
lea ecx, [eax + 0x7f23986b]
lea ebx, [eax + edx]
add ebx, 0x7f23986b
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x13
jmp 0x441f41
mov ecx, dword [esp + 0xc]
add ecx, 6
cmp edi, ecx
mov edi, dword [esp + 0xc]
jne 0x441dc5
lea ecx, [eax + 0xc547662]
lea ebx, [eax + edx]
add ebx, 0xc547662
and ecx, edx
mov byte [esp + 0xc], 0x52
jmp 0x441f92
test esi, esi
jne 0x441ed4
mov byte [esp + eax + 0xa8], bl
xor esi, esi
jmp 0x441fc2
lea ebx, [eax + edx]
add ebx, 0xfcf3bbef
add eax, 0xfcf3bbef
and eax, edx
add eax, eax
sub ebx, eax
add bl, 0x77
jmp 0x441ce4
mov eax, 0x920001
jmp 0x4420f6
xor eax, eax
jmp 0x4420f6
mov eax, 0x1669cdc
add eax, esp
add eax, 0xa8
mov dword [esp + 0x18], eax
lea eax, [esp + 0xee]
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 0xb], ecx
mov dword [eax + 7], ecx
mov word [esp + 0xec], 0x5e5
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x4423bf
mov dl, byte [esp + eax + 0xec]
movzx ebx, dl
lea edi, [ecx + 1]
cmp esi, edi
jae 0x442178
cmp ecx, eax
ja 0x4423ca
mov dword [esp + 8], edi
lea edi, [esi + ecx]
cmp edi, eax
jbe 0x442190
lea edi, [ecx + 0xa]
cmp esi, edi
je 0x4421ed
lea edi, [ecx + 0x10]
cmp esi, edi
mov esi, 0x10
je 0x442249
jmp 0x44211f
je 0x442249
mov dword [esp + 8], edi
lea edi, [ecx + 2]
cmp esi, edi
jne 0x4421e2
mov edi, ecx
jmp 0x44221b
mov dword [esp + 0xc], edi
lea edi, [ecx + 0xa]
cmp esi, edi
jbe 0x44225f
mov dword [esp + 0x14], edx
lea edi, [eax - 0x7c0a1fbf]
mov edx, ebx
add ebx, eax
add ebx, 0x83f5e041
mov dword [esp + 0x10], edx
and edi, edx
add edi, edi
sub ebx, edi
add bl, 0x39
mov dword [esp + 0x1c], ebx
cmp esi, 1
mov edi, dword [esp + 8]
ja 0x44228f
cmp esi, edi
jne 0x442335
xor esi, esi
inc esi
mov edx, dword [esp + 0x14]
jmp 0x442249
lea edi, [ecx + 3]
cmp esi, edi
jne 0x4422e2
lea edi, [eax + 0x7e8db787]
lea edx, [eax + ebx]
add edx, 0x7e8db787
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x4f
mov byte [esp + eax + 0xec], dl
movzx edx, dl
not ecx
add ecx, eax
sub ecx, edx
mov eax, ecx
mov edi, dword [esp + 8]
lea ecx, [eax - 0x22f48c24]
and ecx, ebx
lea edx, [eax + ebx]
add edx, 0xdd0b73dc
add ecx, ecx
sub edx, ecx
add dl, 0xfc
mov byte [esp + eax + 0xec], dl
sub eax, esi
inc esi
mov dl, byte [esp + eax + 0xea]
add eax, 0xfffffffe
mov ecx, edi
movzx edx, dl
add edx, ecx
add eax, edx
inc eax
cmp eax, 0x11
jb 0x44212f
jmp 0x4423c6
mov edi, dword [esp + 8]
cmp esi, edi
jne 0x44230d
lea edx, [eax + 0x496c633]
lea ecx, [ebx + eax]
add ecx, 0x496c633
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0x9b
mov byte [esp + eax + 0xec], cl
jmp 0x44234e
lea esi, [eax + 0x63148288]
mov edx, dword [esp + 0x10]
lea edi, [eax + edx]
add edi, 0x63148288
and esi, edx
add esi, esi
sub edi, esi
mov edx, edi
mov ebx, dword [esp + 0x14]
add bl, dl
add bl, 0x48
lea esi, [eax - 0x3e6dc123]
mov edx, dword [esp + 0x10]
lea edi, [eax + edx]
add edi, 0xc1923edd
and esi, edx
mov edx, ebx
add esi, esi
mov ebx, edi
sub ebx, esi
add bl, dl
add bl, 0xf5
mov byte [esp + eax + 0xec], bl
mov esi, dword [esp + 0xc]
jmp 0x442303
lea edi, [ecx + 5]
cmp esi, edi
jne 0x442345
lea edi, [eax + 0xf6717a7]
and edi, ebx
lea edx, [eax + ebx]
add edx, 0xf6717a7
add edi, edi
sub edx, edi
add dl, 0x6f
add esi, ecx
movzx edx, dl
not edx
jmp 0x44224e
lea edi, [ecx + 2]
cmp esi, edi
je 0x44234c
lea edi, [ecx + 4]
cmp esi, edi
jne 0x44236a
lea esi, [eax + 0x34df3b93]
lea edx, [eax + ebx]
add edx, 0x34df3b93
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0xfb
jmp 0x4422dc
mov edx, dword [esp + 0x1c]
mov byte [esp + eax + 0xec], dl
jmp 0x442250
lea edi, [ecx + 4]
cmp esi, edi
jne 0x442356
mov edi, ecx
dec eax
mov ecx, edi
jmp 0x442250
lea edi, [ecx + 7]
cmp esi, edi
mov edi, dword [esp + 8]
jne 0x442148
jmp 0x44226b
lea edi, [ecx + 5]
cmp esi, edi
jne 0x44238e
lea edi, [eax - 0xe254bc3]
lea edx, [eax + ebx]
add edx, 0xf1dab43d
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x55
jmp 0x442303
lea edi, [ecx + 6]
cmp esi, edi
je 0x442189
mov dword [esp + 0x14], edx
lea edi, [eax + 0x5e7dbc55]
mov edx, ebx
add ebx, eax
add ebx, 0x5e7dbc55
mov dword [esp + 0x10], edx
and edi, edx
add edi, edi
sub ebx, edi
add bl, 0xad
jmp 0x4421c0
mov eax, 0x784571
jmp 0x4423cf
xor eax, eax
jmp 0x4423cf
mov eax, 0x17a891c
add eax, esp
add eax, 0xec
mov dword [esp + 0x14], eax
push dword [esp + 0x104]
lea eax, [esp + 0x7c]
push eax
call fcn.00451c69
add esp, 8
mov dword [esp + 0x38], 0xd1c5c3a6
mov dword [esp + 0x3c], 0xa2d3d5d5
mov byte [esp + 0x40], 0x4e
lea eax, [esp + 0x41]
xor ecx, ecx
mov dword [eax + 0xa], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 6], ecx
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov edx, esi
mov ecx, dword [eax]
xor eax, eax
cmp edx, eax
ja 0x442737
mov bl, byte [esp + eax + 0x38]
movzx edi, bl
lea esi, [ecx + 1]
cmp edx, esi
jae 0x442469
cmp ecx, eax
ja 0x442742
mov byte [esp + 0xc], bl
lea ebx, [edx + ecx]
mov dword [esp + 0x10], ebx
cmp ebx, eax
jbe 0x4424b1
mov esi, edx
lea edx, [ecx + 6]
cmp esi, edx
mov edx, esi
jne 0x442530
mov esi, ecx
jmp 0x442616
jne 0x442472
mov esi, ecx
jmp 0x44262c
mov dword [esp + 8], edi
lea edi, [ecx + 3]
cmp edx, edi
je 0x44257b
lea edi, [ecx + 4]
cmp edx, edi
jne 0x4425e2
lea edi, [eax + 0x1d4b640f]
mov ebx, dword [esp + 8]
and edi, ebx
mov esi, edx
lea edx, [eax + ebx]
add edx, 0x1d4b640f
add edi, edi
sub edx, edi
add dl, 0x97
add esi, ecx
jmp 0x4426d1
mov dword [esp + 8], edi
lea edi, [ecx + 9]
cmp edx, edi
jae 0x442564
lea edi, [eax + 0x7706da8d]
mov ebx, dword [esp + 8]
add ebx, eax
add ebx, 0x7706da8d
and edi, dword [esp + 8]
add edi, edi
sub ebx, edi
add bl, 0x25
mov dword [esp + 0x1c], ebx
mov bl, byte [esp + 0xc]
cmp dword [esp + 0x10], 5
je 0x44257b
cmp edx, esi
mov edi, dword [esp + 8]
je 0x4425f8
lea edi, [ecx + 2]
cmp edx, edi
je 0x442616
lea edi, [ecx + 7]
cmp edx, edi
je 0x44257b
lea edi, [ecx + 3]
cmp edx, edi
je 0x44246b
lea edi, [ecx + 5]
cmp edx, edi
jne 0x44271d
mov bl, 0x96
mov esi, 0xb4843fc6
jmp 0x44269e
mov dword [esp + 8], edi
mov edi, edx
lea edx, [ecx + 8]
cmp edi, edx
jne 0x442619
lea esi, [eax - 0x34c98de8]
mov ebx, dword [esp + 8]
lea edx, [eax + ebx]
add edx, 0xcb367218
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0x58
mov esi, edi
jmp 0x4426d1
cmp edx, esi
mov bl, byte [esp + 0xc]
je 0x44246b
lea edi, [ecx + 3]
cmp edx, edi
jne 0x442644
lea edi, [eax - 0x4022a711]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 8]
lea ebx, [esi + eax]
add ebx, 0xbfdd58ef
and edi, esi
add edi, edi
sub ebx, edi
add bl, 0x77
mov byte [esp + eax + 0x38], bl
movzx edi, bl
not ecx
add ecx, eax
mov eax, ecx
sub eax, edi
lea ebx, [eax + 0x36e4337c]
and ebx, esi
mov dword [esp + 0xc], edx
lea edx, [eax + esi]
add edx, 0x36e4337c
mov esi, dword [esp + 0x10]
add ebx, ebx
sub edx, ebx
add dl, 0x9c
mov byte [esp + eax + 0x38], dl
mov edx, dword [esp + 0xc]
add edi, edx
sub ecx, edi
inc edx
mov bl, byte [esp + ecx + 0x36]
add ecx, 0xfffffffe
mov eax, ecx
jmp 0x44262c
lea edi, [ecx + 2]
cmp edx, edi
je 0x442616
lea edi, [ecx + 7]
cmp edx, edi
mov edi, dword [esp + 8]
jne 0x44243c
mov ebx, edi
lea edi, [eax - 0x1c3e1145]
lea ecx, [ebx + eax]
add ecx, 0xe3c1eebb
and edi, ebx
add edi, edi
sub ecx, edi
add cl, 0xe3
mov byte [esp + eax + 0x38], cl
dec eax
jmp 0x442633
lea edx, [ecx + 9]
mov esi, ecx
cmp edi, edx
mov edx, edi
mov bl, byte [esp + 0xc]
jne 0x442414
movzx ecx, bl
add ecx, esi
add eax, ecx
mov ecx, esi
inc eax
cmp eax, 0x17
jb 0x442426
jmp 0x44273e
lea edi, [ecx + 4]
cmp edx, edi
jne 0x44266b
lea edi, [eax + 0x5148fa70]
mov esi, edx
mov ebx, dword [esp + 8]
lea edx, [eax + ebx]
add edx, 0x5148fa70
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xf0
jmp 0x4426d1
lea edi, [ecx + 2]
cmp edx, edi
jne 0x442690
lea esi, [eax + 0x3f56af8a]
mov edi, dword [esp + 8]
lea edx, [eax + edi]
add edx, 0x3f56af8a
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x3a
jmp 0x4426cd
lea edi, [ecx + 5]
cmp edx, edi
jne 0x4426df
mov bl, 0x84
mov esi, 0x2d6464a4
mov edi, dword [esp + 8]
add esi, eax
lea edx, [esi + edi]
and esi, edi
add esi, esi
sub edx, esi
add dl, bl
lea esi, [eax - 0x2e305c2b]
lea ebx, [eax + edi]
add ebx, 0xd1cfa3d5
and esi, edi
add esi, esi
sub ebx, esi
add bl, dl
add bl, 0x2d
mov byte [esp + eax + 0x38], bl
mov esi, dword [esp + 0x10]
movzx edx, dl
not edx
add eax, edx
mov edx, esi
jmp 0x442635
lea edi, [eax - 0x3c70126f]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 8]
add ecx, eax
add ecx, 0xc38fed91
mov dword [esp + 0x1c], ecx
and edi, dword [esp + 8]
add edi, edi
sub dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x1c]
add cl, 9
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xe8]
jmp 0x4424e5
cmp ecx, 3
mov edi, dword [esp + 8]
ja 0x4425f8
mov ebx, dword [esp + 0x1c]
mov byte [esp + eax + 0x38], bl
jmp 0x442635
mov eax, 0xa1b149
jmp 0x442747
xor eax, eax
jmp 0x442747
mov eax, 0x15ad6bc
lea esi, [esp + eax]
add esi, 0x38
xor eax, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [esp + 0xd0]
push eax
push esi
call fcn.00450e50
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x14], 0x10
mov ebx, eax
jb 0x442797
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov eax, edx
sub eax, ecx
cmp eax, esi
jae 0x4428b0
mov eax, closesocket
sub eax, ecx
cmp eax, esi
jb 0x445bd1
mov dword [esp + 0x10], ecx
add ecx, esi
mov dword [esp + 0x1c], ecx
or ecx, 0xf
mov dword [esp + 0xc], closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x44281b
mov eax, edx
shr edx, 1
mov edi, edx
xor edi, 0x7fffffff
cmp edi, eax
mov eax, closesocket
jb 0x44281b
add edx, dword [esp + 8]
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x445979
mov dword [esp + 0xc], edx
push eax
call fcn.0040130b
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x4428ef
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc], ecx
push esi
push ebx
push edi
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], edi
add esi, edi
mov edi, dword [esp + 0xc]
push eax
push edi
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebx + 1]
cmp ecx, 0x1000
jb 0x4428a0
mov eax, dword [edi - 4]
add edi, 0xfffffffc
sub edi, eax
cmp edi, 0x20
jae 0x445bd6
mov edx, ebx
add edx, 0x24
mov ecx, edx
mov edi, eax
push ecx
push edi
call fcn.00471733
add esp, 8
mov edi, dword [esp + 0x10]
jmp 0x442913
lea eax, [ecx + esi]
mov dword [esp + 0xe0], eax
lea edi, [esp + 0xd0]
cmp edx, 0x10
jb 0x4428cd
mov edi, dword [esp + 0xd0]
lea eax, [ebx + esi]
cmp eax, edi
mov edx, ebx
mov dword [esp + 8], eax
jbe 0x44291c
lea eax, [edi + ecx]
mov ebx, esi
cmp eax, edx
jb 0x44291e
xor ebx, ebx
mov eax, edi
sub eax, edx
jbe 0x44291e
mov ebx, eax
jmp 0x44291e
push esi
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
inc eax
add esi, edi
push eax
lea eax, [esp + 0xd4]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0xd0], edi
jmp 0x442954
mov ebx, esi
inc ecx
lea eax, [edi + esi]
push ecx
push edi
push eax
mov dword [esp + 0x18], edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push ebx
push dword [esp + 0x10]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub esi, ebx
mov eax, dword [esp + 8]
add eax, ebx
add edi, ebx
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea esi, [esp + 0x20]
lea ecx, [esp + 0x78]
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 0x150], xmm0
movups xmm0, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x140], xmm0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
sub esp, 0xc
mov al, byte [esp + 0x5c]
mov byte [esp], al
mov dword [esp + 8], ecx
lea eax, [esp + 0x14c]
mov dword [esp + 4], eax
mov ecx, esi
call fcn.00451d58
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ecx, edx
sub ecx, edi
cmp ecx, eax
jae 0x442ab7
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0xc], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov esi, closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x442a3e
mov dword [esp + 0x10], ebx
mov ebx, edx
shr edx, 1
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, closesocket
mov ebx, dword [esp + 0x10]
jb 0x442a3e
add edx, dword [esp + 8]
cmp ecx, edx
mov esi, edx
cmovae esi, ecx
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x445995
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
mov esi, dword [esp + 8]
cmp esi, 0x10
jb 0x442ade
mov eax, dword [esp + 0x20]
push edi
mov dword [esp + 0x14], eax
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x14]
add esp, 0xc
mov edi, esi
mov byte [esi + ebx], 0
lea ecx, [edx + 1]
cmp ecx, 0x1000
jb 0x442b08
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add edx, 0x24
mov ecx, edx
jmp 0x442b0c
mov ebx, eax
add ebx, edi
mov dword [esp + 0x30], ebx
cmp edx, 0x10
jb 0x442ac8
mov esi, dword [esp + 0x20]
add edi, esi
push eax
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x442b1c
push edi
lea eax, [esp + 0x24]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x442b18
mov eax, dword [esp + 0x10]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x20], esi
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0xa0], xmm0
movups xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xf
mov byte [esp + 0x20], 0
push dword [esp + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jae 0x442c59
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x445bd1
mov dword [esp + 0xc], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov dword [esp + 8], closesocket
mov eax, closesocket
js 0x442bd3
mov edx, esi
shr edx, 1
mov dword [esp + 0x10], ebx
mov ebx, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, ebx
mov ebx, dword [esp + 0x10]
jb 0x442bd3
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x4459a8
mov dword [esp + 8], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edx, dword [esp + 8]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], edx
cmp esi, 0x10
jb 0x442c8f
mov eax, dword [esp + 0x90]
push edi
mov dword [esp + 0x14], eax
push eax
push ecx
mov dword [esp + 0x14], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esp + 8]
push dword [esp + 0xc]
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov edi, eax
mov byte [eax + ebx], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x442cbc
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x445bd6
add esi, 0x24
mov ecx, esi
jmp 0x442cc0
mov ebx, eax
add ebx, edi
mov dword [esp + 0xa0], ebx
mov ecx, esi
lea esi, [esp + 0x90]
cmp ecx, 0x10
jb 0x442c79
mov esi, dword [esp + 0x90]
add edi, esi
push eax
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x442cd3
push edi
lea eax, [esp + 0x94]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [esp + 0xc]
push dword [esp + 0x1c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x442ccc
mov eax, dword [esp + 0x10]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [esp + 0x90], esi
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x60], xmm0
movdqa xmm0, xmmword [esp + 0x90]
movdqa xmmword [esp + 0x50], xmm0
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x130]
push eax
call fcn.0042c344
add esp, 0x14
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jb 0x442d49
mov ecx, dword [esp + 0x50]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x442d3f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
xor eax, eax
mov dword [esp + 0x60], eax
mov ecx, 0xf
mov dword [esp + 0x64], ecx
mov byte [esp + 0x50], al
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov byte [esp + 0x90], al
mov eax, dword [esp + 0x34]
cmp eax, 0x10
jb 0x442dab
mov ecx, dword [esp + 0x20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x442da1
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xf
mov byte [esp + 0x20], 0
mov eax, dword [esp + 0x154]
cmp eax, 0x10
jb 0x442e00
mov ecx, dword [esp + 0x140]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x442df6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0xf
mov byte [esp + 0x140], 0
mov eax, dword [esp + 0xe4]
cmp eax, 0x10
jb 0x442e5e
mov ecx, dword [esp + 0xd0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x442e54
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [esp + 0x8c]
cmp eax, 0x10
jb 0x442e9b
mov ecx, dword [esp + 0x78]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x442e91
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
lea eax, [esp + 0x52]
pxor xmm0, xmm0
movdqu xmmword [eax + 0xd], xmm0
movdqu xmmword [eax], xmm0
mov word [esp + 0x50], 0x6dc8
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ebx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x443159
mov dl, byte [esp + eax + 0x50]
movzx edi, dl
lea ecx, [ebx + 1]
cmp esi, ecx
jae 0x442f29
cmp ebx, eax
ja 0x443164
mov dword [esp + 8], ecx
mov ecx, edx
lea edx, [esi + ebx]
mov dword [esp + 0x10], edx
cmp edx, eax
jbe 0x442f37
lea edx, [ebx + 2]
cmp esi, edx
mov ecx, dword [esp + 8]
je 0x443066
lea ecx, [ebx + 5]
cmp esi, ecx
jne 0x44302b
lea ecx, [eax + 0x13174e4c]
lea edx, [eax + edi]
add edx, 0x13174e4c
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0xec
jmp 0x44301e
jne 0x442f80
movzx ecx, dl
add ecx, ebx
add eax, ecx
jmp 0x443069
mov dword [esp + 0xc], edi
lea edi, [ebx + 8]
cmp esi, edi
mov edx, ecx
jbe 0x442fab
mov dword [esp + 0x14], ebx
lea edi, [eax - 0x784ce6b6]
mov ecx, dword [esp + 0xc]
lea ebx, [eax + ecx]
add ebx, 0x87b3194a
and edi, ecx
add edi, edi
sub ebx, edi
add bl, 0xfa
mov ecx, dword [esp + 8]
cmp esi, 1
ja 0x442fde
mov edi, ebx
cmp esi, ecx
mov ebx, dword [esp + 0x14]
jne 0x443078
mov dword [esp + 0xc], edi
lea edi, [ebx + 7]
cmp esi, edi
je 0x443064
lea edi, [ebx + 2]
cmp esi, edi
je 0x443066
lea edi, [ebx + 3]
cmp esi, edi
mov edi, dword [esp + 0xc]
jne 0x442ed9
jmp 0x442fbb
mov ecx, dword [esp + 8]
cmp esi, ecx
mov edi, dword [esp + 0xc]
jne 0x44305d
mov ebx, edi
lea edi, [eax - 0x1f1089c2]
lea edx, [ebx + eax]
add edx, 0xe0ef763e
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x4e
mov byte [esp + eax + 0x50], dl
jmp 0x443066
lea esi, [eax - 0x5ffcd0b0]
mov edi, dword [esp + 0xc]
lea ecx, [eax + edi]
add ecx, 0xa0032f50
and esi, edi
add esi, esi
sub ecx, esi
add dl, cl
add dl, 0xd0
mov ebx, dword [esp + 0x14]
lea esi, [eax + 0x5f16e862]
lea ecx, [eax + edi]
add ecx, 0x5f16e862
and esi, edi
add esi, esi
sub ecx, esi
add cl, dl
add cl, 0x52
mov byte [esp + eax + 0x50], cl
movzx ecx, dl
not ecx
add eax, ecx
mov esi, dword [esp + 0x10]
jmp 0x443069
lea ecx, [ebx + 4]
cmp esi, ecx
jne 0x443080
lea edi, [ebx + 2]
cmp esi, edi
jne 0x44309d
mov ecx, ebx
dec eax
mov ebx, ecx
inc eax
cmp eax, 0x1f
jb 0x442ec3
jmp 0x443160
mov eax, 0x154112a
jmp 0x443169
xor eax, eax
jmp 0x443169
mov eax, 0x1405818
add eax, esp
add eax, 0x50
mov dword [esp + 0x18], eax
lea eax, [esp + 0xee]
xor ecx, ecx
mov dword [eax + 0x11], ecx
mov dword [eax + 0xd], ecx
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov word [esp + 0xec], 0x5e5
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov edi, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x4437e7
movzx edx, byte [esp + eax + 0xec]
lea ecx, [edi + 1]
mov dword [esp + 8], ecx
cmp esi, ecx
jae 0x443248
lea ecx, [eax - 0x16cae8ab]
lea ebx, [eax + edx]
add ebx, 0xe9351755
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xad
cmp edi, eax
ja 0x4437f2
mov dword [esp + 0xc], edi
lea ecx, [edi + 3]
cmp esi, ecx
mov dword [esp + 0x10], esi
jae 0x44326b
mov dword [esp + 0x14], ecx
lea ecx, [eax + 0x215ae9f9]
lea ebx, [eax + edx]
add ebx, 0x215ae9f9
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x31
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
lea ecx, [esi + edi]
cmp ecx, eax
jbe 0x4432df
cmp esi, dword [esp + 0x14]
jne 0x4433c3
jne 0x4432b7
lea ecx, [eax - 0x4460ba01]
lea ebx, [eax + edx]
add ebx, 0xbb9f45ff
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 7
add edx, edi
add eax, edx
jmp 0x443614
mov edi, dword [esp + 8]
cmp esi, edi
jne 0x44336b
lea ecx, [eax - 0xc3ae75d]
lea ebx, [eax + edx]
add ebx, 0xf3c518a3
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x8b
lea esi, [eax - 0x2ba39ccd]
lea ecx, [edx + eax]
add ecx, 0xd45c6333
and esi, edx
add esi, esi
sub ecx, esi
add cl, 0x9b
mov byte [esp + eax + 0xec], cl
mov esi, dword [esp + 0x10]
jmp 0x443598
lea ecx, [edi + 2]
cmp esi, ecx
jne 0x44339b
lea ecx, [eax + 0x32ddd1fd]
lea ebx, [eax + edx]
add ebx, 0x32ddd1fd
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x15
jmp 0x44360d
lea ecx, [edi + 5]
mov dword [esp + 0x1c], ecx
cmp esi, ecx
jae 0x4433f3
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
add ecx, 2
cmp esi, ecx
jne 0x443424
lea ecx, [edi + 3]
cmp esi, ecx
jne 0x4431da
lea ecx, [eax + 0x54800a7]
lea ebx, [eax + edx]
add ebx, 0x54800a7
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x6f
jmp 0x44360b
add esi, edi
movzx ecx, bl
not ecx
add eax, ecx
inc eax
cmp eax, 0x17
jb 0x4431a3
jmp 0x4437ee
mov eax, 0xa0c471
jmp 0x4437f7
xor eax, eax
jmp 0x4437f7
mov eax, 0x16bad1c
add eax, esp
add eax, 0xec
mov dword [esp + 0x10], eax
push dword [esp + 0x104]
lea eax, [esp + 0x144]
push eax
call fcn.00451c69
add esp, 8
mov dword [esp + 0xa8], 0x2139335c
mov dword [esp + 0xac], 0x303b3d21
mov byte [esp + 0xb0], 0x94
lea eax, [esp + 0xb1]
xor ecx, ecx
mov dword [eax + 0xf], ecx
mov dword [eax + 0x13], ecx
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
call fcn.0046d640
mov eax, dword [eax]
mov dword [esp + 8], eax
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp dword [esp + 8], eax
ja 0x443c6d
mov dl, byte [esp + eax + 0xa8]
movzx esi, dl
lea ebx, [ecx + 1]
cmp dword [esp + 8], ebx
jae 0x4438db
cmp ecx, eax
ja 0x443c78
lea edi, [ecx + 0x10]
cmp dword [esp + 8], edi
jae 0x443923
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
add esi, ecx
cmp esi, eax
jbe 0x443951
cmp dword [esp + 8], edi
je 0x443af4
cmp dword [esp + 8], ebx
jne 0x443a66
jne 0x4438e4
mov esi, ecx
jmp 0x443b6f
mov dword [esp + 0xc], esi
lea esi, [ecx + 2]
cmp dword [esp + 8], esi
je 0x443b06
lea esi, [ecx + 4]
cmp dword [esp + 8], esi
jne 0x443a06
lea esi, [eax - 0x2dc93246]
mov edi, dword [esp + 0xc]
lea edx, [eax + edi]
add edx, 0xd236cdba
and esi, edi
add esi, esi
sub edx, esi
add dl, 0xea
jmp 0x443a5a
cmp dword [esp + 8], ebx
jne 0x4439ca
lea edx, [eax + 0x4956c0a6]
lea ecx, [esi + eax]
add ecx, 0x4956c0a6
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0x76
mov byte [esp + eax + 0xa8], cl
jmp 0x443af4
cmp esi, 0x10
je 0x443b06
lea edi, [ecx + 3]
cmp dword [esp + 8], edi
jbe 0x443aa1
mov dword [esp + 0xc], esi
lea esi, [ecx + 2]
cmp dword [esp + 8], esi
je 0x443af2
lea esi, [ecx + 3]
cmp dword [esp + 8], esi
jne 0x443af9
lea esi, [ecx + 5]
cmp dword [esp + 8], esi
jne 0x443ae1
lea ebx, [eax + 0x1332b762]
mov edi, dword [esp + 0xc]
lea edx, [eax + edi]
add edx, 0x1332b762
and ebx, edi
mov byte [esp + 0x14], 0x52
add ebx, ebx
sub edx, ebx
add dl, byte [esp + 0x14]
lea esi, [eax - 0x162b4a86]
lea ebx, [edi + eax]
add ebx, 0xe9d4b57a
and esi, edi
add esi, esi
sub ebx, esi
add bl, dl
add bl, 0xaa
mov byte [esp + eax + 0xa8], bl
add dword [esp + 8], ecx
movzx edx, dl
not edx
add eax, edx
jmp 0x443b78
lea esi, [ecx + 3]
cmp dword [esp + 8], esi
mov esi, dword [esp + 0xc]
jne 0x44387f
mov ebx, ecx
dec eax
mov ecx, ebx
jmp 0x443b78
lea esi, [eax - 0x75ad55b2]
mov edi, ebx
mov ebx, dword [esp + 0xc]
lea edx, [eax + ebx]
add edx, 0x8a52aa4e
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0xde
mov byte [esp + eax + 0xa8], dl
movzx edx, dl
not ecx
add ecx, eax
mov eax, ecx
sub eax, edx
lea esi, [eax - 0x256e5b48]
and esi, ebx
add ebx, eax
add ebx, 0xda91a4b8
add esi, esi
sub ebx, esi
add bl, 0xf8
mov byte [esp + eax + 0xa8], bl
mov esi, edi
mov eax, dword [esp + 8]
add edx, eax
sub ecx, edx
inc eax
mov dword [esp + 8], eax
mov dl, byte [esp + ecx + 0xa6]
add ecx, 0xfffffffe
mov eax, ecx
movzx ecx, dl
add ecx, esi
add eax, ecx
mov ecx, esi
inc eax
cmp eax, 0x20
jb 0x443862
jmp 0x443c74
mov eax, 0x14f39a2
jmp 0x443c7d
xor eax, eax
jmp 0x443c7d
mov eax, 0x1503f38
lea esi, [esp + eax]
add esi, 0xa8
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [esp + 0x38]
push eax
push esi
call fcn.00450e50
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x14], 0x10
mov ebx, eax
jb 0x443cc1
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, edx
sub eax, ecx
cmp eax, esi
jae 0x443dcb
mov eax, closesocket
sub eax, ecx
cmp eax, esi
jb 0x445bd1
mov dword [esp + 0xc], ecx
add ecx, esi
mov dword [esp + 0x14], ecx
or ecx, 0xf
mov dword [esp + 0x1c], closesocket
mov eax, closesocket
mov dword [esp + 8], edx
js 0x443d3f
mov eax, edx
shr edx, 1
mov edi, edx
xor edi, 0x7fffffff
cmp edi, eax
mov eax, closesocket
jb 0x443d3f
push eax
call fcn.0040130b
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x443e01
lea eax, [ecx + esi]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x38]
cmp edx, 0x10
jb 0x443ddf
mov edi, dword [esp + 0x38]
lea eax, [ebx + esi]
cmp eax, edi
mov edx, ebx
mov dword [esp + 8], eax
jbe 0x443e28
lea eax, [edi + ecx]
mov ebx, esi
cmp eax, edx
jb 0x443e2a
mov ebx, esi
inc ecx
lea eax, [edi + esi]
push ecx
push edi
push eax
mov dword [esp + 0x18], edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push ebx
push dword [esp + 0x10]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub esi, ebx
mov eax, dword [esp + 8]
add eax, ebx
add edi, ebx
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea esi, [esp + 0x78]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0xe0], xmm0
movups xmm0, xmmword [esp + 0x38]
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
sub esp, 0xc
mov al, byte [esp + 0x9c]
mov byte [esp], al
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
lea eax, [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, esi
call fcn.00451d58
push dword [esp + 0x10]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov ecx, edx
sub ecx, edi
cmp ecx, eax
jae 0x443fc6
call fcn.0040d3aa
mov eax, dword [esp + 0x134]
cmp eax, 0x10
jb 0x445863
mov ecx, dword [esp + 0x120]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x445859
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x445bd6
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x104], eax
cmp eax, 0x3e9
jne 0x43d63f
jmp 0x445b24
xor ecx, ecx
xor edx, edx
dec edx
jmp 0x43e6f4
test eax, eax
je 0x445a70
push eax
mov edi, edx
call fcn.004716fe
mov ecx, edi
add esp, 4
mov edi, eax
jmp 0x43f3be
test eax, eax
je 0x445a7a
push eax
call fcn.004716fe
jmp 0x43f5bd
test eax, eax
je 0x445a84
push eax
mov dword [esp + 0xc], edx
call fcn.004716fe
mov edx, dword [esp + 0xc]
add esp, 4
mov ecx, eax
jmp 0x43f761
test eax, eax
je 0x445a8e
push eax
mov edi, edx
call fcn.004716fe
mov ecx, edi
add esp, 4
mov edi, eax
jmp 0x440674
test eax, eax
je 0x445a98
push eax
call fcn.004716fe
jmp 0x440873
test eax, eax
je 0x445aa2
push eax
mov dword [esp + 0xc], edx
call fcn.004716fe
mov edx, dword [esp + 0xc]
add esp, 4
mov ecx, eax
jmp 0x440a17
test eax, eax
je 0x445aac
push eax
mov edi, edx
call fcn.004716fe
mov ecx, edi
add esp, 4
mov edi, eax
jmp 0x441654
test eax, eax
je 0x445ab6
push eax
call fcn.004716fe
jmp 0x44186e
test eax, eax
je 0x445ac0
push eax
mov dword [esp + 0xc], edx
call fcn.004716fe
mov edx, dword [esp + 0xc]
add esp, 4
mov ecx, eax
jmp 0x441a0c
test eax, eax
je 0x445aca
push eax
mov edi, edx
call fcn.004716fe
mov ecx, edi
add esp, 4
mov edi, eax
jmp 0x44282a
test eax, eax
je 0x445ad4
push eax
call fcn.004716fe
jmp 0x442a44
test eax, eax
je 0x445ade
push eax
mov dword [esp + 0xc], edx
call fcn.004716fe
mov edx, dword [esp + 0xc]
add esp, 4
mov ecx, eax
jmp 0x442be2
mov eax, 0x171cc1c
jmp 0x43e53f
xor edi, edi
xor ecx, ecx
dec ecx
jmp 0x43f3be
xor ecx, ecx
xor esi, esi
dec esi
jmp 0x43f5c2
xor ecx, ecx
xor edx, edx
dec edx
jmp 0x43f761
xor edi, edi
xor ecx, ecx
dec ecx
jmp 0x440674
xor ecx, ecx
xor esi, esi
dec esi
jmp 0x440878
xor ecx, ecx
xor edx, edx
dec edx
jmp 0x440a17
xor edi, edi
xor ecx, ecx
dec ecx
jmp 0x441654
xor ecx, ecx
xor esi, esi
dec esi
jmp 0x441873
xor ecx, ecx
xor edx, edx
dec edx
jmp 0x441a0c
xor edi, edi
xor ecx, ecx
dec ecx
jmp 0x44282a
xor ecx, ecx
xor esi, esi
dec esi
jmp 0x442a49
xor ecx, ecx
xor edx, edx
dec edx
jmp 0x442be2
mov ecx, dword [esp + 0x178]
cmp ecx, 0x10
jb 0x445b64
mov eax, dword [esp + 0x164]
lea esi, [ecx + 1]
cmp esi, 0x1000
jb 0x445b5a
mov edx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, edx
cmp eax, 0x20
jae 0x445bd6
add ecx, 0x24
mov esi, ecx
mov eax, edx
push esi
push eax
call fcn.00471733
add esp, 8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test eax, eax
je 0x445bb3
push eax
mov dword [esp + 0xc], edx
call fcn.004716fe
mov ecx, dword [esp + 0xc]
add esp, 4
jmp 0x43ce3a
test eax, eax
je 0x445bbd
push eax
call fcn.004716fe
jmp 0x43d01d
xor eax, eax
xor ecx, ecx
dec ecx
jmp 0x43c62b
mov dword [esp + 0xc], 0
xor eax, eax
dec eax
mov dword [esp + 8], eax
jmp 0x43c7e9
xor eax, eax
xor ecx, ecx
dec ecx
jmp 0x43ce3a
mov dword [esp + 0xc], 0
xor eax, eax
dec eax
mov dword [esp + 8], eax
jmp 0x43d024
call fcn.00401301
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea eax, [esp + 0x50]
lea ecx, [esp + 0x90]
push eax
push ecx
push str.exists
call fcn.0044f0d3
lea eax, [esp + 0x50]
lea ecx, [esp + 0x108]
jmp 0x445be7