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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1a0
mov esi, esp
mov ecx, dword [ebp + 8]
xor edi, edi
mov dword [esi + 0x88], edi
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], 0xf
mov byte [esi + 0x88], 0
sub esp, 0xc
mov al, byte [esi + 0xe0]
mov byte [esp + 8], al
mov dword [esp + 4], ecx
lea eax, [esi + 0xc8]
mov dword [esp], eax
call fcn.00452893
add esp, 0xc
mov dword [esi + 0xc], esp
sub esp, 0x20
mov eax, esp
mov dword [esi + 0x10], eax
add eax, 8
mov dword [esi + 0x14], eax
mov dword [esi + 0x20], 0x3c393e42
mov dword [esi + 0x24], 0x2028283d
mov word [esi + 0x28], 0x952b
mov dword [esi + 0x2e], edi
mov dword [esi + 0x2a], edi
mov dword [esi + 0x32], edi
call fcn.0046d640
mov ebx, dword [eax]
call fcn.0046d646
mov edi, dword [eax]
xor eax, eax
cmp ebx, eax
ja 0x439b80
mov dl, byte [esi + eax + 0x20]
movzx ecx, dl
mov dword [esi + 8], ecx
mov dword [esi], edi
lea ecx, [edi + 1]
mov dword [esi + 4], ebx
cmp ebx, ecx
jae 0x43996a
mov edi, dword [esi]
cmp edi, eax
ja 0x439b8b
mov ebx, dword [esi + 4]
add edi, ebx
cmp edi, eax
jbe 0x439989
cmp ebx, ecx
je 0x43998d
mov edi, dword [esi]
lea edx, [edi + 0x10]
mov ebx, dword [esi + 4]
cmp ebx, edx
je 0x439a63
lea ecx, [edi + 9]
cmp ebx, ecx
jne 0x439a68
lea ecx, [eax + 0x5951b1b0]
mov edx, dword [esi + 8]
add edx, eax
add edx, 0x5951b1b0
and ecx, dword [esi + 8]
add ecx, ecx
sub edx, ecx
add dl, 0x30
jmp 0x439a51
jne 0x439976
mov edi, dword [esi]
mov ebx, dword [esi + 4]
jmp 0x439a9b
mov edi, dword [esi]
add edi, 2
mov ebx, dword [esi + 4]
cmp ebx, edi
jne 0x4399b4
mov edi, dword [esi]
jmp 0x439a73
cmp ebx, ecx
jne 0x4399f1
lea edi, [eax - 0x5bde255a]
mov ebx, dword [esi + 8]
lea edx, [eax + ebx]
add edx, 0xa421daa6
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x76
mov byte [esi + eax + 0x20], dl
mov ebx, dword [esi + 4]
jmp 0x439a63
mov edi, dword [esi]
add edi, 3
cmp ebx, edi
jne 0x439a29
lea edi, [eax + 0x382d1c4e]
mov ebx, dword [esi + 8]
lea edx, [eax + ebx]
add edx, 0x382d1c4e
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xde
mov byte [esi + eax + 0x20], dl
mov edi, dword [esi]
not edi
add eax, edi
movzx edx, dl
sub eax, edx
mov edi, ecx
mov ebx, dword [esi + 4]
jmp 0x439a73
mov ecx, dword [esi]
add ecx, 3
mov ebx, dword [esi + 4]
cmp ebx, ecx
je 0x439a61
mov ecx, dword [esi]
add ecx, 5
cmp ebx, ecx
jne 0x439ab1
lea ecx, [eax - 0x323291c6]
mov edi, dword [esi + 8]
lea edx, [eax + edi]
add edx, 0xcdcd6e3a
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x6a
mov edi, dword [esi]
jmp 0x439a51
mov edi, dword [esi]
add edi, 5
cmp ebx, edi
mov edi, dword [esi + 8]
jne 0x439a58
lea ecx, [eax + 0x571ef48e]
and ecx, edi
lea edx, [eax + edi]
add edx, 0x571ef48e
add ecx, ecx
sub edx, ecx
add dl, 0x1e
mov edi, dword [esi]
add ebx, edi
movzx ecx, dl
not ecx
jmp 0x439aa0
mov edi, dword [esi]
add edi, 4
cmp ebx, edi
jne 0x439abe
mov ecx, dword [esi]
dec eax
mov edi, ecx
jmp 0x439aa2
lea ecx, [edi + 0xa]
cmp ebx, ecx
jne 0x4398ea
lea ecx, [eax - 0x62d01348]
mov edx, dword [esi + 8]
and ecx, edx
add edx, eax
add edx, 0x9d2fecb8
add ecx, ecx
sub edx, ecx
add dl, 0xf8
mov byte [esi + eax + 0x20], dl
sub eax, ebx
inc ebx
mov dl, byte [esi + eax + 0x1e]
add eax, 0xfffffffe
movzx ecx, dl
add ecx, edi
add eax, ecx
inc eax
cmp eax, 0x16
jb 0x4398fa
jmp 0x439b87
mov ecx, dword [esi]
add ecx, 6
cmp ebx, ecx
jne 0x439ad0
mov edi, dword [esi]
jmp 0x439a9b
mov edi, dword [esi]
add edi, 8
cmp ebx, edi
jne 0x439918
jmp 0x43998d
cmp ebx, 0xf
ja 0x439b16
lea edx, [eax + 0x6502d06a]
mov edi, dword [esi + 8]
lea ecx, [eax + edi]
add ecx, 0x6502d06a
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x1a
mov edi, dword [esi]
lea edx, [edi + 2]
cmp ebx, edx
jbe 0x439b63
lea edx, [eax + 0x5ae6c1f4]
mov ecx, dword [esi + 8]
add ecx, eax
add ecx, 0x5ae6c1f4
and edx, dword [esi + 8]
add edx, edx
sub ecx, edx
add cl, 0x54
jmp 0x439b77
lea ecx, [eax + 0x924ab10]
mov ebx, dword [esi + 8]
add ebx, eax
add ebx, 0x924ab10
mov dword [esi + 4], ebx
and ecx, dword [esi + 8]
add ecx, ecx
sub dword [esi + 4], ecx
add dl, byte [esi + 4]
lea ebx, [eax + 0x6e277b7a]
mov ecx, dword [esi + 8]
and ebx, ecx
add ecx, eax
add ecx, 0x6e277b7a
add ebx, ebx
sub ecx, ebx
add dl, 0x90
add cl, dl
add cl, 0xaa
mov byte [esi + eax + 0x20], cl
mov ecx, edi
mov edi, dword [esi]
mov ebx, ecx
jmp 0x439a51
je 0x439a73
lea edx, [edi + 4]
cmp ebx, edx
jne 0x439b77
mov ecx, edi
jmp 0x439a63
mov byte [esi + eax + 0x20], cl
jmp 0x439aa2
mov eax, 0xe6d7a2
jmp 0x439b90
xor eax, eax
jmp 0x439b90
mov eax, 0x1640738
lea edi, [esi + eax]
add edi, 0x20
xor eax, eax
mov ebx, dword [esi + 0x10]
mov dword [ebx + 8], eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], 0xf
mov byte [ebx + 8], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x14]
push eax
push edi
call fcn.00450e50
lea ecx, [esi + 0xe0]
mov dword [ebx], ecx
lea eax, [esi + 0xc8]
mov dword [ebx + 4], eax
mov ebx, ecx
call fcn.0040cd09
add esp, 0x20
mov esp, dword [esi + 0xc]
cmp dword [ebx + 0x14], 0x10
mov edi, dword [ebp + 8]
jb 0x439bec
mov ebx, dword [esi + 0xe0]
mov edi, dword [edi + 0x10]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edx, closesocket
sub edx, edi
cmp edx, eax
jb 0x43b71f
mov ecx, edi
mov edi, dword [ebp + 8]
mov edx, dword [edi]
mov edi, dword [edi + 0x14]
mov dword [esi + 0xc], edi
mov dword [esi + 0xa0], 0
mov edi, eax
add edi, ecx
cmp edi, 0x10
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
jb 0x439c5f
mov dword [esi + 0x14], edx
mov edx, edi
or edx, 0xf
mov dword [esi + 0x10], ecx
js 0x439c6d
cmp edx, 0x17
mov ebx, edx
mov edx, 0x16
mov dword [esi + 0x18], ebx
cmovae edx, ebx
lea ebx, [edx + 1]
mov dword [esi + 0x1c], ebx
mov dword [esi], edx
cmp edx, 0xfff
jb 0x439c8b
mov eax, dword [esi + 0x1c]
jmp 0x439c79
lea ebx, [esi + 0xa0]
mov dword [esi], 0xf
jmp 0x439ca4
mov dword [esi + 0x18], closesocket
mov eax, closesocket
push eax
call fcn.0040130b
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x18]
mov dword [esi], eax
jmp 0x439c98
push dword [esi + 0x1c]
call fcn.004716fe
add esp, 4
mov ebx, eax
mov dword [esi + 0xa0], ebx
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
cmp eax, 0x10
mov eax, dword [ebp + 8]
cmovae eax, edx
mov dword [esi + 0xb0], edi
mov edx, dword [esi]
mov dword [esi + 0xb4], edx
push ecx
push eax
push ebx
mov dword [esi], edi
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
push dword [esi + 8]
push dword [esi + 4]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi]
mov byte [ebx + eax], 0
mov eax, dword [esi + 0xf4]
cmp eax, 0x10
jb 0x439d22
mov ecx, dword [esi + 0xe0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x439d18
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x43b724
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
cmp dword [esi + 0xb4], 0x10
jb 0x439d33
mov eax, dword [esi + 0xa0]
jmp 0x439d39
lea eax, [esi + 0xa0]
xor edx, edx
inc edx
lea edi, [esi + 0xe0]
mov ecx, edi
push edx
push 0x40
mov dword [esi + 0x10], edx
push edx
push eax
call fcn.0043b72a
cmp dword [edi + 0x5c], 0
je 0x43b65a
lea eax, [esi + 0xc0]
mov byte [eax - 8], 0
mov dword [eax], 0
lea eax, [esi + 0xb8]
push eax
push edi
call fcn.0043b84f
add esp, 8
mov dword [esi + 0x44], 0xf090814
mov word [esi + 0x48], 0x7d0f
xorps xmm0, xmm0
movups xmmword [esi + 0x4a], xmm0
call fcn.0046d640
mov eax, dword [eax]
mov dword [esi], eax
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp dword [esi], eax
ja 0x43a0a0
mov dword [esi + 4], ecx
mov cl, byte [esi + eax + 0x44]
mov dword [esi + 8], ecx
movzx edx, cl
mov ecx, dword [esi + 4]
lea edi, [ecx + 1]
cmp dword [esi], edi
jae 0x439e0d
cmp ecx, eax
ja 0x43a0ab
mov ebx, dword [esi]
add ebx, ecx
mov dword [esi + 0x14], ebx
cmp ebx, eax
jbe 0x439e51
mov dword [esi + 0xc], edx
lea edx, [ecx + 6]
cmp dword [esi], edx
je 0x43a020
lea edx, [ecx + 8]
cmp dword [esi], edx
jne 0x439ef1
lea ecx, [eax + 0x4620d008]
mov edx, dword [esi + 0xc]
and ecx, edx
add edx, eax
add edx, 0x4620d008
add ecx, ecx
sub edx, ecx
add dl, 0xc8
mov ecx, edx
jmp 0x439f8e
je 0x439eb7
mov dword [esi + 0xc], edx
lea edx, [ecx + 2]
cmp dword [esi], edx
je 0x439ef9
lea edx, [ecx + 3]
cmp dword [esi], edx
jne 0x439f92
lea edx, [eax - 0x3ff8b9bb]
mov edi, ecx
mov ecx, dword [esi + 0xc]
and edx, ecx
add ecx, eax
add ecx, 0xc0074645
add edx, edx
sub ecx, edx
add cl, 0x1d
mov ebx, dword [esi]
add ebx, edi
jmp 0x439fe6
lea ebx, [ecx + 2]
cmp dword [esi], ebx
jae 0x439eaf
mov dword [esi + 0x1c], ebx
mov ecx, edx
lea edx, [eax - 0x5d0cb11]
lea ebx, [eax + ecx]
add ebx, 0xfa2f34ef
mov dword [esi + 0xc], ecx
and edx, ecx
add edx, edx
sub ebx, edx
add bl, 0x77
mov dword [esi + 0x40], ebx
cmp dword [esi], edi
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x1c]
jne 0x439ebe
mov dword [esi + 0x18], edi
lea edx, [eax - 0x5701b3d7]
mov edi, dword [esi + 0xc]
lea ecx, [eax + edi]
add ecx, 0xa8fe4c29
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xe1
mov byte [esi + eax + 0x44], cl
mov edi, dword [esi + 0x18]
jmp 0x43a020
cmp dword [esi], edi
jne 0x439f6a
mov edx, ecx
jmp 0x439f5b
cmp dword [esi], edx
je 0x43a020
lea edx, [ecx + 3]
cmp dword [esi], edx
jne 0x439ff4
lea edx, [eax + 0x6eb9446b]
mov ebx, dword [esi + 0xc]
lea ecx, [eax + ebx]
add ecx, 0x6eb9446b
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0x13
jmp 0x439fc4
cmp dword [esi], edi
jne 0x439d8f
mov dword [esi + 0x18], edi
lea edx, [eax - 0x6e44e01b]
mov edi, ecx
mov ecx, dword [esi + 0xc]
and edx, ecx
add edx, edx
lea ebx, [ecx + eax]
add ebx, 0x91bb1fe5
sub ebx, edx
add bl, 0xbd
mov byte [esi + eax + 0x44], bl
movzx edx, bl
not edi
add edi, eax
mov eax, edi
sub eax, edx
lea ebx, [eax - 0x7415ab2c]
and ebx, ecx
add ecx, eax
add ecx, 0x8bea54d4
add ebx, ebx
sub ecx, ebx
mov ebx, dword [esi]
add cl, 0x34
mov byte [esi + eax + 0x44], cl
add edx, ebx
inc ebx
mov dword [esi], ebx
sub edi, edx
mov al, byte [esi + edi + 0x42]
mov dword [esi + 8], eax
add edi, 0xfffffffe
mov eax, edi
mov edx, dword [esi + 0x18]
movzx ecx, byte [esi + 8]
add ecx, edx
add eax, ecx
mov ecx, edx
jmp 0x43a023
mov dword [esi + 0xc], edx
lea edx, [ecx + 3]
cmp dword [esi], edx
jne 0x439fa2
lea edx, [eax - 0x17261330]
mov ecx, dword [esi + 0xc]
and edx, ecx
add ecx, eax
add ecx, 0xe8d9ecd0
add edx, edx
sub ecx, edx
add cl, 0x50
mov ebx, dword [esi]
jmp 0x439fe6
lea edx, [ecx + 6]
cmp dword [esi], edx
mov edx, dword [esi + 0xc]
jne 0x439dc0
jmp 0x43a01e
lea edx, [ecx + 5]
cmp dword [esi], edx
jne 0x43a017
lea edx, [eax - 0x2e693f74]
mov ebx, dword [esi + 0xc]
lea ecx, [eax + ebx]
add ecx, 0xd196c08c
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0x2c
lea edx, [eax - 0x62a349f9]
and edx, ebx
add ebx, eax
add ebx, 0x9d5cb607
add edx, edx
sub ebx, edx
mov edx, ecx
add bl, dl
add bl, 0xcf
mov byte [esi + eax + 0x44], bl
mov ebx, dword [esi + 0x14]
movzx edx, cl
not edx
add eax, edx
mov dword [esi], ebx
mov ecx, dword [esi + 4]
jmp 0x43a023
lea edx, [ecx + 5]
cmp dword [esi], edx
jne 0x43a02f
lea edx, [eax + 0x6317ae49]
mov ebx, dword [esi + 0xc]
lea ecx, [eax + ebx]
add ecx, 0x6317ae49
and edx, ebx
add edx, edx
sub ecx, edx
inc cl
jmp 0x439fe3
lea edx, [ecx + 4]
cmp dword [esi], edx
jne 0x43a048
mov edi, ecx
dec eax
mov ecx, edi
inc eax
cmp eax, 0x16
jb 0x439da1
jmp 0x43a0a7
lea edx, [ecx + 7]
cmp dword [esi], edx
je 0x439ef9
cmp dword [esi], 2
ja 0x43a079
mov edx, dword [esi + 0x40]
mov byte [esi + eax + 0x44], dl
jmp 0x43a023
lea edx, [ecx + 6]
cmp dword [esi], edx
je 0x439e85
mov dword [esi + 0x1c], ebx
lea edx, [eax - 0x7a20a865]
mov ebx, dword [esi + 0xc]
lea ecx, [eax + ebx]
add ecx, 0x85df579b
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xc3
mov dword [esi + 0x40], ecx
jmp 0x439e7b
lea edx, [eax - 0x5cd27ee8]
mov ebx, dword [esi + 0xc]
lea ecx, [eax + ebx]
add ecx, 0xa32d8118
and edx, ebx
add edx, edx
sub ecx, edx
mov edx, ecx
mov ecx, dword [esi + 8]
add cl, dl
add cl, 0x58
jmp 0x439fc4
mov eax, 0xa6c583
jmp 0x43a0b0
xor eax, eax
jmp 0x43a0b0
mov eax, 0x1779094
add eax, esi
add eax, 0x44
lea ecx, [esi + 0xb8]
push eax
call fcn.0043b8cc
mov dword [esi + 0x14], eax
mov dword [esi + 0x60], 0x46555440
mov dword [esi + 0x64], 0x425e4e59
mov dword [esi + 0x68], 0x454b4b4f
mov byte [esi + 0x6c], 0xb2
xor eax, eax
mov dword [esi + 0x71], eax
mov dword [esi + 0x6d], eax
mov dword [esi + 0x74], eax
call fcn.0046d640
mov eax, dword [eax]
mov dword [esi], eax
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp dword [esi], eax
ja 0x43a347
mov bl, byte [esi + eax + 0x60]
movzx edi, bl
mov edx, ecx
inc ecx
mov dword [esi + 4], ecx
cmp dword [esi], ecx
jae 0x43a15e
cmp edx, eax
ja 0x43a352
mov ecx, edx
mov edx, dword [esi]
add edx, ecx
cmp edx, eax
jbe 0x43a1c4
mov dword [esi + 0xc], edx
lea edx, [ecx + 0x10]
cmp dword [esi], edx
je 0x43a27f
lea edx, [ecx + 8]
cmp dword [esi], edx
jne 0x43a254
lea edx, [eax + 0x314ab7c4]
lea ebx, [eax + edi]
add ebx, 0x314ab7c4
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0xa4
mov edx, edi
jmp 0x43a1a2
je 0x43a221
mov dword [esi + 8], edi
mov ecx, edx
lea edi, [edx + 3]
cmp dword [esi], edi
mov edi, dword [esi + 8]
je 0x43a1c9
lea edi, [ecx + 4]
cmp dword [esi], edi
jne 0x43a286
lea edx, [eax + 0x78485fa1]
mov edi, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 0x78485fa1
and edx, edi
add edx, edx
sub ebx, edx
mov edx, edi
add bl, 0x99
mov edi, dword [esi]
add edi, ecx
mov dword [esi + 0xc], edi
lea edi, [eax - 0x347c5e13]
and edi, edx
add edx, eax
add edx, 0xcb83a1ed
add edi, edi
sub edx, edi
add dl, bl
add dl, 0x85
mov byte [esi + eax + 0x60], dl
jmp 0x43a2e4
cmp edx, 9
jne 0x43a22a
lea edx, [eax - 0x21fb1449]
and edx, edi
add edx, edx
lea ebx, [edi + eax]
add ebx, 0xde04ebb7
sub ebx, edx
dec bl
mov byte [esi + eax + 0x60], bl
movzx edx, bl
not ecx
add ecx, eax
mov eax, ecx
sub eax, edx
mov ebx, edi
lea edi, [eax - 0x18ba6f64]
and edi, ebx
add ebx, eax
add ebx, 0xe745909c
add edi, edi
sub ebx, edi
add bl, 0xbc
mov byte [esi + eax + 0x60], bl
mov eax, dword [esi]
add edx, eax
sub ecx, edx
inc eax
mov dword [esi], eax
mov bl, byte [esi + ecx + 0x5e]
add ecx, 0xfffffffe
mov eax, ecx
mov edx, dword [esi + 4]
movzx ecx, bl
add ecx, edx
add eax, ecx
jmp 0x43a282
mov dword [esi + 0xc], edx
mov edx, dword [esi]
cmp edx, dword [esi + 4]
jne 0x43a275
lea ecx, [eax - 0x46fda7dd]
and ecx, edi
lea edx, [eax + edi]
add edx, 0xb9025823
add ecx, ecx
sub edx, ecx
add dl, 0xb
mov byte [esi + eax + 0x60], dl
mov edx, dword [esi]
jmp 0x43a281
lea edx, [ecx + 4]
cmp dword [esi], edx
jne 0x43a298
lea edx, [eax + 0x43cc018e]
lea ebx, [eax + edi]
add ebx, 0x43cc018e
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x1e
jmp 0x43a2e4
mov dword [esi + 8], edi
lea edi, [ecx + 2]
cmp dword [esi], edi
jne 0x43a2c2
mov edx, ecx
dec eax
mov ecx, edx
jmp 0x43a2f0
lea edi, [ecx + 6]
cmp dword [esi], edi
mov edi, dword [esi + 8]
mov edx, ecx
jne 0x43a113
jmp 0x43a281
mov edx, dword [esi]
cmp edx, dword [esi + 4]
jne 0x43a0e8
lea edx, [eax + 0x564d4b58]
and edx, edi
lea ebx, [eax + edi]
add ebx, 0x564d4b58
add edx, edx
sub ebx, edx
add bl, 0x98
mov edx, dword [esi]
mov dword [esi + 0xc], edx
jmp 0x43a2e4
lea edi, [ecx + 5]
cmp dword [esi], edi
jne 0x43a2fc
lea edx, [eax - 0x6f12447d]
mov edi, dword [esi + 8]
lea ebx, [eax + edi]
add ebx, 0x90edbb83
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x6b
movzx edx, bl
not edx
add eax, edx
mov edx, dword [esi + 0xc]
mov dword [esi], edx
inc eax
cmp eax, 0x18
jb 0x43a0fa
jmp 0x43a34e
lea edi, [ecx + 3]
cmp dword [esi], edi
mov edi, dword [esi + 8]
je 0x43a1c9
lea edi, [ecx + 9]
cmp dword [esi], edi
jne 0x43a318
mov edx, ecx
jmp 0x43a221
lea edx, [ecx + 6]
cmp dword [esi], edx
mov edx, dword [esi + 4]
je 0x43a281
lea edi, [eax + 0x940a4e5]
mov ebx, dword [esi + 8]
lea edx, [eax + ebx]
add edx, 0x940a4e5
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xbd
mov byte [esi + eax + 0x60], dl
jmp 0x43a2f0
mov eax, 0x12f6ec1
jmp 0x43a357
xor eax, eax
jmp 0x43a357
mov eax, 0x16ec9dc
add eax, esi
add eax, 0x60
mov ecx, dword [esi + 0x14]
push eax
call fcn.0043b8cc
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], 0x8f8b8993
mov dword [esi + 0x24], 0x89938790
mov byte [esi + 0x28], 8
xorps xmm0, xmm0
movups xmmword [esi + 0x29], xmm0
mov dword [esi + 0x38], 0
call fcn.0046d640
mov ebx, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp ebx, eax
ja 0x43a61a
mov dl, byte [esi + eax + 0x20]
mov dword [esi + 8], edx
movzx edi, dl
lea edx, [ecx + 1]
mov dword [esi + 4], edx
cmp ebx, edx
mov dword [esi], edi
jae 0x43a3fa
cmp ecx, eax
ja 0x43a625
lea edi, [ebx + ecx]
cmp edi, eax
jbe 0x43a440
mov edx, dword [esi + 4]
cmp ebx, edx
je 0x43a577
mov dword [esi + 4], ecx
add ecx, 0x10
cmp ebx, ecx
jne 0x43a388
lea ecx, [eax + 0x3d452c90]
mov edx, dword [esi]
and ecx, edx
add edx, eax
add edx, 0x3d452c90
add ecx, ecx
sub edx, ecx
add dl, 0x10
mov ebx, edi
jmp 0x43a53d
jne 0x43a406
mov edi, ecx
mov ecx, dword [esi + 8]
jmp 0x43a4a4
mov edi, ebx
lea ebx, [ecx + 2]
cmp edi, ebx
mov ebx, edi
je 0x43a445
lea ebx, [ecx + 3]
cmp edi, ebx
mov ebx, edi
jne 0x43a4ee
mov dword [esi + 4], ecx
lea ecx, [eax + 0x757c9918]
mov edi, dword [esi]
lea edx, [eax + edi]
add edx, 0x757c9918
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x58
jmp 0x43a53d
cmp edi, 0x10
jne 0x43a4b2
mov dword [esi + 0xc], ebx
lea edx, [eax + 0x3be5c6c8]
mov edi, dword [esi]
and edx, edi
add edx, edx
lea ebx, [edi + eax]
add ebx, 0x3be5c6c8
sub ebx, edx
add bl, 0x88
mov byte [esi + eax + 0x20], bl
movzx edx, bl
not ecx
add ecx, eax
mov eax, ecx
sub eax, edx
lea ebx, [eax - 0x7e28d2e0]
and ebx, edi
mov edi, ecx
mov ecx, dword [esi]
add ecx, eax
add ecx, 0x81d72d20
add ebx, ebx
sub ecx, ebx
mov ebx, dword [esi + 0xc]
add cl, 0x20
mov byte [esi + eax + 0x20], cl
add edx, ebx
inc ebx
sub edi, edx
mov cl, byte [esi + edi + 0x1e]
add edi, 0xfffffffe
mov eax, edi
mov edi, dword [esi + 4]
movzx ecx, cl
add ecx, edi
add eax, ecx
mov ecx, edi
jmp 0x43a57a
mov dword [esi + 0x14], edi
cmp ebx, dword [esi + 4]
mov edi, dword [esi]
je 0x43a558
mov edi, ebx
lea ebx, [ecx + 3]
cmp edi, ebx
jne 0x43a589
mov dword [esi + 4], ecx
lea ecx, [eax + 0x65f36268]
mov edx, dword [esi]
and ecx, edx
add edx, eax
add edx, 0x65f36268
add ecx, ecx
sub edx, ecx
add dl, 0x28
mov ebx, dword [esi + 0x14]
jmp 0x43a53d
mov edi, ebx
lea ebx, [ecx + 6]
cmp edi, ebx
jne 0x43a549
mov dword [esi + 4], ecx
lea ecx, [eax - 0x72bdcd88]
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0x8d423278
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0xb8
add edi, dword [esi + 4]
mov dword [esi + 0xc], edi
mov edi, ebx
lea ebx, [eax - 0x4ffd05e8]
and ebx, edi
lea ecx, [edi + eax]
add ecx, 0xb002fa18
add ebx, ebx
sub ecx, ebx
add cl, dl
add cl, 0x58
mov byte [esi + eax + 0x20], cl
mov ebx, dword [esi + 0xc]
movzx ecx, dl
not ecx
add eax, ecx
mov ecx, dword [esi + 4]
jmp 0x43a57a
lea ebx, [ecx + 9]
cmp edi, ebx
mov ebx, edi
mov edi, dword [esi]
jne 0x43a3b6
lea ecx, [eax + 0x24202d68]
lea edx, [edi + eax]
add edx, 0x24202d68
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x28
mov byte [esi + eax + 0x20], dl
mov edx, dword [esi + 4]
dec eax
mov ecx, edx
inc eax
cmp eax, 0x1c
jb 0x43a398
jmp 0x43a621
lea ebx, [ecx + 5]
cmp edi, ebx
jne 0x43a5ab
mov ebx, edi
mov dword [esi + 4], ecx
lea ecx, [eax - 0xe29d0e8]
mov edi, dword [esi]
lea edx, [eax + edi]
add edx, 0xf1d62f18
jmp 0x43a432
lea ebx, [ecx + 2]
cmp edi, ebx
mov ebx, edi
je 0x43a445
mov edi, ecx
add ecx, 7
cmp ebx, ecx
je 0x43a3fe
mov dword [esi + 4], edi
cmp ebx, 0xf
mov edx, dword [esi + 8]
ja 0x43a5f3
lea edx, [eax + 0x45f16658]
mov edi, dword [esi]
lea ecx, [eax + edi]
add ecx, 0x45f16658
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x98
mov byte [esi + eax + 0x20], cl
jmp 0x43a544
lea ebx, [eax + 0x6a1193c0]
mov edi, dword [esi]
lea ecx, [eax + edi]
add ecx, 0x6a1193c0
and ebx, edi
add ebx, ebx
sub ecx, ebx
add dl, cl
add dl, 0xc0
mov ecx, dword [esi + 0x14]
mov dword [esi + 0xc], ecx
jmp 0x43a51c
mov eax, 0xe22978
jmp 0x43a62a
xor eax, eax
jmp 0x43a62a
mov eax, 0x170c320
add eax, esi
add eax, 0x20
mov ecx, dword [esi + 0x18]
push eax
call fcn.0043b8cc
mov edi, eax
lea eax, [esi + 0x20]
mov ecx, edi
push eax
call fcn.00452c10
mov al, byte [edi]
mov dword [esi], 0
cmp al, 2
je 0x43a666
cmp al, 1
jne 0x43a675
mov ecx, dword [edi + 8]
mov ecx, dword [ecx]
mov dword [esi + 4], ecx
mov dword [esi + 0x10], closesocket
jmp 0x43a67c
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + 4]
mov dword [esi], ecx
mov dword [esi + 0x10], closesocket
mov dword [esi + 4], 0
cmp dword [esi + 0x20], edi
jne 0x43b70f
lea ecx, [esi + 0x88]
mov dword [esi + 0x18], ecx
cmp al, 1
je 0x43a69f
cmp al, 2
jne 0x43a6a9
mov eax, dword [esi]
cmp dword [esi + 0x28], eax
jne 0x43a6b1
jmp 0x43a6e5
mov eax, dword [esi + 4]
cmp dword [esi + 0x24], eax
jne 0x43a6b1
jmp 0x43a6e5
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x2c], eax
je 0x43a6e5
lea ebx, [esi + 0x20]
mov ecx, ebx
call fcn.00439806
push dword [ebp + 0x10]
lea ecx, [esi + 0x88]
push ecx
push dword [ebp + 0xc]
push eax
call fcn.00435c06
add esp, 0x10
mov ecx, ebx
call fcn.00439830
cmp dword [esi + 0x20], edi
jne 0x43b70f
mov al, byte [edi]
jmp 0x43a68e
xorps xmm0, xmm0
movups xmmword [esi + 0x4a], xmm0
mov dword [esi + 0x5a], 0
mov dword [esi + 0x44], 0x87819e9a
mov word [esi + 0x48], 0x7187
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov edx, edi
mov ecx, dword [eax]
xor eax, eax
cmp edx, eax
ja 0x43aa3c
mov bl, byte [esi + eax + 0x44]
mov dword [esi + 8], ebx
movzx edi, bl
mov dword [esi], edi
lea edi, [ecx + 1]
mov dword [esi + 4], edi
cmp edx, edi
jae 0x43a780
cmp ecx, eax
ja 0x43aa47
lea edi, [edx + ecx]
cmp edi, eax
jbe 0x43a7f7
lea edi, [ecx + 6]
cmp edx, edi
je 0x43a823
lea edi, [ecx + 4]
cmp edx, edi
mov edi, dword [esi + 4]
cmovne edi, ecx
mov dword [esi + 4], edi
je 0x43a845
lea edi, [ecx + 2]
cmp edx, edi
je 0x43a845
lea edi, [ecx + 0xa]
cmp edx, edi
jne 0x43a982
mov dword [esi + 0xc], edx
mov dword [esi + 4], ecx
jmp 0x43a7be
jne 0x43a787
mov ebx, dword [esi + 8]
jmp 0x43a7eb
lea edi, [ecx + 2]
cmp edx, edi
jne 0x43a84e
mov dword [esi + 0xc], edx
lea edi, [eax + 0x3d5f483a]
mov ebx, dword [esi]
lea edx, [ebx + eax]
add edx, 0x3d5f483a
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x6a
mov byte [esi + eax + 0x44], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
lea ecx, [eax - 0x7319d898]
mov edx, dword [esi]
and ecx, edx
add edx, eax
add edx, 0x8ce62768
add ecx, ecx
sub edx, ecx
add dl, 0x28
mov byte [esi + eax + 0x44], dl
mov edx, dword [esi + 0xc]
sub eax, edx
inc edx
mov bl, byte [esi + eax + 0x42]
add eax, 0xfffffffe
mov ecx, dword [esi + 4]
mov edi, edx
movzx edx, bl
add edx, ecx
jmp 0x43a93d
lea edi, [ecx + 4]
cmp edx, edi
jae 0x43a877
lea edi, [eax + 0x4f86df2e]
mov ebx, dword [esi]
add ebx, eax
add ebx, 0x4f86df2e
and edi, dword [esi]
add edi, edi
sub ebx, edi
add bl, 0xbe
mov dword [esi + 0x10], ebx
cmp edx, dword [esi + 4]
jne 0x43a8b6
mov edi, edx
lea edx, [eax - 0xbc347e]
mov ebx, dword [esi]
lea ecx, [ebx + eax]
add ecx, 0xff43cb82
and edx, ebx
add edx, edx
sub ecx, edx
mov edx, edi
add cl, 0x72
mov byte [esi + eax + 0x44], cl
dec eax
mov ecx, dword [esi + 4]
jmp 0x43a941
lea edi, [ecx + 5]
cmp edx, edi
jne 0x43a8e4
lea edi, [eax + 0x6acb96fa]
mov ebx, dword [esi]
add ebx, eax
add ebx, 0x6acb96fa
and edi, dword [esi]
add edi, edi
sub ebx, edi
add bl, 0x2a
jmp 0x43a934
cmp edx, dword [esi + 4]
je 0x43a782
mov dword [esi + 0xc], edx
lea edx, [ecx + 2]
cmp dword [esi + 0xc], edx
mov edx, dword [esi + 0xc]
je 0x43a792
cmp edx, edi
jne 0x43a9c5
lea edx, [eax + 0x27655558]
mov edi, dword [esi]
lea ebx, [eax + edi]
add ebx, 0x27655558
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x98
jmp 0x43a8e0
mov edi, edx
lea edx, [ecx + 3]
cmp edi, edx
jne 0x43a950
mov dword [esi + 0xc], edi
lea edx, [eax + 0x6f5a2766]
mov edi, dword [esi]
lea ebx, [eax + edi]
add ebx, 0x6f5a2766
and edx, edi
add edx, edx
sub ebx, edx
add bl, 0x36
mov edi, ebx
jmp 0x43a90e
lea edi, [ecx + 3]
cmp edx, edi
jne 0x43a972
mov dword [esi + 0xc], edx
lea edi, [eax + 0x9d95556]
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0x9d95556
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xa6
mov edi, edx
lea edx, [eax - 0x61ae7622]
mov ebx, dword [esi]
and edx, ebx
add ebx, eax
add ebx, 0x9e5189de
add edx, edx
sub ebx, edx
mov edx, edi
add bl, dl
add bl, 0xee
mov byte [esi + eax + 0x44], bl
mov edx, dword [esi + 0xc]
mov ebx, edi
add edx, ecx
mov edi, edx
movzx edx, bl
not edx
add eax, edx
mov edx, edi
inc eax
cmp eax, 0x1a
jb 0x43a712
jmp 0x43aa43
lea edx, [ecx + 6]
cmp edi, edx
jne 0x43a995
lea edx, [eax - 0x528a5be2]
mov ebx, dword [esi]
add ebx, eax
add ebx, 0xad75a41e
and edx, dword [esi]
add edx, edx
sub ebx, edx
add bl, 0x2e
jmp 0x43a938
lea edi, [ecx + 9]
cmp edx, edi
jne 0x43a730
jmp 0x43a823
lea edi, [ecx + 3]
cmp edx, edi
mov ebx, dword [esi + 8]
je 0x43a7eb
jmp 0x43a700
lea edx, [ecx + 2]
cmp edi, edx
mov edx, edi
je 0x43a792
mov dword [esi + 0xc], edx
lea edx, [ecx + 5]
cmp dword [esi + 0xc], edx
mov edx, dword [esi + 0xc]
je 0x43a77b
cmp edx, 7
ja 0x43aa18
mov ebx, dword [esi + 0x10]
mov byte [esi + eax + 0x44], bl
jmp 0x43a941
mov edi, edx
lea edx, [ecx + 7]
cmp edi, edx
jne 0x43a9d8
mov edx, edi
mov dword [esi + 4], ecx
jmp 0x43a845
lea edx, [ecx + 5]
cmp dword [esi + 0xc], edx
mov edx, dword [esi + 0xc]
je 0x43a845
lea edx, [ecx + 3]
cmp dword [esi + 0xc], edx
mov edx, dword [esi + 0xc]
je 0x43a823
lea edx, [eax - 0x79efb13a]
mov edi, dword [esi]
lea ebx, [eax + edi]
add ebx, 0x86104ec6
and edx, edi
add edx, edx
sub ebx, edx
mov edx, dword [esi + 0xc]
add bl, 0x96
jmp 0x43a817
lea edx, [eax + 0x4ecaaab0]
mov edi, dword [esi]
lea ebx, [eax + edi]
add ebx, 0x4ecaaab0
and edx, edi
add edx, edx
sub ebx, edx
mov edx, dword [esi + 8]
add dl, bl
add dl, 0x30
jmp 0x43a90c
mov eax, 0x64d216
jmp 0x43aa4c
xor eax, eax
jmp 0x43aa4c
mov eax, 0x15df2e8
add eax, esi
add eax, 0x44
lea ecx, [esi + 0xb8]
push eax
call fcn.0043b8cc
mov dword [esi + 0x1c], eax
xor eax, eax
mov dword [esi + 0x77], eax
mov dword [esi + 0x73], eax
xorps xmm0, xmm0
movups xmmword [esi + 0x66], xmm0
mov dword [esi + 0x60], 0x5c606d97
mov word [esi + 0x64], 0xfd68
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x43ad62
mov dl, byte [esi + eax + 0x60]
movzx ebx, dl
mov dword [esi + 8], ebx
lea ebx, [ecx + 1]
mov dword [esi], edi
mov dword [esi + 0xc], ebx
cmp edi, ebx
mov dword [esi + 4], ecx
jae 0x43aae6
cmp ecx, eax
ja 0x43ad6d
mov edi, dword [esi]
lea ebx, [edi + ecx]
cmp ebx, eax
jbe 0x43aaef
mov ecx, dword [esi + 4]
add ecx, 5
cmp edi, ecx
mov ecx, dword [esi + 4]
je 0x43ac28
mov ebx, ecx
add ecx, 4
mov edi, dword [esi]
cmp edi, ecx
jne 0x43abd7
mov dword [esi + 0xc], ebx
jmp 0x43ac49
jne 0x43ab40
mov edi, dword [esi]
jmp 0x43ac0a
mov dword [esi + 0x14], ebx
lea ebx, [ecx + 4]
mov dword [esi + 0x10], ebx
cmp edi, ebx
jae 0x43ab9e
lea ecx, [eax + 0x31e74bff]
mov edx, dword [esi + 8]
lea ebx, [eax + edx]
add ebx, 0x31e74bff
and ecx, edx
mov edx, ebx
add ecx, ecx
sub edx, ecx
add dl, 7
cmp edi, dword [esi + 0xc]
mov edi, dword [esi + 4]
je 0x43ac28
lea ecx, [edi + 2]
mov ebx, dword [esi]
cmp ebx, ecx
jne 0x43ac4f
mov dword [esi + 0xc], edi
mov edi, ebx
jmp 0x43ac49
mov ebx, ecx
add ecx, 2
mov edi, dword [esi]
cmp edi, ecx
je 0x43abe2
lea ecx, [ebx + 5]
cmp edi, ecx
jne 0x43ac1b
lea ecx, [eax - 0x7741240d]
mov edx, dword [esi + 8]
add edx, eax
add edx, 0x88bedbf3
and ecx, dword [esi + 8]
add ecx, ecx
sub edx, ecx
add dl, 0x5b
add edi, ebx
mov ebx, edx
mov edx, dword [esi + 8]
lea ecx, [eax + 0x77de2b97]
and ecx, edx
add edx, eax
add edx, 0x77de2b97
add ecx, ecx
sub edx, ecx
add dl, bl
add dl, 0xdf
mov byte [esi + eax + 0x60], dl
jmp 0x43acbc
cmp edi, dword [esi + 0xc]
je 0x43ac0a
mov edx, ecx
add ecx, 2
cmp edi, ecx
je 0x43abe2
lea ecx, [edx + 3]
cmp edi, ecx
jne 0x43ac99
lea ecx, [eax + 0x5b5e3fd0]
mov edx, dword [esi + 8]
lea ebx, [eax + edx]
add ebx, 0x5b5e3fd0
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x50
jmp 0x43acbc
lea ecx, [ebx + 9]
cmp edi, ecx
jne 0x43aa7c
lea ecx, [eax + 0xd940f94]
mov edx, dword [esi + 8]
and ecx, edx
add edx, eax
add edx, 0xd940f94
add ecx, ecx
sub edx, ecx
add dl, 0xf4
mov byte [esi + eax + 0x60], dl
sub eax, edi
inc edi
mov dl, byte [esi + eax + 0x5e]
add eax, 0xfffffffe
movzx ecx, dl
mov edx, dword [esi + 4]
add ecx, edx
add eax, ecx
mov ecx, edx
jmp 0x43acc6
lea ecx, [ebx + 4]
cmp edi, ecx
mov ecx, ebx
jne 0x43aaad
lea edx, [eax + 0x140f9399]
mov edi, dword [esi + 8]
lea ecx, [edi + eax]
add ecx, 0x140f9399
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xd1
mov byte [esi + eax + 0x60], cl
mov edi, dword [esi]
dec eax
mov ecx, dword [esi + 0xc]
jmp 0x43acc6
cmp ebx, dword [esi + 0x10]
jne 0x43ac71
lea ecx, [eax - 0x28d9ec47]
mov edx, dword [esi + 8]
and ecx, edx
lea ebx, [eax + edx]
add ebx, 0xd72613b9
add ecx, ecx
sub ebx, ecx
add bl, 0xf1
jmp 0x43acb9
mov edi, dword [esi + 4]
lea ecx, [edi + 3]
cmp ebx, ecx
jne 0x43acd5
lea ecx, [eax + 0x3af4abb7]
mov edx, dword [esi + 8]
mov edi, ebx
lea ebx, [eax + edx]
add ebx, 0x3af4abb7
and ecx, edx
add ecx, ecx
sub ebx, ecx
dec bl
jmp 0x43acbc
cmp edi, dword [esi + 0x10]
mov edx, dword [esi + 8]
jne 0x43acff
lea ecx, [eax - 0x40d32832]
and ecx, edx
lea ebx, [eax + edx]
add ebx, 0xbf2cd7ce
add ecx, ecx
sub ebx, ecx
add bl, 0x5e
mov edi, dword [esi + 0x14]
movzx ecx, bl
not ecx
add eax, ecx
mov ecx, dword [esi + 4]
inc eax
cmp eax, 0x1b
jb 0x43aa8c
jmp 0x43ad69
lea ecx, [edi + 5]
cmp ebx, ecx
jne 0x43ad11
lea ecx, [eax + 0x52ede7a2]
mov edx, dword [esi + 8]
lea ebx, [eax + edx]
add ebx, 0x52ede7a2
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x92
mov edi, dword [esi + 0x14]
jmp 0x43ab7c
mov edx, dword [esi + 4]
lea ecx, [edx + 7]
cmp edi, ecx
jne 0x43ad33
mov dword [esi + 0xc], edx
jmp 0x43ac49
cmp edi, 7
ja 0x43ac28
mov ecx, dword [esi + 4]
add ecx, 6
cmp dword [esi], ecx
mov ecx, dword [esi + 4]
je 0x43ac28
mov byte [esi + eax + 0x60], dl
mov edi, dword [esi]
jmp 0x43acc6
lea ecx, [edx + 6]
cmp edi, ecx
je 0x43ac28
lea ecx, [eax + 0x17f93beb]
mov edx, dword [esi + 8]
lea edi, [eax + edx]
add edi, 0x17f93beb
and ecx, edx
mov edx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x93
mov edi, dword [esi]
jmp 0x43ab1d
mov eax, 0x8e5b53
jmp 0x43ad72
xor eax, eax
jmp 0x43ad72
mov eax, 0x1670f54
add eax, esi
add eax, 0x60
mov ecx, dword [esi + 0x1c]
push eax
call fcn.0043b8cc
mov dword [esi + 0xc], eax
mov dword [esi + 0x20], 0x57535153
mov dword [esi + 0x24], 0x515baf5e
mov byte [esi + 0x28], 0x3e
xorps xmm0, xmm0
movups xmmword [esi + 0x29], xmm0
mov dword [esi + 0x39], 0
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov edx, edi
mov ecx, dword [eax]
xor eax, eax
cmp edx, eax
ja 0x43b020
mov bl, byte [esi + eax + 0x20]
movzx edi, bl
mov dword [esi + 4], edi
lea edi, [ecx + 1]
mov dword [esi], edi
cmp edx, edi
jae 0x43ae2d
cmp ecx, eax
ja 0x43b02b
lea edi, [ecx + 4]
cmp edx, edi
jae 0x43aea5
lea edi, [edx + ecx]
cmp edi, eax
jbe 0x43aede
mov dword [esi + 8], edx
lea edx, [ecx + 6]
cmp dword [esi + 8], edx
mov edx, dword [esi + 8]
je 0x43af37
mov edi, edx
lea edx, [ecx + 0xa]
cmp edi, edx
jne 0x43afa5
lea edi, [eax - 0x7661d9b8]
mov ebx, dword [esi + 4]
lea edx, [eax + ebx]
add edx, 0x899e2648
and edi, ebx
add edi, edi
sub edx, edi
add dl, 8
jmp 0x43af99
jne 0x43ae33
mov edi, ecx
jmp 0x43ae99
lea edi, [ecx + 2]
cmp edx, edi
jne 0x43af05
mov dword [esi + 8], edx
lea edi, [eax + 0x1ab58ccd]
mov edx, dword [esi + 4]
and edi, edx
add edi, edi
lea ebx, [eax + edx]
add ebx, 0x1ab58ccd
sub ebx, edi
add bl, 0x65
mov byte [esi + eax + 0x20], bl
movzx edi, bl
not ecx
add ecx, eax
mov eax, ecx
sub eax, edi
lea ebx, [eax - 0x424dd8c]
and ebx, edx
add edx, eax
add edx, 0xfbdb2274
add ebx, ebx
sub edx, ebx
add dl, 0xd4
mov byte [esi + eax + 0x20], dl
mov edx, dword [esi + 8]
add edi, edx
sub ecx, edi
inc edx
mov bl, byte [esi + ecx + 0x1e]
add ecx, 0xfffffffe
mov eax, ecx
mov edi, dword [esi]
movzx ecx, bl
add ecx, edi
add eax, ecx
jmp 0x43af3a
cmp edx, dword [esi]
je 0x43aee2
lea edi, [ecx + 3]
cmp edx, edi
je 0x43af37
lea edi, [ecx + 2]
cmp edx, edi
jne 0x43b005
mov dword [esi + 8], edx
lea ebx, [eax - 0x7ebe0c15]
mov edi, dword [esi + 4]
lea edx, [eax + edi]
add edx, 0x8141f3eb
and ebx, edi
mov byte [esi], 0x93
jmp 0x43af70
cmp edx, dword [esi]
jne 0x43af2c
lea edi, [eax - 0x69e0c9cf]
mov ebx, dword [esi + 4]
lea ecx, [eax + ebx]
add ecx, 0x961f3631
and edi, ebx
add edi, edi
sub ecx, edi
mov edi, dword [esi]
add cl, 0xa9
mov byte [esi + eax + 0x20], cl
jmp 0x43af39
lea edi, [ecx + 5]
cmp edx, edi
jne 0x43af4b
mov dword [esi + 8], edx
lea edi, [eax - 0x536291d3]
mov ebx, dword [esi + 4]
lea edx, [eax + ebx]
add edx, 0xac9d6e2d
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xc5
jmp 0x43af96
lea edi, [ecx + 2]
cmp edx, edi
jne 0x43afb7
mov edi, ecx
dec eax
mov ecx, edi
inc eax
cmp eax, 0x1d
jb 0x43adb5
jmp 0x43b027
lea edi, [ecx + 3]
cmp edx, edi
jne 0x43aff5
mov dword [esi + 8], edx
lea ebx, [eax + 0x6ee8997b]
mov edi, dword [esi + 4]
lea edx, [eax + edi]
add edx, 0x6ee8997b
and ebx, edi
mov byte [esi], 0xa3
add ebx, ebx
sub edx, ebx
lea edi, [eax + 0x586a617f]
mov ebx, dword [esi + 4]
and edi, ebx
add ebx, eax
add ebx, 0x586a617f
add edi, edi
sub ebx, edi
add dl, byte [esi]
add bl, dl
add bl, 0x87
mov byte [esi + eax + 0x20], bl
add dword [esi + 8], ecx
movzx edx, dl
not edx
add eax, edx
mov edx, dword [esi + 8]
jmp 0x43af3c
lea edx, [ecx + 3]
cmp edi, edx
mov edx, edi
je 0x43ae3e
jmp 0x43ada3
lea edi, [ecx + 7]
cmp edx, edi
je 0x43ae3e
mov dword [esi + 8], edx
lea edx, [ecx + 3]
cmp dword [esi + 8], edx
mov edx, dword [esi + 8]
je 0x43ae2f
lea edi, [eax - 0x1eda6a59]
mov ebx, dword [esi + 4]
lea edx, [eax + ebx]
add edx, 0xe12595a7
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x6f
mov byte [esi + eax + 0x20], dl
jmp 0x43afa0
lea edi, [ecx + 8]
cmp edx, edi
jne 0x43add0
jmp 0x43aee2
lea edi, [ecx + 5]
cmp edx, edi
je 0x43ae3e
lea edi, [ecx + 9]
cmp edx, edi
jne 0x43ade3
jmp 0x43ae2f
mov eax, 0x12621db
jmp 0x43b030
xor eax, eax
jmp 0x43b030
mov eax, 0x1408c34
add eax, esi
add eax, 0x20
mov ecx, dword [esi + 0xc]
push eax
call fcn.0043b8cc
mov edi, eax
mov ecx, eax
lea eax, [esi + 0x20]
push eax
call fcn.00452c10
mov al, byte [edi]
mov dword [esi], 0
cmp al, 2
je 0x43b06b
cmp al, 1
jne 0x43b07d
mov ecx, dword [edi + 8]
mov ecx, dword [ecx]
mov dword [esi], ecx
mov dword [esi + 4], closesocket
jmp 0x43b083
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + 4]
mov dword [esi + 8], ecx
mov dword [esi + 4], closesocket
jmp 0x43b08a
xor ecx, ecx
inc ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], 0
cmp dword [esi + 0x20], edi
jne 0x43b70f
lea ebx, [esi + 0x20]
cmp al, 1
je 0x43b0a8
cmp al, 2
jne 0x43b0b1
mov eax, dword [esi + 8]
cmp dword [esi + 0x28], eax
jne 0x43b0b9
jmp 0x43b0ea
mov eax, dword [esi]
cmp dword [esi + 0x24], eax
jne 0x43b0b9
jmp 0x43b0ea
mov eax, dword [esi + 4]
cmp dword [esi + 0x2c], eax
je 0x43b0ea
mov ecx, ebx
call fcn.00439806
push dword [ebp + 0x10]
lea ecx, [esi + 0x88]
push ecx
push dword [ebp + 0xc]
push eax
call fcn.00435c06
add esp, 0x10
mov ecx, ebx
call fcn.00439830
cmp dword [esi + 0x20], edi
jne 0x43b70f
mov al, byte [edi]
jmp 0x43b096
cmp dword [esi + 0x9c], 0x10
jb 0x43b0fc
mov eax, dword [esi + 0x88]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x1c], eax
lea ecx, [esi + 0x1f]
mov dword [ecx + 1], 0x86818054
mov dword [ecx + 5], 0x8a8e7e85
mov dword [ecx + 9], 0x83844f83
mov word [ecx + 0xd], 0x586
xor eax, eax
mov dword [ecx + 0x13], eax
mov dword [ecx + 0xf], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x14], eax
call fcn.0046d640
mov eax, dword [eax]
mov dword [esi], eax
call fcn.0046d646
mov edx, dword [eax]
xor edi, edi
mov al, byte [esi + edi + 0x20]
mov dword [esi + 0x14], eax
movzx eax, al
mov dword [esi + 0x10], eax
mov dword [esi + 4], edi
sub edi, edx
lea ecx, [esi + 0x1f]
add edi, ecx
mov dword [esi + 8], edi
mov ecx, edx
mov edi, dword [esi + 4]
cmp dword [esi], edi
ja 0x43b411
lea ebx, [ecx + 1]
cmp dword [esi], ebx
jb 0x43b194
cmp ebx, dword [esi]
je 0x43b239
mov eax, dword [esi]
lea edx, [ecx + 2]
cmp edx, eax
je 0x43b252
lea edx, [ecx + 3]
cmp edx, eax
mov edi, dword [esi + 4]
je 0x43b24c
cmp ecx, edi
ja 0x43b418
mov dword [esi + 0xc], ebx
mov edx, dword [esi]
add edx, ecx
cmp edx, edi
jbe 0x43b1f2
lea edx, [ecx + 9]
cmp edx, dword [esi]
je 0x43b241
lea edi, [ecx + 4]
cmp edi, dword [esi]
je 0x43b241
lea edx, [ecx + 0xa]
lea eax, [ecx + 5]
lea edi, [ecx + 0xf]
mov ebx, eax
mov dword [esi], eax
cmp eax, edi
jb 0x43b1db
add ecx, 0xb
add dword [esi + 8], 0xfffffff6
cmp dword [esi], ecx
mov ecx, edx
jae 0x43b15f
lea eax, [edx - 5]
cmp dword [esi], edi
mov edi, 0
mov dword [esi], eax
jae 0x43b143
jmp 0x43b131
cmp edx, 0xa
je 0x43b354
lea edi, [ecx + 0xa]
cmp dword [esi], edi
jbe 0x43b278
mov eax, dword [esi + 4]
lea edi, [eax + 0x15f3e037]
mov ebx, dword [esi + 0x10]
add eax, ebx
add eax, 0x15f3e037
and edi, ebx
add edi, edi
sub eax, edi
add al, 0x7f
cmp dword [esi], 1
ja 0x43b2a8
mov edx, dword [esi]
cmp dword [esi + 0xc], edx
mov edi, dword [esi + 4]
jne 0x43b313
xor ebx, ebx
inc ebx
mov dword [esi], ebx
mov eax, dword [esi + 0x14]
jmp 0x43b3cf
lea eax, [ecx + 1]
cmp edx, dword [esi]
cmove ecx, eax
mov edi, dword [esi + 4]
dec edi
jmp 0x43b3d6
mov edi, dword [esi + 4]
lea ebx, [edi - 0x21cfd35f]
mov edx, dword [esi + 0x10]
and ebx, edx
add edx, edi
add edx, 0xde302ca1
add ebx, ebx
sub edx, ebx
add dl, 0x99
add eax, ecx
mov dword [esi], eax
jmp 0x43b2fa
mov edi, dword [esi]
cmp dword [esi + 0xc], edi
jne 0x43b304
mov edi, dword [esi + 4]
lea eax, [edi + 0x4f08e7b5]
mov ecx, dword [esi + 0x10]
and eax, ecx
add ecx, edi
add ecx, 0x4f08e7b5
add eax, eax
sub ecx, eax
add cl, 0xd
mov byte [esi + edi + 0x20], cl
mov ecx, dword [esi]
jmp 0x43b24c
mov eax, dword [esi + 4]
lea edi, [eax - 0x112142c8]
mov ebx, dword [esi + 0x10]
add eax, ebx
add eax, 0xeedebd38
and edi, ebx
add edi, edi
sub eax, edi
mov ebx, dword [esi + 0x14]
add bl, al
add bl, 0x78
mov dword [esi + 0x14], ebx
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 4]
lea edi, [eax - 0x714b6d45]
and edi, ebx
mov eax, dword [esi + 4]
add eax, ebx
add eax, 0x8eb492bb
add edi, edi
sub eax, edi
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0x14]
add al, bl
add al, 0xe3
mov byte [esi + edi + 0x20], al
mov dword [esi], edx
mov edx, ebx
movzx eax, dl
not eax
jmp 0x43b3d4
lea edi, [ecx + 2]
cmp edi, dword [esi]
jne 0x43b31c
mov ecx, dword [esi + 0xc]
jmp 0x43b249
mov byte [esi + edi + 0x20], al
jmp 0x43b3d6
lea edi, [ecx + 3]
cmp edi, dword [esi]
jne 0x43b346
mov edi, dword [esi + 4]
lea eax, [edi + 0x14a28c4f]
mov ebx, dword [esi + 0x10]
add edi, ebx
add edi, 0x14a28c4f
and eax, ebx
add eax, eax
sub edi, eax
mov eax, edi
add al, 0xd7
mov dword [esi + 0x14], eax
jmp 0x43b2cf
lea edi, [ecx + 4]
cmp edi, dword [esi]
mov edi, dword [esi + 4]
jne 0x43b3e7
lea edx, [edi - 0x319fc23f]
and edx, dword [esi + 0x10]
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x10]
add edx, edi
add edx, 0xce603dc1
mov edi, dword [esi + 0x14]
add edi, edi
sub edx, edi
add dl, 0xb9
mov edi, dword [esi + 4]
mov byte [esi + edi + 0x20], dl
movzx edx, dl
mov dword [esi + 0x40], edx
mov edi, dword [esi + 4]
sub edi, edx
sub edi, ecx
add edi, 0x6e361343
and edi, dword [esi + 0x10]
mov dword [esi + 0x10], edi
mov edx, dword [esi + 0x14]
add dl, dl
mov ebx, dword [esi + 0x10]
add bl, bl
sub dl, bl
movzx edx, dl
sub edx, ecx
mov eax, dword [esi + 8]
mov edi, eax
sub edi, dword [esi + 0x40]
add dl, 0xed
mov byte [edi], dl
mov edi, dword [esi + 4]
mov edx, dword [esi + 0x40]
mov ebx, dword [esi]
add edx, ebx
sub edi, edx
sub edi, ecx
sub eax, edx
inc ebx
mov dword [esi], ebx
add edi, 0xfffffffd
mov al, byte [eax - 2]
mov ecx, dword [esi + 0xc]
movzx eax, al
add eax, ecx
add edi, eax
inc edi
mov edx, ecx
cmp edi, 0x1b
jb 0x43b143
jmp 0x43b708
lea eax, [ecx + 7]
cmp eax, dword [esi]
je 0x43b239
mov eax, edi
add edi, 0x9fd5d583
mov ebx, dword [esi + 0x10]
add eax, ebx
add eax, 0x9fd5d583
and edi, ebx
add edi, edi
sub eax, edi
add al, 0x6b
jmp 0x43b21d
mov eax, 0x1414987
jmp 0x43b41d
mov eax, 0x16b7404
lea ebx, [esi + eax]
add ebx, 0x20
xor eax, eax
lea edi, [esi + 0x44]
mov dword [edi], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, edi
push eax
push ebx
call fcn.00450e50
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x43b457
mov ecx, dword [ecx]
mov dword [esi], ecx
mov ebx, dword [esi + 0x54]
mov ecx, dword [esi + 0x58]
mov eax, ecx
sub eax, ebx
cmp eax, edx
mov dword [esi + 8], edx
mov dword [esi + 4], ebx
jae 0x43b4cb
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], closesocket
mov eax, closesocket
sub eax, ebx
cmp eax, edx
jb 0x43b71f
lea ecx, [ebx + edx]
mov dword [esi + 0x14], ecx
or ecx, 0xf
mov eax, closesocket
js 0x43b53d
mov edi, dword [esi + 0xc]
mov edx, edi
shr edx, 1
mov ebx, edx
xor ebx, 0x7fffffff
cmp ebx, edi
jb 0x43b540
add edx, edi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x43b6f0
mov dword [esi + 0x10], edx
jmp 0x43b540
lea eax, [ebx + edx]
mov dword [esi + 0x54], eax
cmp ecx, 0x10
jb 0x43b4d9
mov edi, dword [esi + 0x44]
mov ecx, dword [esi]
lea eax, [ecx + edx]
mov ebx, edx
mov dword [esi + 0xc], eax
cmp eax, edi
jbe 0x43b4fc
mov eax, dword [esi + 4]
add eax, edi
mov ebx, edx
cmp eax, ecx
jb 0x43b4fc
xor ebx, ebx
mov eax, edi
sub eax, ecx
jbe 0x43b4fc
mov ebx, eax
mov eax, dword [esi + 4]
inc eax
mov dword [esi], ecx
lea ecx, [edi + edx]
mov dword [esi + 4], ecx
push eax
push edi
push dword [esi + 4]
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push ebx
push dword [esi]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 8]
sub ecx, ebx
mov eax, dword [esi + 0xc]
add eax, ebx
add edi, ebx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x43b5dc
mov edi, dword [esi + 0xc]
push eax
call fcn.0040130b
add esp, 4
mov ebx, eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
cmp edi, 0x10
mov eax, dword [esi]
mov ecx, dword [esi + 8]
jb 0x43b5b8
mov edi, dword [esi + 0x44]
push ecx
push eax
push ebx
mov dword [esi], ebx
mov ebx, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
inc eax
add ebx, dword [esi]
push eax
push edi
push ebx
mov ebx, dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebx + 1]
cmp ecx, 0x1000
jb 0x43b5aa
mov eax, dword [edi - 4]
add edi, 0xfffffffc
sub edi, eax
cmp edi, 0x20
jae 0x43b724
add ebx, 0x24
mov ecx, ebx
mov edi, eax
push ecx
push edi
call fcn.00471733
add esp, 8
mov ebx, dword [esi]
jmp 0x43b5d9
push ecx
push eax
push ebx
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 4]
inc ecx
add edi, ebx
lea eax, [esi + 0x44]
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x44], ebx
mov ecx, dword [esi + 0x1c]
movsd xmm0, qword [esi + 0x54]
movsd qword [esi + 0x70], xmm0
movups xmm0, xmmword [esi + 0x44]
movaps xmmword [esi + 0x60], xmm0
cmp dword [esi + 0x74], 0x10
jb 0x43b5fc
mov eax, dword [esi + 0x60]
jmp 0x43b5ff
lea eax, [esi + 0x60]
push ecx
push dword [esi + 0x18]
push eax
push dword [ebp + 0x10]
call fcn.00471674
add esp, 0x10
mov eax, dword [esi + 0x74]
cmp eax, 0x10
jb 0x43b647
mov ecx, dword [esi + 0x60]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x43b63d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x43b724
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
movzx eax, byte [esi + 0xb8]
lea ecx, [esi + 0xc0]
push eax
call fcn.0045206c
lea ecx, [esi + 0xe0]
call fcn.0043b976
mov eax, dword [esi + 0xb4]
cmp eax, 0x10
jb 0x43b6a3
mov ecx, dword [esi + 0xa0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x43b699
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x43b724
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
lea ecx, [esi + 0xc8]
call fcn.0040d3aa
mov eax, dword [esi + 0x9c]
cmp eax, 0x10
jb 0x43b6e8
mov ecx, dword [esi + 0x88]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x43b6de
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x43b724
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test eax, eax
je 0x43b715
push eax
mov ebx, edx
call fcn.004716fe
mov ecx, ebx
add esp, 4
mov ebx, eax
jmp 0x43b54e
xor eax, eax
jmp 0x43b41d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
xor ebx, ebx
xor ecx, ecx
dec ecx
jmp 0x43b54e
call fcn.00401301
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]