Function at 0x43226b
Capabilities:
Access peb ldr_data
Check os version
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1e8
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x58], ebx
mov esi, 0xf
mov dword [ebp - 0x54], esi
mov byte [ebp - 0x68], bl
sub esp, 0xc
mov al, byte [ebp - 0x150]
mov byte [esp + 8], al
mov dword [esp + 4], ecx
lea eax, [ebp - 0x1f4]
mov dword [esp], eax
call fcn.00452893
add esp, 0xc
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x158], ebx
mov dword [ebp - 0x154], esi
mov byte [ebp - 0x168], bl
sub esp, 0x20
mov eax, esp
mov dword [ebp - 0x28], eax
add eax, 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xb8], 0x2be2eeff
mov dword [ebp - 0xb4], 0xe89ceece
mov byte [ebp - 0xb0], 0xe
mov dword [ebp - 0xab], ebx
mov dword [ebp - 0xaf], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa8], ebx
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov esi, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x43264e
mov dl, byte [ebp + eax - 0xb8]
movzx ebx, dl
lea ecx, [esi + 1]
cmp edi, ecx
jae 0x432388
cmp esi, eax
ja 0x432659
mov dword [ebp - 0x10], ebx
mov ebx, esi
add esi, edi
mov dword [ebp - 0x18], esi
cmp esi, eax
jbe 0x4323ac
mov edx, edi
mov esi, ecx
mov ecx, edi
mov dword [ebp - 0x14], esi
cmp edi, esi
je 0x4324e4
mov esi, ebx
lea edx, [ebx + 0x10]
cmp ecx, edx
jne 0x432436
lea ecx, [eax - 0x65284d7c]
mov ebx, dword [ebp - 0x10]
lea edx, [eax + ebx]
add edx, 0x9ad7b284
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x64
jmp 0x43250a
je 0x4324a3
mov dword [ebp - 0x10], ebx
lea ebx, [esi + 4]
cmp edi, ebx
je 0x4323f8
lea ebx, [esi + 5]
cmp edi, ebx
jne 0x4324af
mov edx, ecx
mov ecx, edi
jmp 0x4324e4
lea esi, [ebx + 4]
mov dword [ebp - 0x14], esi
cmp edi, esi
mov esi, ebx
jae 0x432401
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edx
mov esi, dword [ebp - 0x10]
lea ebx, [eax + 0x2fadff55]
lea edx, [eax + esi]
add edx, 0x2fadff55
and ebx, esi
add ebx, ebx
sub edx, ebx
add dl, 0xad
mov dword [ebp - 0x34], edx
cmp edi, ecx
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
je 0x4324bd
lea ecx, [esi + 2]
cmp edi, ecx
jne 0x4324eb
mov ecx, edi
mov edx, esi
jmp 0x4324e4
cmp edi, ecx
je 0x4324a3
lea ebx, [esi + 2]
cmp edi, ebx
jne 0x432544
lea ecx, [eax - 0xf602010]
mov edx, dword [ebp - 0x10]
lea ebx, [eax + edx]
add ebx, 0xf09fdff0
and ecx, edx
mov edx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x70
jmp 0x43252e
lea edx, [esi + 0xa]
cmp ecx, edx
mov edi, dword [ebp - 0x10]
jne 0x43230b
lea ebx, [eax - 0x12464779]
lea edx, [eax + edi]
add edx, 0xedb9b887
and ebx, edi
add ebx, ebx
sub edx, ebx
add dl, 0x4f
mov byte [ebp + eax - 0xb8], dl
movzx edi, dl
not esi
add esi, eax
mov edx, esi
sub edx, edi
lea ebx, [edx + 0x1d67b7dc]
mov eax, dword [ebp - 0x10]
and ebx, eax
add eax, edx
add eax, 0x1d67b7dc
add ebx, ebx
sub eax, ebx
add al, 0xfc
mov byte [ebp + edx - 0xb8], al
add edi, ecx
inc ecx
sub esi, edi
mov dl, byte [ebp + esi - 0xba]
add esi, 0xfffffffe
mov eax, esi
mov edi, ecx
mov esi, dword [ebp - 0x14]
movzx edx, dl
add edx, esi
add eax, edx
jmp 0x432535
lea ebx, [esi + 3]
cmp edi, ebx
mov ebx, dword [ebp - 0x10]
jne 0x432334
mov dword [ebp - 0x14], ecx
mov ecx, edi
lea esi, [eax + 0x2f01bb33]
lea edx, [ebx + eax]
add edx, 0x2f01bb33
and esi, ebx
add esi, esi
sub edx, esi
add dl, 0x9b
mov byte [ebp + eax - 0xb8], dl
mov edx, dword [ebp - 0x14]
dec eax
mov esi, edx
mov edi, ecx
jmp 0x432535
lea ecx, [esi + 3]
cmp edi, ecx
jne 0x43256a
lea ecx, [eax - 0x261a2e17]
lea edx, [eax + ebx]
add edx, 0xd9e5d1e9
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0xa1
lea edi, [eax - 0x71a24623]
lea ecx, [eax + ebx]
add ecx, 0x8e5db9dd
and edi, ebx
add edi, edi
sub ecx, edi
add cl, dl
add cl, 0xf5
mov byte [ebp + eax - 0xb8], cl
mov edi, dword [ebp - 0x18]
movzx ecx, dl
not ecx
add eax, ecx
inc eax
cmp eax, 0x18
jb 0x43231b
jmp 0x432655
lea ebx, [esi + 3]
cmp edi, ebx
jne 0x432589
lea ecx, [eax + 0x4ffbde9a]
mov edx, dword [ebp - 0x10]
lea edi, [eax + edx]
add edi, 0x4ffbde9a
and ecx, edx
mov edx, edi
add ecx, ecx
sub edx, ecx
add dl, 0xca
jmp 0x43252b
cmp edi, dword [ebp - 0x14]
jne 0x4325c5
lea ecx, [eax + 0x3941d093]
lea edx, [eax + ebx]
add edx, 0x3941d093
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0xfb
jmp 0x43252b
cmp edi, dword [ebp - 0x14]
je 0x4323f8
lea ebx, [esi + 7]
cmp edi, ebx
mov ebx, dword [ebp - 0x10]
je 0x4324bd
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edx
mov esi, ebx
lea ebx, [eax - 0x16ba0e07]
lea edx, [eax + esi]
add edx, 0xe945f1f9
and ebx, esi
add ebx, ebx
sub edx, ebx
add dl, 0x31
jmp 0x4323d9
lea ecx, [esi + 5]
cmp edi, ecx
jne 0x4325e9
lea ecx, [eax - 0x676230c3]
lea edx, [eax + ebx]
add edx, 0x989dcf3d
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x55
jmp 0x43252e
lea ecx, [esi + 9]
cmp edi, ecx
je 0x4324a3
cmp edi, 7
ja 0x43262f
lea ecx, [esi + 6]
cmp edi, ecx
jbe 0x432620
lea ecx, [eax + 0x45bbc93a]
lea edx, [eax + ebx]
add edx, 0x45bbc93a
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x6a
mov dword [ebp - 0x34], edx
mov edi, 7
mov ecx, dword [ebp - 0x34]
mov byte [ebp + eax - 0xb8], cl
jmp 0x432535
lea edi, [eax + 0x5eafba88]
lea ecx, [eax + ebx]
add ecx, 0x5eafba88
and edi, ebx
add edi, edi
sub ecx, edi
add dl, cl
add dl, 0x48
jmp 0x43250a
mov eax, 0x958c71
jmp 0x43265e
xor eax, eax
jmp 0x43265e
mov eax, 0x1678d1c
lea esi, [eax + ebp]
add esi, 0xffffff48
xor eax, eax
mov edi, dword [ebp - 0x28]
mov dword [edi + 8], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], 0xf
mov byte [edi + 8], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [ebp - 0x2c]
push eax
push esi
call fcn.00450e50
lea ebx, [ebp - 0x88]
mov dword [edi], ebx
lea eax, [ebp - 0x1f4]
mov dword [edi + 4], eax
call fcn.0040cd09
add esp, 0x20
mov esp, dword [ebp - 0x24]
cmp dword [ebx + 0x14], 0x10
mov edi, dword [ebp + 8]
jb 0x4326bb
mov ebx, dword [ebp - 0x88]
mov esi, dword [edi + 0x10]
mov dword [ebp - 0x10], ebx
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, closesocket
sub ecx, esi
cmp ecx, eax
jb 0x435bfb
mov ecx, dword [edi]
mov edx, dword [edi + 0x14]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x150], 0
mov ebx, eax
add ebx, esi
cmp ebx, 0x10
mov dword [ebp - 0x18], eax
jb 0x43271c
mov dword [ebp - 0x20], ecx
mov edi, ebx
or edi, 0xf
js 0x43272c
cmp edi, 0x17
mov edx, 0x16
cmovae edx, edi
lea ecx, [edx + 1]
cmp edx, 0xfff
jb 0x432740
mov dword [ebp - 0x1c], edi
jmp 0x432738
lea edi, [ebp - 0x150]
mov edx, 0xf
mov eax, dword [ebp - 0x14]
jmp 0x43275d
mov dword [ebp - 0x1c], closesocket
mov ecx, closesocket
push ecx
call fcn.0040130b
jmp 0x432749
mov dword [ebp - 0x1c], edx
push ecx
call fcn.004716fe
add esp, 4
mov edi, eax
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
cmp eax, 0x10
mov eax, dword [ebp + 8]
cmovae eax, ecx
mov dword [ebp - 0x140], ebx
mov dword [ebp - 0x13c], edx
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, edi
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, dword [ebp - 0x154]
cmp eax, 0x10
jb 0x4327d0
mov ecx, dword [ebp - 0x168]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4327c6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
movsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x158], xmm0
movups xmm0, xmmword [ebp - 0x150]
movups xmmword [ebp - 0x168], xmm0
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x432829
mov ecx, dword [ebp - 0x88]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43281f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [ebp - 0x38], 0
movaps xmm0, xmmword [0x4735d0]
movups xmmword [ebp - 0x150], xmm0
movaps xmm0, xmmword [0x4735e0]
movups xmmword [ebp - 0x140], xmm0
mov byte [ebp - 0x130], 0xec
xorps xmm0, xmm0
movups xmmword [ebp - 0x12f], xmm0
movups xmmword [ebp - 0x124], xmm0
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x432c56
mov bl, byte [ebp + eax - 0x150]
movzx edx, bl
mov dword [ebp - 0x10], edx
lea edi, [ecx + 1]
cmp esi, edi
jae 0x4328e0
cmp ecx, eax
ja 0x432c61
lea edx, [ecx + 9]
cmp esi, edx
jae 0x43291d
lea edx, [esi + ecx]
cmp edx, eax
jbe 0x432950
lea edx, [ecx + 0xa]
cmp esi, edx
je 0x432af9
lea edx, [ecx + 3]
cmp esi, edx
jne 0x432ab6
mov dword [ebp - 0x18], esi
lea edi, [eax + 0x20947a98]
mov ebx, dword [ebp - 0x10]
lea edx, [eax + ebx]
add edx, 0x20947a98
and edi, ebx
mov byte [ebp - 0x14], 0xd8
jmp 0x4329f2
je 0x4329ba
lea edx, [ecx + 2]
cmp esi, edx
je 0x432959
lea edx, [ecx + 3]
cmp esi, edx
jne 0x432a9f
mov dword [ebp - 0x18], esi
lea edx, [eax + 0x5928900a]
mov esi, dword [ebp - 0x10]
lea edi, [eax + esi]
add edi, 0x5928900a
and edx, esi
add edx, edx
sub edi, edx
mov edx, edi
add dl, 0xba
jmp 0x432a1f
cmp esi, edi
jne 0x4329c1
lea edx, [eax - 0x1a3e5e2e]
mov ebx, esi
mov esi, dword [ebp - 0x10]
lea ecx, [eax + esi]
add ecx, 0xe5c1a1d2
and edx, esi
mov esi, ebx
add edx, edx
sub ecx, edx
add cl, 0x42
mov byte [ebp + eax - 0x150], cl
jmp 0x432afb
cmp edx, 9
jne 0x432a30
mov dword [ebp - 0x18], esi
lea edx, [eax - 0x56e9ccb6]
mov esi, dword [ebp - 0x10]
lea ebx, [eax + esi]
add ebx, 0xa916334a
and edx, esi
add edx, edx
sub ebx, edx
add bl, 0xfa
mov byte [ebp + eax - 0x150], bl
movzx edx, bl
not ecx
add ecx, eax
sub ecx, edx
mov eax, ecx
lea ecx, [eax - 0x6614a858]
and ecx, esi
lea edx, [eax + esi]
add edx, 0x99eb57a8
add ecx, ecx
sub edx, ecx
add dl, 0x68
mov byte [ebp + eax - 0x150], dl
mov esi, dword [ebp - 0x18]
sub eax, esi
inc esi
mov bl, byte [ebp + eax - 0x152]
add eax, 0xfffffffe
mov ecx, edi
movzx edx, bl
add edx, ecx
jmp 0x432a29
lea edx, [ecx + 2]
cmp esi, edx
je 0x432afb
lea edx, [ecx + 3]
cmp esi, edx
jne 0x432b0d
mov dword [ebp - 0x18], esi
lea edi, [eax + 0x48251ea6]
mov ebx, dword [ebp - 0x10]
lea edx, [eax + ebx]
add edx, 0x48251ea6
and edi, ebx
mov byte [ebp - 0x14], 0x76
add edi, edi
sub edx, edi
add dl, byte [ebp - 0x14]
mov edi, edx
lea edx, [eax - 0x38941572]
mov esi, ebx
add ebx, eax
add ebx, 0xc76bea8e
and edx, esi
add edx, edx
sub ebx, edx
mov edx, edi
add bl, dl
add bl, 0x1e
mov byte [ebp + eax - 0x150], bl
mov esi, dword [ebp - 0x18]
add esi, ecx
movzx edx, dl
not edx
add eax, edx
jmp 0x432afe
lea edx, [ecx + 5]
cmp esi, edx
jbe 0x432ae3
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], esi
lea edx, [eax + 0x62c9aa66]
mov esi, dword [ebp - 0x10]
add esi, eax
add esi, 0x62c9aa66
and edx, dword [ebp - 0x10]
add edx, edx
sub esi, edx
mov edx, esi
add dl, 0x36
mov dword [ebp - 0x1c], edx
mov esi, dword [ebp - 0x18]
cmp esi, edi
je 0x4329ba
lea edx, [ecx + 3]
cmp esi, edx
je 0x432959
cmp esi, dword [ebp - 0x14]
jne 0x432bb2
lea edx, [eax - 0x7366ee38]
mov esi, dword [ebp - 0x10]
lea edi, [eax + esi]
add edi, 0x8c9911c8
and edx, esi
add edx, edx
sub edi, edx
mov edx, edi
add dl, 0x88
jmp 0x432a1f
lea edx, [ecx + 6]
cmp esi, edx
je 0x432af9
lea edx, [ecx + 4]
cmp esi, edx
jne 0x432890
jmp 0x432925
lea edx, [ecx + 0x28]
cmp esi, edx
jne 0x432b39
lea edx, [eax - 0x1c16f3f0]
mov edi, esi
mov esi, dword [ebp - 0x10]
lea ebx, [eax + esi]
add ebx, 0xe3e90c10
and edx, esi
mov esi, edi
add edx, edx
sub ebx, edx
mov edx, ebx
add dl, 0x90
jmp 0x432a24
cmp esi, edi
je 0x432925
mov dword [ebp - 0x14], edx
lea edx, [ecx + 2]
cmp esi, edx
jne 0x432b8b
mov edi, ecx
dec eax
mov ecx, edi
inc eax
cmp eax, 0x3c
jb 0x432874
jmp 0x432c5d
lea edx, [ecx + 4]
cmp esi, edx
jne 0x432b68
mov dword [ebp - 0x18], esi
lea edx, [eax + 0x29cf6762]
mov esi, dword [ebp - 0x10]
lea edi, [eax + esi]
add edi, 0x29cf6762
and edx, esi
add edx, edx
sub edi, edx
mov edx, edi
add dl, 0x52
jmp 0x432a1f
lea edx, [ecx + 6]
cmp esi, edx
je 0x432959
lea edx, [ecx + 0x2a]
cmp esi, edx
je 0x432b7e
lea esi, [ecx + 0x10]
lea edx, [ecx + 0x18]
add ecx, 0x1c
mov eax, 0
cmp esi, ecx
mov ecx, edx
jae 0x432874
jmp 0x432864
lea edx, [ecx + 6]
cmp esi, edx
je 0x432959
lea edx, [ecx + 7]
cmp esi, edx
jne 0x43289f
mov dword [ebp - 0x18], esi
mov edi, ecx
mov esi, dword [ebp - 0x10]
jmp 0x432989
lea edx, [ecx + 3]
cmp esi, edx
jne 0x432bd6
mov dword [ebp - 0x18], esi
lea edi, [eax - 0x168d32aa]
mov ebx, dword [ebp - 0x10]
lea edx, [eax + ebx]
add edx, 0xe972cd56
and edi, ebx
mov byte [ebp - 0x14], 0xa6
jmp 0x4329f2
lea edx, [ecx + 6]
cmp esi, edx
mov ebx, dword [ebp - 0x10]
jne 0x432c01
lea edi, [eax + 0x6e435a84]
lea edx, [eax + ebx]
add edx, 0x6e435a84
and edi, ebx
mov byte [ebp - 0x14], 0x64
jmp 0x4329f2
cmp esi, dword [ebp - 0x14]
jne 0x432c1b
lea edx, [eax - 0x5338a132]
mov edi, esi
mov esi, dword [ebp - 0x10]
lea ebx, [eax + esi]
add ebx, 0xacc75ece
and edx, esi
mov esi, edi
add edx, edx
sub ebx, edx
mov edx, ebx
add dl, 0x5e
jmp 0x432a24
lea edx, [ecx + 2]
cmp esi, edx
je 0x432af9
mov edx, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x150], dl
jmp 0x432afe
lea edx, [ecx + 4]
cmp esi, edx
je 0x432959
lea edx, [ecx + 6]
cmp esi, edx
je 0x4329ba
mov dword [ebp - 0x18], esi
lea edx, [eax - 0xf2adba2]
mov esi, dword [ebp - 0x10]
add esi, eax
add esi, 0xf0d5245e
and edx, dword [ebp - 0x10]
add edx, edx
sub esi, edx
mov edx, esi
add dl, 0x6e
jmp 0x432a5e
mov eax, 0x1099386
jmp 0x432c66
xor eax, eax
jmp 0x432c66
mov eax, 0x1746f28
lea esi, [eax + ebp]
add esi, 0xfffffeb0
xor eax, eax
lea edi, [ebp - 0xb8]
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
xor esi, esi
call fcn.00450e50
mov dword [ebp - 0x30], esi
mov edx, dword [0x478680]
test edx, edx
jne 0x432e06
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0x7982d584
mov dword [ebp - 0x24], eax
test esi, esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], eax
je 0x432d11
mov esi, dword [eax + 0x2c]
add esi, 0xfffffff8
mov edx, 0xf20ecfc2
cmp si, 2
jb 0x432d03
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0xf20ecfc2
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x432cf0
mov esi, dword [ebp - 0x20]
cmp edx, esi
mov eax, dword [ebp - 0x1c]
jne 0x432ded
mov edx, dword [eax + 0x18]
mov eax, dword [edx + 0x3c]
mov edi, dword [edx + eax + 0x78]
test edi, edi
je 0x432dc2
mov eax, dword [edx + eax + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [edx + edi]
mov dword [ebp - 0x10], eax
mov esi, dword [eax + 0x18]
lea eax, [edx + 1]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edi
sub esi, 1
jb 0x432dbf
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, edx
mov edi, dword [eax + esi*4]
mov al, byte [edx + edi]
test al, al
je 0x432d6f
add edi, dword [ebp - 0x14]
mov ebx, 0xf20ecfc2
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x432d5b
jmp 0x432d74
mov ebx, 0xf20ecfc2
cmp ebx, ecx
mov edi, dword [ebp - 0x18]
jne 0x432d3c
mov eax, dword [edx + edi + 0x1c]
add eax, edx
mov ecx, dword [edx + edi + 0x24]
add ecx, edx
movzx ecx, word [ecx + esi*2]
mov eax, dword [eax + ecx*4]
add edx, eax
cmp edi, eax
jge 0x432e00
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, edx
jbe 0x432e00
mov al, byte [edx]
mov ecx, 0xf20ecfc2
mov esi, 0xf20ecfc2
cmp al, 0x2e
je 0x432dc7
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx + 1]
inc edx
jmp 0x432daa
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
jmp 0x432ded
mov al, byte [edx + 1]
test al, al
je 0x432de8
add edx, 2
mov ecx, 0xf20ecfc2
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
inc edx
test al, al
jne 0x432dd6
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov eax, dword [eax]
xor edx, edx
cmp eax, dword [ebp - 0x24]
je 0x432e00
cmp dword [eax + 0x18], 0
jne 0x432cc1
mov dword [0x478680], edx
cmp dword [ebp - 0x154], 0x10
jb 0x432e17
mov eax, dword [ebp - 0x168]
jmp 0x432e1d
lea eax, [ebp - 0x168]
lea ecx, [ebp - 0x38]
push ecx
push eax
call edx
test eax, eax
jne 0x435b1a
mov edi, dword [0x478684]
test edi, edi
jne 0x432f97
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0xebdc99a1
xor esi, esi
mov dword [ebp - 0x24], eax
test esi, esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], eax
je 0x432ea2
mov esi, dword [eax + 0x2c]
add esi, 0xfffffff8
mov edx, 0xa4d36bb3
cmp si, 2
jb 0x432e94
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0xa4d36bb3
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x432e81
mov esi, dword [ebp - 0x20]
cmp edx, esi
mov eax, dword [ebp - 0x1c]
jne 0x432f7e
mov edi, dword [eax + 0x18]
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + eax + 0x78]
test edx, edx
je 0x432f53
mov eax, dword [edi + eax + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [edi + edx]
mov dword [ebp - 0x10], eax
mov esi, dword [eax + 0x18]
lea eax, [edi + 1]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
sub esi, 1
jb 0x432f50
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, edi
mov ebx, dword [eax + esi*4]
mov al, byte [edi + ebx]
test al, al
je 0x432f00
add ebx, dword [ebp - 0x14]
mov edx, 0xa4d36bb3
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ebx]
inc ebx
test al, al
jne 0x432eec
jmp 0x432f05
mov edx, 0xa4d36bb3
cmp edx, ecx
mov edx, dword [ebp - 0x18]
jne 0x432ecd
mov eax, dword [edi + edx + 0x1c]
add eax, edi
mov ecx, dword [edi + edx + 0x24]
add ecx, edi
movzx ecx, word [ecx + esi*2]
mov eax, dword [eax + ecx*4]
add edi, eax
cmp edx, eax
jge 0x432f91
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, edi
jbe 0x432f91
mov al, byte [edi]
mov ecx, 0xa4d36bb3
mov esi, 0xa4d36bb3
cmp al, 0x2e
je 0x432f58
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edi + 1]
inc edi
jmp 0x432f3b
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
jmp 0x432f7e
mov al, byte [edi + 1]
test al, al
je 0x432f79
add edi, 2
mov ecx, 0xa4d36bb3
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x432f67
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov eax, dword [eax]
xor edi, edi
cmp eax, dword [ebp - 0x24]
je 0x432f91
cmp dword [eax + 0x18], 0
jne 0x432e52
mov dword [0x478684], edi
cmp dword [ebp - 0xa4], 0x10
lea ecx, [ebp - 0xb8]
jb 0x432fac
mov ecx, dword [ebp - 0xb8]
lea eax, [ebp - 0x30]
push 0
push eax
push 0xffffffffffffffff
push ecx
push dword [ebp - 0x38]
call edi
test eax, eax
je 0x435164
mov esi, dword [0x478688]
test esi, esi
jne 0x43312f
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0xdcd25ac1
xor edi, edi
mov dword [ebp - 0x20], eax
mov edx, eax
test edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edx
je 0x43303a
mov esi, dword [edx + 0x2c]
add esi, 0xfffffff8
mov edx, 0xcd1b22c9
cmp si, 2
jb 0x43302c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0xcd1b22c9
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x433019
mov edi, dword [ebp - 0x1c]
cmp edx, edi
mov edx, dword [ebp - 0x14]
jne 0x433116
mov esi, dword [edx + 0x18]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + eax + 0x78]
test ebx, ebx
je 0x433116
mov eax, dword [esi + eax + 0x7c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
lea eax, [esi + ebx]
mov dword [ebp - 0x10], eax
mov ebx, dword [eax + 0x18]
lea eax, [esi + 1]
mov dword [ebp - 0x18], eax
sub ebx, 1
jb 0x4330e8
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, esi
mov edi, dword [eax + ebx*4]
mov al, byte [esi + edi]
test al, al
je 0x433098
add edi, dword [ebp - 0x18]
mov edx, 0xcd1b22c9
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x433084
jmp 0x43309d
mov edx, 0xcd1b22c9
cmp edx, ecx
jne 0x433065
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + edx + 0x1c]
add eax, esi
mov ecx, dword [esi + edx + 0x24]
add ecx, esi
movzx ecx, word [ecx + ebx*2]
mov eax, dword [eax + ecx*4]
add esi, eax
cmp edx, eax
jge 0x433129
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, esi
jbe 0x433129
mov al, byte [esi]
mov ecx, 0xcd1b22c9
mov edi, 0xcd1b22c9
cmp al, 0x2e
je 0x4330f0
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [esi + 1]
inc esi
jmp 0x4330d3
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
jmp 0x433116
mov al, byte [esi + 1]
test al, al
je 0x433111
add esi, 2
mov ecx, 0xcd1b22c9
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [esi]
inc esi
test al, al
jne 0x4330ff
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov edx, dword [edx]
xor esi, esi
cmp edx, dword [ebp - 0x20]
je 0x433129
cmp dword [edx + 0x18], 0
jne 0x432fea
mov dword [0x478688], esi
push dword [ebp - 0x38]
call esi
jmp 0x435b1a
mov esi, dword [0x478690]
test esi, esi
jne 0x4332a6
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0x27a4e509
xor edi, edi
mov dword [ebp - 0x20], eax
mov edx, eax
test edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edx
je 0x4331b1
mov esi, dword [edx + 0x2c]
add esi, 0xfffffff8
mov edx, 0xa06569e1
cmp si, 2
jb 0x4331a3
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0xa06569e1
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x433190
mov edi, dword [ebp - 0x1c]
cmp edx, edi
mov edx, dword [ebp - 0x14]
jne 0x43328d
mov esi, dword [edx + 0x18]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + eax + 0x78]
test ebx, ebx
je 0x43328d
mov eax, dword [esi + eax + 0x7c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
lea eax, [esi + ebx]
mov dword [ebp - 0x10], eax
mov ebx, dword [eax + 0x18]
lea eax, [esi + 1]
mov dword [ebp - 0x18], eax
sub ebx, 1
jb 0x43325f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, esi
mov edi, dword [eax + ebx*4]
mov al, byte [esi + edi]
test al, al
je 0x43320f
add edi, dword [ebp - 0x18]
mov edx, 0xa06569e1
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x4331fb
jmp 0x433214
mov edx, 0xa06569e1
cmp edx, ecx
jne 0x4331dc
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + edx + 0x1c]
add eax, esi
mov ecx, dword [esi + edx + 0x24]
add ecx, esi
movzx ecx, word [ecx + ebx*2]
mov eax, dword [eax + ecx*4]
add esi, eax
cmp edx, eax
jge 0x4332a0
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, esi
jbe 0x4332a0
mov al, byte [esi]
mov ecx, 0xa06569e1
mov edi, 0xa06569e1
cmp al, 0x2e
je 0x433267
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [esi + 1]
inc esi
jmp 0x43324a
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
jmp 0x43328d
mov al, byte [esi + 1]
test al, al
je 0x433288
add esi, 2
mov ecx, 0xa06569e1
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [esi]
inc esi
test al, al
jne 0x433276
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov edx, dword [edx]
xor esi, esi
cmp edx, dword [ebp - 0x20]
je 0x4332a0
cmp dword [edx + 0x18], 0
jne 0x433161
mov dword [0x478690], esi
push 0
push dword [ebp - 0x30]
call esi
mov dword [ebp - 0x2c], eax
mov esi, dword [0x478694]
test esi, esi
jne 0x43341d
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0x85621b1f
xor edi, edi
mov dword [ebp - 0x20], eax
mov edx, eax
test edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edx
je 0x433328
mov esi, dword [edx + 0x2c]
add esi, 0xfffffff8
mov edx, 0x8c68503f
cmp si, 2
jb 0x43331a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0x8c68503f
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x433307
mov edi, dword [ebp - 0x1c]
cmp edx, edi
mov edx, dword [ebp - 0x14]
jne 0x433404
mov esi, dword [edx + 0x18]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + eax + 0x78]
test ebx, ebx
je 0x433404
mov eax, dword [esi + eax + 0x7c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
lea eax, [esi + ebx]
mov dword [ebp - 0x10], eax
mov ebx, dword [eax + 0x18]
lea eax, [esi + 1]
mov dword [ebp - 0x18], eax
sub ebx, 1
jb 0x4333d6
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, esi
mov edi, dword [eax + ebx*4]
mov al, byte [esi + edi]
test al, al
je 0x433386
add edi, dword [ebp - 0x18]
mov edx, 0x8c68503f
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x433372
jmp 0x43338b
mov edx, 0x8c68503f
cmp edx, ecx
jne 0x433353
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + edx + 0x1c]
add eax, esi
mov ecx, dword [esi + edx + 0x24]
add ecx, esi
movzx ecx, word [ecx + ebx*2]
mov eax, dword [eax + ecx*4]
add esi, eax
cmp edx, eax
jge 0x433417
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, esi
jbe 0x433417
mov al, byte [esi]
mov ecx, 0x8c68503f
mov edi, 0x8c68503f
cmp al, 0x2e
je 0x4333de
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [esi + 1]
inc esi
jmp 0x4333c1
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
jmp 0x433404
mov al, byte [esi + 1]
test al, al
je 0x4333ff
add esi, 2
mov ecx, 0x8c68503f
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [esi]
inc esi
test al, al
jne 0x4333ed
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov edx, dword [edx]
xor esi, esi
cmp edx, dword [ebp - 0x20]
je 0x433417
cmp dword [edx + 0x18], 0
jne 0x4332d8
mov dword [0x478694], esi
push 1
push dword [ebp - 0x30]
call esi
mov esi, eax
mov edi, dword [0x478698]
test edi, edi
jne 0x433597
mov dword [ebp - 0x34], esi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0xed324fb5
xor esi, esi
mov dword [ebp - 0x24], eax
test esi, esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], eax
je 0x43349f
mov esi, dword [eax + 0x2c]
add esi, 0xfffffff8
mov edx, 0xa3f0f315
cmp si, 2
jb 0x433491
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0xa3f0f315
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x43347e
mov esi, dword [ebp - 0x20]
cmp edx, esi
mov eax, dword [ebp - 0x1c]
jne 0x43357b
mov edi, dword [eax + 0x18]
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + eax + 0x78]
test edx, edx
je 0x433550
mov eax, dword [edi + eax + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [edi + edx]
mov dword [ebp - 0x10], eax
mov esi, dword [eax + 0x18]
lea eax, [edi + 1]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
sub esi, 1
jb 0x43354d
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, edi
mov eax, dword [eax + esi*4]
mov bl, byte [edi + eax]
test bl, bl
je 0x4334fd
add eax, dword [ebp - 0x14]
mov edx, 0xa3f0f315
movsx ebx, bl
xor ebx, edx
imul edx, ebx, 0x1000193
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x4334e9
jmp 0x433502
mov edx, 0xa3f0f315
cmp edx, ecx
mov edx, dword [ebp - 0x18]
jne 0x4334ca
mov eax, dword [edi + edx + 0x1c]
add eax, edi
mov ecx, dword [edi + edx + 0x24]
add ecx, edi
movzx ecx, word [ecx + esi*2]
mov eax, dword [eax + ecx*4]
add edi, eax
cmp edx, eax
jge 0x43358e
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, edi
jbe 0x43358e
mov al, byte [edi]
mov ecx, 0xa3f0f315
mov esi, 0xa3f0f315
cmp al, 0x2e
je 0x433555
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edi + 1]
inc edi
jmp 0x433538
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
jmp 0x43357b
mov al, byte [edi + 1]
test al, al
je 0x433576
add edi, 2
mov ecx, 0xa3f0f315
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x433564
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov eax, dword [eax]
xor edi, edi
cmp eax, dword [ebp - 0x24]
je 0x43358e
cmp dword [eax + 0x18], 0
jne 0x43344f
mov dword [0x478698], edi
mov esi, dword [ebp - 0x34]
push 1
push dword [ebp - 0x30]
call edi
xor ebx, ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x40], ebx
mov eax, 0xf
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x50], bl
mov edi, dword [ebp - 0x2c]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [ebp - 0x50]
push eax
push edi
call fcn.00450e50
mov dword [ebp - 0x194], ebx
mov dword [ebp - 0x184], ebx
mov eax, 0xf
mov dword [ebp - 0x180], eax
mov byte [ebp - 0x194], bl
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [ebp - 0x194]
push eax
push esi
call fcn.00450e50
lea eax, [ebp - 0x86]
xorps xmm0, xmm0
movups xmmword [eax + 0xb], xmm0
movups xmmword [eax], xmm0
mov word [ebp - 0x88], 0x415c
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x433956
mov dl, byte [ebp + eax - 0x88]
movzx edi, dl
lea ebx, [ecx + 1]
cmp esi, ebx
jae 0x43369f
cmp ecx, eax
ja 0x433961
mov dword [ebp - 0x10], esi
lea esi, [ecx + 0xa]
cmp dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x10]
jae 0x4336eb
mov dword [ebp - 0x18], edi
mov edi, esi
add esi, ecx
cmp esi, eax
jbe 0x43371c
lea esi, [ecx + 5]
cmp edi, esi
mov esi, edi
mov edi, dword [ebp - 0x18]
je 0x43385b
mov ebx, esi
lea esi, [ecx + 4]
cmp ebx, esi
jne 0x43383a
lea esi, [eax - 0x450e56e]
lea edx, [eax + edi]
add edx, 0xfbaf1a92
and esi, edi
add esi, esi
sub edx, esi
add dl, 2
jmp 0x43382c
je 0x43377f
mov dword [ebp - 0x14], ebx
mov ebx, edx
mov edx, edi
mov edi, esi
lea esi, [ecx + 3]
mov dword [ebp - 0x10], edi
cmp edi, esi
mov edi, edx
mov edx, ebx
mov ebx, dword [ebp - 0x14]
je 0x433724
lea esi, [ecx + 2]
cmp dword [ebp - 0x10], esi
jne 0x4337c9
lea esi, [eax - 0x27fa95d]
lea edx, [eax + edi]
add edx, 0xfd8056a3
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x8b
mov esi, dword [ebp - 0x10]
jmp 0x433831
cmp esi, ebx
je 0x43385b
lea esi, [ecx + 2]
cmp dword [ebp - 0x10], esi
jne 0x43380c
lea esi, [eax + 0x30d66c7f]
lea edx, [eax + edi]
add edx, 0x30d66c7f
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x87
jmp 0x4337e9
cmp esi, 0x10
mov edi, dword [ebp - 0x18]
jne 0x433789
lea esi, [eax - 0x3a26a4a7]
lea edx, [eax + edi]
add edx, 0xc5d95b59
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x91
mov byte [ebp + eax - 0x88], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov ecx, ebx
lea esi, [eax - 0x1dfbf05c]
lea edx, [eax + edi]
add edx, 0xe2040fa4
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x84
mov byte [ebp + eax - 0x88], dl
mov esi, dword [ebp - 0x10]
sub eax, esi
inc esi
mov dl, byte [ebp + eax - 0x8a]
add eax, 0xfffffffe
movzx edx, dl
add edx, ecx
jmp 0x433836
mov esi, dword [ebp - 0x10]
cmp esi, ebx
je 0x43385b
lea esi, [ecx + 2]
cmp dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x10]
je 0x43387c
lea esi, [ecx + 3]
cmp dword [ebp - 0x10], esi
jne 0x4338bb
lea esi, [eax - 0x687d67c9]
lea edx, [eax + edi]
add edx, 0x97829837
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x7f
jmp 0x4337e9
lea esi, [ecx + 5]
cmp dword [ebp - 0x10], esi
jne 0x43384c
lea esi, [eax + 0x6e2b27cf]
lea edx, [eax + edi]
add edx, 0x6e2b27cf
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x57
lea esi, [eax - 0x727c0d3d]
lea ebx, [edi + eax]
add ebx, 0x8d83f2c3
and esi, edi
add esi, esi
sub ebx, esi
add bl, dl
add bl, 0xab
mov byte [ebp + eax - 0x88], bl
jmp 0x43382c
lea esi, [ecx + 5]
cmp dword [ebp - 0x10], esi
jne 0x43388c
lea esi, [eax + 0x692bd515]
lea edx, [eax + edi]
add edx, 0x692bd515
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x6d
mov esi, dword [ebp - 0x10]
add esi, ecx
movzx edx, dl
not edx
add eax, edx
jmp 0x43387d
lea esi, [ecx + 3]
cmp ebx, esi
mov esi, ebx
je 0x43377f
jmp 0x433613
lea esi, [ecx + 7]
cmp dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x10]
jne 0x43363c
lea edx, [eax + 0x552e8a2d]
lea ecx, [eax + edi]
add ecx, 0x552e8a2d
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xc5
mov byte [ebp + eax - 0x88], cl
mov ecx, ebx
dec eax
inc eax
cmp eax, 0x1d
jb 0x433623
jmp 0x43395d
lea esi, [ecx + 3]
cmp dword [ebp - 0x10], esi
je 0x433724
lea esi, [ecx + 4]
mov dword [ebp - 0x14], edx
mov edx, ecx
mov ecx, edi
mov edi, dword [ebp - 0x10]
cmp edi, esi
mov esi, edi
mov edi, ecx
mov ecx, edx
mov edx, dword [ebp - 0x14]
jne 0x433656
jmp 0x433750
lea esi, [ecx + 5]
cmp dword [ebp - 0x10], esi
jne 0x4338e0
lea esi, [eax - 0x3027ff33]
lea edx, [eax + edi]
add edx, 0xcfd800cd
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x65
jmp 0x43382c
lea esi, [ecx + 7]
cmp dword [ebp - 0x10], esi
je 0x433724
lea esi, [ecx + 4]
mov edi, dword [ebp - 0x10]
cmp edi, esi
mov esi, edi
je 0x43377f
cmp esi, 8
ja 0x433934
cmp ecx, 0xf
mov edi, dword [ebp - 0x18]
ja 0x43385b
lea esi, [eax + 0x1c2ab44b]
lea edx, [eax + edi]
add edx, 0x1c2ab44b
and esi, edi
add esi, esi
sub edx, esi
mov esi, dword [ebp - 0x10]
add dl, 0xf3
mov byte [ebp + eax - 0x88], dl
jmp 0x43387d
lea esi, [eax + 0x71593e78]
mov edi, dword [ebp - 0x18]
lea ebx, [eax + edi]
add ebx, 0x71593e78
and esi, edi
add esi, esi
sub ebx, esi
add dl, bl
add dl, 0xb8
jmp 0x4337e9
mov eax, 0x5bd6af
jmp 0x433966
xor eax, eax
jmp 0x433966
mov eax, 0x1712264
add eax, ebp
add eax, 0xffffff78
mov dword [ebp - 0x28], eax
xor ebx, ebx
mov dword [ebp - 0x1ac], ebx
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x198], 0xf
mov byte [ebp - 0x1ac], bl
push 0x40
call fcn.004716fe
add esp, 4
mov dword [ebp - 0x19c], 0x32
mov dword [ebp - 0x198], 0x3f
movaps xmm0, xmmword [str.________________]
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax + 0x20], xmm0
mov word [eax + 0x30], 0x5f5f
mov byte [eax + 0x32], bl
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x17a]
mov byte [eax + 0x10], bl
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov word [ebp - 0x17c], 0x11c
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov esi, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x433c95
mov dl, byte [ebp + eax - 0x17c]
movzx ecx, dl
lea ebx, [esi + 1]
cmp edi, ebx
jae 0x433a5c
cmp esi, eax
ja 0x433ca0
mov dword [ebp - 0x10], ecx
lea ecx, [edi + esi]
cmp ecx, eax
mov dword [ebp - 0x14], ecx
jbe 0x433a65
lea ecx, [esi + 0x10]
cmp edi, ecx
je 0x433b5f
lea ecx, [esi + 0xa]
cmp edi, ecx
jne 0x433ad8
lea ecx, [eax - 0x3584df2e]
mov edi, dword [ebp - 0x10]
lea edx, [eax + edi]
add edx, 0xca7b20d2
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x42
mov edi, dword [ebp - 0x14]
jmp 0x433bb8
jne 0x433a9b
mov ebx, esi
jmp 0x433b45
cmp ecx, 8
je 0x433ae3
cmp edi, ebx
jne 0x433b50
lea edx, [eax + 0x103311cd]
mov esi, dword [ebp - 0x10]
lea ecx, [eax + esi]
add ecx, 0x103311cd
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0x65
mov byte [ebp + eax - 0x17c], cl
mov esi, edi
jmp 0x433b5f
mov dword [ebp - 0x10], ecx
mov ecx, edi
lea edi, [esi + 2]
cmp ecx, edi
mov edi, ecx
je 0x433ae3
mov ecx, edi
lea edi, [esi + 3]
cmp ecx, edi
jne 0x433b62
lea edi, [eax - 0x5d07f6fd]
mov ebx, dword [ebp - 0x10]
lea edx, [eax + ebx]
add edx, 0xa2f80903
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xeb
mov edi, ecx
jmp 0x433bb8
lea ecx, [esi + 9]
cmp edi, ecx
jne 0x433bce
mov dword [ebp - 0x18], edi
lea edi, [eax + 0x1fbdc079]
mov ecx, dword [ebp - 0x10]
lea edx, [eax + ecx]
add edx, 0x1fbdc079
and edi, ecx
add edi, edi
sub edx, edi
add dl, 0xb1
mov byte [ebp + eax - 0x17c], dl
movzx edx, dl
not esi
add esi, eax
mov eax, esi
sub eax, edx
lea edi, [eax - 0x5c5f93dc]
and edi, ecx
add ecx, eax
add ecx, 0xa3a06c24
add edi, edi
sub ecx, edi
mov edi, dword [ebp - 0x18]
add cl, 4
mov byte [ebp + eax - 0x17c], cl
add edx, edi
inc edi
sub esi, edx
mov dl, byte [ebp + esi - 0x17e]
add esi, 0xfffffffe
mov eax, esi
movzx ecx, dl
add ecx, ebx
add eax, ecx
mov esi, ebx
jmp 0x433bbf
mov ecx, edi
lea edi, [esi + 2]
cmp ecx, edi
jne 0x433be0
mov edi, ecx
dec eax
jmp 0x433bbf
lea edi, [esi + 6]
cmp ecx, edi
mov edi, ecx
mov ecx, dword [ebp - 0x10]
jne 0x433a0e
mov ebx, ecx
mov ecx, edi
lea edi, [eax - 0x4d7d4851]
lea edx, [eax + ebx]
add edx, 0xb282b7af
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x37
add ecx, esi
mov dword [ebp - 0x18], ecx
lea edi, [eax + 0x17f86923]
mov ecx, ebx
add ebx, eax
add ebx, 0x17f86923
and edi, ecx
add edi, edi
sub ebx, edi
add bl, dl
add bl, 0xb
mov byte [ebp + eax - 0x17c], bl
mov edi, dword [ebp - 0x18]
movzx edx, dl
not edx
add eax, edx
inc eax
cmp eax, 0x13
jb 0x4339f5
jmp 0x433c9c
lea ecx, [esi + 8]
mov ebx, esi
cmp edi, ecx
je 0x433b45
jmp 0x4339e5
lea edi, [esi + 3]
cmp ecx, edi
jne 0x433c07
lea ecx, [eax - 0x6c226393]
mov edi, dword [ebp - 0x10]
lea edx, [eax + edi]
add edx, 0x93dd9c6d
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 5
jmp 0x433a54
mov edi, ecx
mov dword [ebp - 0x18], ecx
lea edi, [esi + 5]
cmp dword [ebp - 0x18], edi
jne 0x433c31
lea edi, [eax - 0x645d0c3d]
mov ecx, dword [ebp - 0x10]
lea edx, [eax + ecx]
add edx, 0x9ba2f3c3
and edi, ecx
add edi, edi
sub edx, edi
add dl, 0xab
jmp 0x433bb5
lea edi, [esi + 7]
cmp dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x18]
je 0x433ae3
cmp edi, 0xf
ja 0x433c6e
lea edi, [eax - 0x7c1d5455]
mov ebx, dword [ebp - 0x10]
lea edx, [eax + ebx]
add edx, 0x83e2abab
and edi, ebx
add edi, edi
sub edx, edi
mov edi, ecx
add dl, 0x53
mov byte [ebp + eax - 0x17c], dl
jmp 0x433bbf
lea ecx, [eax - 0x6bea4288]
mov edi, dword [ebp - 0x10]
lea ebx, [eax + edi]
add ebx, 0x9415bd78
and ecx, edi
add ecx, ecx
sub ebx, ecx
add dl, bl
mov ebx, edi
add dl, 0xb8
mov ecx, dword [ebp - 0x14]
jmp 0x433b90
mov eax, 0x12e028f
jmp 0x433ca5
xor eax, eax
jmp 0x433ca5
mov eax, 0x14b56e4
add eax, ebp
add eax, 0xfffffe84
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x150], 0x9f93b762
mov dword [ebp - 0x14c], 0x57489485
mov byte [ebp - 0x148], 0x74
lea eax, [ebp - 0x147]
xor ecx, ecx
mov dword [eax + 0xf], ecx
mov dword [eax + 0x13], ecx
xorps xmm0, xmm0
movups xmmword [eax], xmm0
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov edi, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x434260
movzx edx, byte [ebp + eax - 0x150]
lea ecx, [edi + 1]
mov dword [ebp - 0x10], ecx
cmp esi, ecx
jae 0x433d94
lea ecx, [eax - 0x4d515652]
lea ebx, [eax + edx]
add ebx, 0xb2aea9ae
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x3e
cmp edi, eax
ja 0x43426b
mov dword [ebp - 0x14], edi
lea ecx, [edi + 3]
cmp esi, ecx
jae 0x433e43
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], esi
lea ecx, [eax - 0x57ac14ba]
lea ebx, [eax + edx]
add ebx, 0xa853eb46
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x16
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
lea ecx, [esi + edi]
cmp ecx, eax
jbe 0x433e6b
lea ecx, [edi + 5]
cmp esi, ecx
jne 0x433f2b
lea ecx, [eax - 0x38f3173c]
lea ebx, [eax + edx]
add ebx, 0xc70ce8c4
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xa4
mov edi, dword [ebp - 0x10]
jmp 0x433eb4
jne 0x433db3
lea ecx, [eax + 0x180bfd0a]
lea ebx, [eax + edx]
add ebx, 0x180bfd0a
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xba
jmp 0x433e3a
lea ecx, [edi + 3]
cmp esi, ecx
jne 0x433edb
mov dword [ebp - 0x18], esi
lea esi, [eax - 0x1d395c3e]
lea ebx, [eax + edx]
add ebx, 0xe2c6a3c2
and esi, edx
mov byte [ebp - 0x1c], 0xb2
add esi, esi
sub ebx, esi
lea esi, [eax - 0x50ff1446]
and esi, edx
add esi, esi
lea ecx, [edx + eax]
add ecx, 0xaf00ebba
sub ecx, esi
add cl, 0xea
mov byte [ebp + eax - 0x150], cl
not edi
add edi, eax
movzx eax, cl
sub edi, eax
add bl, byte [ebp - 0x1c]
mov eax, edi
mov edi, dword [ebp - 0x10]
lea esi, [eax + 0x61af9568]
lea ecx, [eax + edx]
add ecx, 0x61af9568
and esi, edx
add esi, esi
sub ecx, esi
add cl, 0x28
mov byte [ebp + eax - 0x150], cl
mov esi, dword [ebp - 0x18]
sub eax, esi
inc esi
movzx edx, byte [ebp + eax - 0x152]
add eax, 0xfffffffe
add edx, edi
add eax, edx
jmp 0x434119
mov edi, dword [ebp - 0x10]
cmp esi, edi
jne 0x433f03
mov dword [ebp - 0x18], esi
lea ecx, [eax + 0xdb13ea2]
lea ebx, [eax + edx]
add ebx, 0xdb13ea2
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x92
jmp 0x433eb4
lea ecx, [edi + 0xa]
cmp esi, ecx
jae 0x433f56
lea ecx, [eax - 0x4d515652]
lea ebx, [eax + edx]
add ebx, 0xb2aea9ae
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x3e
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
cmp esi, edi
jne 0x433fd5
lea ecx, [eax - 0x7043e2e]
lea ebx, [eax + edx]
add ebx, 0xf8fbc1d2
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x42
lea esi, [eax - 0x1bb9bafe]
lea ecx, [edx + eax]
add ecx, 0xe4464502
and esi, edx
add esi, esi
sub ecx, esi
add cl, 0xf2
mov byte [ebp + eax - 0x150], cl
mov esi, dword [ebp - 0x18]
jmp 0x434076
lea ecx, [edi + 2]
cmp esi, ecx
jne 0x433f7f
lea ecx, [eax + 0x4823f71e]
lea ebx, [eax + edx]
add ebx, 0x4823f71e
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x2e
jmp 0x434112
cmp esi, ecx
jne 0x433fa7
lea ecx, [eax - 0x27941aa6]
lea ebx, [eax + edx]
add ebx, 0xd86be55a
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x8a
mov edi, dword [ebp - 0x14]
jmp 0x434076
lea ecx, [edi + 0xa]
cmp esi, ecx
jne 0x433ffd
lea ecx, [eax + 0x2c6a3c20]
lea ebx, [eax + edx]
add ebx, 0x2c6a3c20
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x20
mov edi, dword [ebp - 0x10]
jmp 0x434076
cmp esi, dword [ebp - 0x10]
jne 0x434025
lea ecx, [eax + 0x50a7d68c]
lea ebx, [eax + edx]
add ebx, 0x50a7d68c
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x2c
mov edi, dword [ebp - 0x14]
jmp 0x433e3a
lea ecx, [edi + 4]
cmp esi, ecx
jne 0x434053
mov dword [ebp - 0x14], edi
mov edi, esi
lea esi, [eax + 0x12de9dd6]
lea ebx, [eax + edx]
add ebx, 0x12de9dd6
and esi, edx
mov cl, 0x26
jmp 0x4340e4
mov dword [ebp - 0x1c], ecx
mov edi, dword [ebp - 0x14]
lea ecx, [edi + 2]
cmp esi, ecx
jne 0x43407c
lea ecx, [eax - 0x5cd973ee]
lea ebx, [eax + edx]
add ebx, 0xa3268c12
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x82
jmp 0x434110
mov edi, dword [ebp - 0x14]
lea ecx, [edi + 2]
cmp esi, ecx
jne 0x4340a4
lea ecx, [eax - 0x3c499776]
lea ebx, [eax + edx]
add ebx, 0xc3b6688a
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x3a
jmp 0x434076
lea ecx, [edi + 9]
cmp esi, ecx
jne 0x434244
lea ecx, [eax - 0x3e207670]
lea ebx, [eax + edx]
add ebx, 0xc1df8990
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x10
jmp 0x434112
mov ecx, dword [ebp - 0x14]
add ecx, 2
cmp esi, ecx
jne 0x4340c4
lea ecx, [eax - 0x49fad618]
lea ebx, [eax + edx]
add ebx, 0xb60529e8
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xa8
mov edi, dword [ebp - 0x14]
jmp 0x433e0a
lea ecx, [edi + 6]
cmp esi, ecx
jne 0x433d24
lea ecx, [eax + 0x783bf132]
lea ebx, [eax + edx]
add ebx, 0x783bf132
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xa2
dec eax
jmp 0x434119
lea ecx, [edi + 7]
cmp esi, ecx
mov dword [ebp - 0x18], esi
jne 0x434128
lea esi, [eax + 0x6de132ca]
lea ebx, [eax + edx]
add ebx, 0x6de132ca
and esi, edx
mov byte [ebp - 0x1c], 0x7a
jmp 0x433dd6
cmp esi, dword [ebp - 0x1c]
jne 0x434153
mov edi, esi
lea esi, [eax + 0x2913bbe6]
lea ebx, [eax + edx]
add ebx, 0x2913bbe6
and esi, edx
mov cl, 0xb6
jmp 0x4340e4
mov ecx, dword [ebp - 0x1c]
cmp esi, ecx
jne 0x43417a
mov edi, esi
lea esi, [eax + 0x4b7a7758]
lea ebx, [eax + edx]
add ebx, 0x4b7a7758
and esi, edx
mov cl, 0x98
add esi, esi
sub ebx, esi
add bl, cl
lea esi, [eax + 0x49a3985e]
lea ecx, [edx + eax]
add ecx, 0x49a3985e
and esi, edx
add esi, esi
sub ecx, esi
add cl, bl
add cl, 0x6e
mov byte [ebp + eax - 0x150], cl
mov esi, edi
mov edi, dword [ebp - 0x14]
add esi, edi
movzx ecx, bl
not ecx
add eax, ecx
inc eax
cmp eax, 0x20
jb 0x433cee
jmp 0x434267
lea ecx, [edi + 6]
cmp esi, ecx
jne 0x433d58
lea ecx, [eax + 0x389bd982]
lea ebx, [eax + edx]
add ebx, 0x389bd982
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x72
mov esi, dword [ebp - 0x18]
jmp 0x433f77
mov edi, dword [ebp - 0x14]
lea ecx, [edi + 6]
cmp esi, ecx
jne 0x4341a1
mov dword [ebp - 0x18], esi
lea esi, [eax + 0x592bb5fa]
lea ebx, [eax + edx]
add ebx, 0x592bb5fa
and esi, edx
mov byte [ebp - 0x1c], 0x2a
jmp 0x433dd6
mov edi, dword [ebp - 0x14]
lea ecx, [edi + 4]
cmp esi, ecx
jne 0x4341c5
lea ecx, [eax + 0x16351e10]
lea ebx, [eax + edx]
add ebx, 0x16351e10
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x90
jmp 0x433f4e
lea ecx, [edi + 9]
cmp esi, ecx
jne 0x4341f0
lea ecx, [eax + 0x23e65cb2]
lea ebx, [eax + edx]
add ebx, 0x23e65cb2
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x22
jmp 0x433e3a
lea ecx, [edi + 9]
cmp esi, ecx
mov edi, dword [ebp - 0x10]
jne 0x433e91
lea ecx, [eax + 0x7b92716c]
lea ebx, [eax + edx]
add ebx, 0x7b92716c
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xc
jmp 0x433eb4
lea ecx, [edi + 4]
cmp esi, ecx
jne 0x434214
lea ecx, [eax + 0x36c4fa88]
lea ebx, [eax + edx]
add ebx, 0x36c4fa88
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x48
jmp 0x434110
cmp edi, 5
ja 0x434225
mov byte [ebp + eax - 0x150], bl
jmp 0x434119
lea ecx, [eax + 0x31979b54]
lea ebx, [eax + edx]
add ebx, 0x31979b54
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, bl
add bl, 0x68
jmp 0x433d8c
lea ebx, [eax + edx]
add ebx, 0x6f60d40a
add eax, 0x6f60d40a
and eax, edx
add eax, eax
sub ebx, eax
add bl, 0xba
jmp 0x433cde
mov eax, 0x108aa96
jmp 0x434270
xor eax, eax
jmp 0x434270
mov eax, 0x15a00e8
add eax, ebp
add eax, 0xfffffeb0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x114], 0xdcc7da38
mov word [ebp - 0x110], 0x1d30
mov byte [ebp - 0x10e], 0x7c
lea eax, [ebp - 0x10d]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 7], ecx
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov edi, dword [eax]
xor eax, eax
cmp esi, eax
ja 0x4345e4
mov dl, byte [ebp + eax - 0x114]
movzx ebx, dl
lea ecx, [edi + 1]
cmp esi, ecx
jae 0x43430c
cmp edi, eax
ja 0x4345ef
mov dword [ebp - 0x10], ebx
mov ebx, ecx
lea ecx, [esi + edi]
mov dword [ebp - 0x18], ecx
cmp ecx, eax
jbe 0x43435a
cmp esi, ebx
jne 0x4343f1
lea ecx, [eax - 0x7fe3c434]
mov ebx, dword [ebp - 0x10]
lea edx, [eax + ebx]
add edx, 0x801c3bcc
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x6c
jmp 0x434466
je 0x434350
mov dword [ebp - 0x10], ebx
mov ebx, edi
add edi, 2
cmp esi, edi
jne 0x4343c6
mov ecx, ebx
mov ebx, dword [ebp - 0x10]
lea edx, [eax - 0x7fe5b6ac]
and edx, ebx
add ebx, eax
add ebx, 0x801a4954
add edx, edx
sub ebx, edx
add bl, 0xb4
mov byte [ebp + eax - 0x114], bl
sub eax, esi
inc esi
mov dl, byte [ebp + eax - 0x116]
add eax, 0xfffffffe
mov edi, ecx
movzx ecx, dl
add ecx, edi
jmp 0x434556
mov dword [ebp - 0x14], edi
add edi, 0xa
cmp esi, edi
mov ecx, ebx
jbe 0x43441b
mov dword [ebp - 0x1c], ecx
lea edi, [eax + 0x600ed8d3]
mov ebx, dword [ebp - 0x10]
lea ecx, [eax + ebx]
add ecx, 0x600ed8d3
and edi, ebx
add edi, edi
sub ecx, edi
add cl, 0x3b
mov dword [ebp - 0x2c], ecx
cmp esi, 5
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
ja 0x43444c
cmp esi, ecx
je 0x434350
lea ecx, [edi + 3]
cmp esi, ecx
jne 0x434567
lea ecx, [eax - 0x3fea183a]
lea edx, [eax + ebx]
add edx, 0xc015e7c6
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x96
jmp 0x434551
lea edi, [ebx + 3]
cmp esi, edi
jne 0x43448f
lea ecx, [eax - 0x1ffdcf39]
mov edi, dword [ebp - 0x10]
lea edx, [eax + edi]
add edx, 0xe00230c7
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x8f
jmp 0x43454f
mov ecx, ebx
lea edx, [edi + 4]
cmp esi, edx
mov ebx, dword [ebp - 0x10]
jne 0x4344b7
lea ecx, [eax + 0x401cb86a]
lea edx, [eax + ebx]
add edx, 0x401cb86a
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x1a
jmp 0x434487
cmp esi, ecx
mov edi, dword [ebp - 0x10]
jne 0x4344d8
lea edx, [eax + 0x201911c9]
lea ecx, [eax + edi]
add ecx, 0x201911c9
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x81
mov byte [ebp + eax - 0x114], cl
mov edi, esi
jmp 0x434511
lea esi, [eax + 0x195018]
lea ecx, [eax + ebx]
add ecx, 0x195018
and esi, ebx
add esi, esi
sub ecx, esi
add dl, cl
add dl, 0x58
lea esi, [eax - 0x1fe67199]
lea ecx, [ebx + eax]
add ecx, 0xe0198e67
and esi, ebx
add esi, esi
sub ecx, esi
add cl, dl
add cl, 0x2f
mov byte [ebp + eax - 0x114], cl
mov esi, dword [ebp - 0x18]
jmp 0x434551
lea edi, [ebx + 5]
cmp esi, edi
jne 0x434501
lea ecx, [eax - 0x5ffd529b]
mov edx, dword [ebp - 0x10]
and ecx, edx
add edx, eax
add edx, 0xa002ad65
add ecx, ecx
sub edx, ecx
add dl, 0x3d
add esi, ebx
jmp 0x43454f
lea edx, [edi + 8]
cmp esi, edx
jne 0x434514
lea ecx, [eax + 0x1d3508]
lea edx, [eax + ebx]
add edx, 0x1d3508
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0xc8
jmp 0x434551
mov ebx, dword [ebp - 0x14]
lea edi, [ebx + 2]
cmp esi, edi
jne 0x43452d
lea ecx, [eax + 0x201147e9]
mov esi, dword [ebp - 0x10]
lea edx, [eax + esi]
add edx, 0x201147e9
and ecx, esi
add ecx, ecx
sub edx, ecx
add dl, 0xa1
mov edi, ebx
jmp 0x434487
lea edi, [ebx + 4]
cmp esi, edi
mov edi, ebx
mov ebx, dword [ebp - 0x10]
jne 0x4342cd
dec eax
jmp 0x434558
lea edx, [edi + 6]
cmp esi, edx
je 0x43457f
lea edx, [edi + 0xa]
mov ecx, edi
cmp esi, edx
je 0x434323
jmp 0x4342a4
lea edi, [ebx + 6]
cmp esi, edi
jne 0x434573
lea ecx, [eax - 0x1fee3b79]
mov edi, dword [ebp - 0x10]
lea edx, [eax + edi]
add edx, 0xe011c487
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x4f
mov edi, ebx
movzx ecx, dl
not ecx
add eax, ecx
inc eax
cmp eax, 0x12
jb 0x4342b4
jmp 0x4345eb
mov ecx, dword [ebp - 0x2c]
mov byte [ebp + eax - 0x114], cl
jmp 0x434558
lea edi, [ebx + 4]
cmp esi, edi
mov edi, ebx
mov ebx, dword [ebp - 0x10]
jne 0x4345b4
mov dword [ebp - 0x14], edi
lea edi, [eax - 0x5fe5f4fb]
lea edx, [ebx + eax]
add edx, 0xa01a0b05
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xdd
mov byte [ebp + eax - 0x114], dl
movzx edx, dl
mov edi, dword [ebp - 0x14]
not edi
add edi, eax
sub edi, edx
mov eax, edi
jmp 0x434323
mov ebx, edi
add edi, 3
cmp esi, edi
je 0x43431e
mov dword [ebp - 0x1c], ecx
lea edi, [eax - 0x1fffc1b1]
mov ebx, dword [ebp - 0x10]
lea ecx, [eax + ebx]
add ecx, 0xe0003e4f
and edi, ebx
add edi, edi
sub ecx, edi
add cl, 0xd7
jmp 0x434388
mov eax, 0x16a1b63
jmp 0x4345f4
xor eax, eax
jmp 0x4345f4
mov eax, 0x169dd14
add eax, ebp
add eax, 0xfffffeec
mov dword [ebp - 0x18], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
mov ecx, dword [ebp - 0x40]
mov eax, closesocket
sub eax, ecx
cmp eax, esi
jb 0x435bfb
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0x14], ecx
add ecx, esi
mov edi, 0xf
lea ebx, [ebp - 0xd0]
cmp ecx, 0x10
mov dword [ebp - 0x10], ecx
jb 0x434696
mov dword [ebp - 0x2c], eax
mov ebx, ecx
or ebx, 0xf
mov dword [ebp - 0x1c], edx
js 0x43466a
cmp ebx, 0x17
mov edi, 0x16
cmovae edi, ebx
lea eax, [edi + 1]
cmp edi, 0xfff
jb 0x43467c
mov edi, ebx
jmp 0x434674
mov edi, closesocket
mov eax, closesocket
push eax
call fcn.0040130b
jmp 0x434682
push eax
call fcn.004716fe
add esp, 4
mov ebx, eax
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
lea eax, [ebp - 0x50]
cmovb edx, eax
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edi
push esi
push dword [ebp - 0x18]
push ebx
mov edi, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, ebx
push dword [ebp - 0x14]
push edi
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov byte [ebx + eax], 0
push dword [ebp - 0x20]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xbc]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jae 0x4347c9
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x435bfb
mov dword [ebp - 0x18], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov dword [ebp - 0x10], closesocket
mov eax, closesocket
js 0x43474e
mov edx, esi
shr edx, 1
mov dword [ebp - 0x14], ebx
mov ebx, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x14]
jb 0x43474e
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x4350bc
mov dword [ebp - 0x10], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], edx
cmp esi, 0x10
jb 0x4347fb
mov eax, dword [ebp - 0xd0]
push edi
mov dword [ebp - 0x14], eax
push eax
push ecx
mov dword [ebp - 0x10], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [ebp - 0x10]
push dword [ebp - 0x18]
push dword [ebp - 0x20]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov edi, eax
mov byte [eax + ebx], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x434825
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x435c00
add esi, 0x24
mov ecx, esi
jmp 0x434828
mov ecx, esi
mov esi, eax
add esi, edi
mov dword [ebp - 0xc0], esi
lea ebx, [ebp - 0xd0]
cmp ecx, 0x10
jb 0x4347e6
mov ebx, dword [ebp - 0xd0]
add edi, ebx
push eax
push dword [ebp - 0x20]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x43483a
push edi
lea eax, [ebp - 0xd0]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [ebp - 0x18]
push dword [ebp - 0x20]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x434834
mov eax, dword [ebp - 0x14]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [ebp - 0xd0], esi
movsd xmm0, qword [ebp - 0xc0]
movsd qword [ebp - 0xd8], xmm0
movups xmm0, xmmword [ebp - 0xd0]
movups xmmword [ebp - 0xe8], xmm0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
mov ecx, dword [ebp - 0x184]
cmp dword [ebp - 0x180], 0x10
lea edx, [ebp - 0x194]
jb 0x43488e
mov edx, dword [ebp - 0x194]
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd4]
mov eax, esi
sub eax, ebx
cmp eax, ecx
jae 0x43497a
mov eax, closesocket
sub eax, ebx
cmp eax, ecx
jb 0x435bfb
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], ecx
add ecx, ebx
mov eax, ecx
mov dword [ebp - 0x10], ecx
or ecx, 0xf
mov edi, closesocket
mov eax, closesocket
js 0x434901
mov edx, esi
shr edx, 1
mov edi, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, edi
mov esi, edi
mov edi, closesocket
jb 0x434901
add edx, esi
cmp ecx, edx
mov edi, edx
cmovae edi, ecx
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x4350d6
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edi
cmp esi, 0x10
jb 0x4349a9
mov eax, dword [ebp - 0xe8]
push ebx
mov dword [ebp - 0x1c], eax
push eax
push ecx
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, edi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, edi
mov eax, dword [ebp - 0x10]
mov byte [edi + eax], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x4349d6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x435c00
add esi, 0x24
mov ecx, esi
jmp 0x4349d9
lea edi, [ebx + ecx]
mov dword [ebp - 0xd8], edi
mov eax, esi
lea esi, [ebp - 0xe8]
cmp eax, 0x10
jb 0x434996
mov esi, dword [ebp - 0xe8]
add ebx, esi
push ecx
push edx
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x4349eb
push ebx
lea eax, [ebp - 0xe8]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov byte [esi + eax], 0
jmp 0x4349e5
mov eax, dword [ebp - 0x1c]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, ebx
mov dword [ebp - 0xe8], esi
movsd xmm0, qword [ebp - 0xd8]
movsd qword [ebp - 0xf0], xmm0
movups xmm0, xmmword [ebp - 0xe8]
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
push dword [ebp - 0x24]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jae 0x434b1d
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x435bfb
mov dword [ebp - 0x18], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov dword [ebp - 0x10], closesocket
mov eax, closesocket
js 0x434aa2
mov edx, esi
shr edx, 1
mov dword [ebp - 0x14], ebx
mov ebx, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x14]
jb 0x434aa2
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x4350e5
mov dword [ebp - 0x10], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], edx
cmp esi, 0x10
jb 0x434b4f
mov eax, dword [ebp - 0x100]
push edi
mov dword [ebp - 0x14], eax
push eax
push ecx
mov dword [ebp - 0x10], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [ebp - 0x10]
push dword [ebp - 0x18]
push dword [ebp - 0x24]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov edi, eax
mov byte [eax + ebx], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x434b79
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x435c00
add esi, 0x24
mov ecx, esi
jmp 0x434b7c
mov ecx, esi
mov esi, eax
add esi, edi
mov dword [ebp - 0xf0], esi
lea ebx, [ebp - 0x100]
cmp ecx, 0x10
jb 0x434b3a
mov ebx, dword [ebp - 0x100]
add edi, ebx
push eax
push dword [ebp - 0x24]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x434b8e
push edi
lea eax, [ebp - 0x100]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [ebp - 0x18]
push dword [ebp - 0x24]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x434b88
mov eax, dword [ebp - 0x14]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [ebp - 0x100], esi
lea ebx, [ebp - 0xa0]
movsd xmm0, qword [ebp - 0xf0]
movsd qword [ebp - 0x1cc], xmm0
movups xmm0, xmmword [ebp - 0x100]
movups xmmword [ebp - 0x1dc], xmm0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
sub esp, 0xc
mov al, byte [ebp - 0x1c4]
mov byte [esp], al
lea eax, [ebp - 0x1ac]
mov dword [esp + 8], eax
lea eax, [ebp - 0x1dc]
mov dword [esp + 4], eax
mov ecx, ebx
call fcn.00451d58
push dword [ebp - 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x8c]
mov ecx, esi
sub ecx, edi
cmp ecx, eax
jae 0x434ced
mov ecx, closesocket
sub ecx, edi
cmp ecx, eax
jb 0x435bfb
mov dword [ebp - 0x18], eax
mov ebx, eax
add ebx, edi
mov ecx, ebx
or ecx, 0xf
mov dword [ebp - 0x10], closesocket
mov eax, closesocket
js 0x434c72
mov edx, esi
shr edx, 1
mov dword [ebp - 0x14], ebx
mov ebx, esi
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x14]
jb 0x434c72
add edx, esi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x4350ff
mov dword [ebp - 0x10], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], edx
cmp esi, 0x10
jb 0x434d19
mov eax, dword [ebp - 0xa0]
push edi
mov dword [ebp - 0x14], eax
push eax
push ecx
mov dword [ebp - 0x10], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [ebp - 0x10]
push dword [ebp - 0x18]
push dword [ebp - 0x28]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov edi, eax
mov byte [eax + ebx], 0
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x434d43
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x435c00
add esi, 0x24
mov ecx, esi
jmp 0x434d46
mov ecx, esi
mov esi, eax
add esi, edi
mov dword [ebp - 0x90], esi
cmp ecx, 0x10
jb 0x434d04
mov ebx, dword [ebp - 0xa0]
add edi, ebx
push eax
push dword [ebp - 0x28]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x434d58
push edi
lea eax, [ebp - 0xa0]
push eax
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
push dword [ebp - 0x18]
push dword [ebp - 0x28]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x434d52
mov eax, dword [ebp - 0x14]
push ecx
push eax
call fcn.00471733
add esp, 8
mov esi, edi
mov dword [ebp - 0xa0], esi
movsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0x1b4], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [ebp - 0x1c4], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov edi, dword [ebp - 0x1b0]
cmp edi, 0x10
mov esi, dword [ebp - 0x1c4]
lea eax, [ebp - 0x1c4]
cmovae eax, esi
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov eax, ecx
sub eax, edx
mov ebx, dword [ebp - 0x1b4]
cmp eax, ebx
mov eax, ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x10], edi
jae 0x434e30
mov dword [ebp - 0x14], eax
mov eax, closesocket
sub eax, edx
cmp eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
jb 0x435bfb
mov ebx, ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + eax]
mov dword [ebp - 0x20], ecx
or ecx, 0xf
mov dword [ebp - 0x2c], closesocket
mov eax, closesocket
mov dword [ebp - 0x24], ebx
js 0x434e5f
mov edx, ebx
shr edx, 1
mov esi, edx
xor esi, 0x7fffffff
cmp esi, ebx
mov eax, closesocket
mov esi, dword [ebp - 0x10]
jb 0x434e61
add edx, dword [ebp - 0x24]
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x435119
mov dword [ebp - 0x2c], edx
jmp 0x434e61
lea esi, [edx + eax]
mov dword [ebp - 0x58], esi
lea ebx, [ebp - 0x68]
cmp ecx, 0x10
jb 0x434e41
mov ebx, dword [ebp - 0x68]
add edx, ebx
push eax
push dword [ebp - 0x18]
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + esi], 0
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x10]
jmp 0x434f15
mov esi, edi
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x434ee2
mov esi, dword [ebp - 0x68]
push edi
push esi
push ecx
mov ebx, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x24]
add esp, 0xc
mov edi, ebx
mov eax, dword [ebp - 0x20]
mov byte [ebx + eax], 0
lea ecx, [edx + 1]
cmp ecx, 0x1000
jb 0x434ed3
mov eax, dword [esi - 4]
add esi, 0xfffffffc
sub esi, eax
cmp esi, 0x20
jae 0x435c00
add edx, 0x24
mov ecx, edx
mov esi, eax
push ecx
push esi
call fcn.00471733
add esp, 8
mov esi, dword [ebp - 0x10]
jmp 0x434f0f
push edi
lea eax, [ebp - 0x68]
push eax
push ecx
mov dword [ebp - 0x24], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [ebp - 0x24]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [ebp - 0x24]
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov byte [edi + eax], 0
mov dword [ebp - 0x68], edi
mov ebx, dword [ebp - 0x1c]
cmp esi, 0x10
jb 0x434f47
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x434f3d
mov eax, dword [ebx - 4]
add ebx, 0xfffffffc
sub ebx, eax
cmp ebx, 0x20
jae 0x435c00
add esi, 0x24
mov ecx, esi
mov ebx, eax
push ecx
push ebx
call fcn.00471733
add esp, 8
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0xf
mov byte [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x8c]
cmp eax, 0x10
jb 0x434fa0
mov ecx, dword [ebp - 0xa0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x434f96
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov eax, dword [ebp - 0x1c8]
cmp eax, 0x10
jb 0x434ff9
mov ecx, dword [ebp - 0x1dc]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x434fef
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [ebp - 0x198]
cmp eax, 0x10
jb 0x435037
mov ecx, dword [ebp - 0x1ac]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x43502d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
inc dword [0x478500]
mov eax, dword [ebp - 0x180]
cmp eax, 0x10
jb 0x43507b
mov ecx, dword [ebp - 0x194]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x435071
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [ebp - 0x3c]
cmp eax, 0x10
jb 0x435164
mov ecx, dword [ebp - 0x50]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4350ad
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
jmp 0x435164
test eax, eax
je 0x43512f
push eax
mov dword [ebp - 0x10], edx
call fcn.004716fe
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, eax
jmp 0x43475c
test eax, eax
je 0x435139
push eax
call fcn.004716fe
jmp 0x434907
test eax, eax
je 0x435143
push eax
mov dword [ebp - 0x10], edx
call fcn.004716fe
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, eax
jmp 0x434ab0
test eax, eax
je 0x43514d
push eax
mov dword [ebp - 0x10], edx
call fcn.004716fe
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, eax
jmp 0x434c80
test eax, eax
mov edi, dword [ebp - 0x28]
je 0x435157
push eax
mov ebx, edx
call fcn.004716fe
add esp, 4
mov ecx, eax
jmp 0x43515c
xor ecx, ecx
xor edx, edx
dec edx
jmp 0x43475c
xor ecx, ecx
xor edi, edi
dec edi
jmp 0x43490c
xor ecx, ecx
xor edx, edx
dec edx
jmp 0x434ab0
xor ecx, ecx
xor edx, edx
dec edx
jmp 0x434c80
xor ecx, ecx
xor ebx, ebx
dec ebx
mov eax, dword [ebp - 0x20]
jmp 0x434e75
mov esi, dword [0x47868c]
test esi, esi
jne 0x4352d1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0x159d2cef
xor edi, edi
mov dword [ebp - 0x20], eax
mov edx, eax
test edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edx
je 0x4351dc
mov esi, dword [edx + 0x2c]
add esi, 0xfffffff8
mov edx, 0x4b4e7cf
cmp si, 2
jb 0x4351ce
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0x4b4e7cf
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x4351bb
mov edi, dword [ebp - 0x1c]
cmp edx, edi
mov edx, dword [ebp - 0x14]
jne 0x4352b8
mov esi, dword [edx + 0x18]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + eax + 0x78]
test ebx, ebx
je 0x4352b8
mov eax, dword [esi + eax + 0x7c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
lea eax, [esi + ebx]
mov dword [ebp - 0x10], eax
mov ebx, dword [eax + 0x18]
lea eax, [esi + 1]
mov dword [ebp - 0x18], eax
sub ebx, 1
jb 0x43528a
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, esi
mov edi, dword [eax + ebx*4]
mov al, byte [esi + edi]
test al, al
je 0x43523a
add edi, dword [ebp - 0x18]
mov edx, 0x4b4e7cf
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x435226
jmp 0x43523f
mov edx, 0x4b4e7cf
cmp edx, ecx
jne 0x435207
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + edx + 0x1c]
add eax, esi
mov ecx, dword [esi + edx + 0x24]
add ecx, esi
movzx ecx, word [ecx + ebx*2]
mov eax, dword [eax + ecx*4]
add esi, eax
cmp edx, eax
jge 0x4352cb
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, esi
jbe 0x4352cb
mov al, byte [esi]
mov ecx, 0x4b4e7cf
mov edi, 0x4b4e7cf
cmp al, 0x2e
je 0x435292
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [esi + 1]
inc esi
jmp 0x435275
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
jmp 0x4352b8
mov al, byte [esi + 1]
test al, al
je 0x4352b3
add esi, 2
mov ecx, 0x4b4e7cf
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [esi]
inc esi
test al, al
jne 0x4352a1
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov edx, dword [edx]
xor esi, esi
cmp edx, dword [ebp - 0x20]
je 0x4352cb
cmp dword [edx + 0x18], 0
jne 0x43518c
mov dword [0x47868c], esi
push dword [ebp - 0x30]
call esi
cmp eax, 0x64
je 0x433139
cmp dword [ebp - 0x54], 0x10
jb 0x4352ea
mov eax, dword [ebp - 0x68]
jmp 0x4352ed
lea eax, [ebp - 0x68]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x50], 0xf2f8fe29
mov dword [ebp - 0x4c], 0xfbf4f628
mov dword [ebp - 0x48], 0xf7f4f13c
mov byte [ebp - 0x44], 0x6a
mov dword [ebp - 0x43], 0
call fcn.0046d640
mov esi, dword [eax]
call fcn.0046d646
mov edx, esi
mov esi, dword [eax]
xor eax, eax
cmp edx, eax
ja 0x4355d6
mov bl, byte [ebp + eax - 0x50]
movzx ecx, bl
lea edi, [esi + 1]
mov dword [ebp - 0x10], edi
cmp edx, edi
jae 0x43537c
cmp esi, eax
ja 0x4355e1
mov dword [ebp - 0x14], ecx
mov edi, esi
mov ecx, edx
lea edx, [esi + 0x10]
mov dword [ebp - 0x18], ecx
cmp ecx, edx
jae 0x435387
mov esi, edi
mov edx, dword [ebp - 0x18]
lea ebx, [edx + edi]
cmp ebx, eax
jbe 0x43542e
cmp edx, dword [ebp - 0x10]
jne 0x43546d
mov esi, edx
mov edi, edx
jmp case.0x435394.13
jne 0x4353c2
mov edi, esi
mov esi, edx
jmp case.0x435394.11
lea edx, [edi - 0xb]
cmp edx, 4
ja case.0x435394.12
mov esi, 0x10
jmp dword [edx*4 + 0x47391c]
lea ecx, [eax - 0x425d7b51]
mov edx, dword [ebp - 0x14]
lea ebx, [eax + edx]
add ebx, 0xbda284af
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x37
mov edx, 0x1e
mov esi, edi
jmp 0x435580
mov edi, edx
lea edx, [esi + 3]
cmp edi, edx
jne 0x435441
mov dword [ebp - 0x18], edi
lea edx, [eax + 0x12acd23b]
lea ebx, [eax + ecx]
add ebx, 0x12acd23b
and edx, ecx
add edx, edx
sub ebx, edx
add bl, 0x63
mov byte [ebp + eax - 0x50], bl
not esi
add eax, esi
movzx edx, bl
sub eax, edx
mov esi, dword [ebp - 0x10]
mov edi, esi
lea edx, [eax + 0x6b5f7bac]
mov esi, ecx
add ecx, eax
add ecx, 0x6b5f7bac
and edx, esi
add edx, edx
sub ecx, edx
add cl, 0x4c
mov byte [ebp + eax - 0x50], cl
mov esi, dword [ebp - 0x18]
sub eax, esi
inc esi
mov bl, byte [ebp + eax - 0x52]
add eax, 0xfffffffe
movzx ecx, bl
add ecx, edi
add eax, ecx
jmp 0x4354f3
cmp edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
jne 0x4354bc
mov esi, edx
jmp 0x4354d3
lea edx, [esi + 4]
cmp edi, edx
mov edx, edi
jne 0x435341
mov edi, ecx
lea ecx, [eax + 0x1e47f4f9]
lea ebx, [eax + edi]
add ebx, 0x1e47f4f9
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0x31
jmp 0x435580
lea ecx, [esi + 2]
cmp edx, ecx
jne 0x4354fc
lea ecx, [eax + 0x30f4c734]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x10], ebx
lea ebx, [eax + edi]
add ebx, 0x30f4c734
and ecx, edi
add ecx, ecx
sub ebx, ecx
lea edx, [eax + 0x61477f59]
and edx, edi
lea ecx, [eax + edi]
add ecx, 0x61477f59
add edx, edx
sub ecx, edx
add bl, 0x94
add cl, bl
add cl, 0x91
mov byte [ebp + eax - 0x50], cl
mov edx, dword [ebp - 0x10]
jmp 0x435580
lea edx, [esi + 3]
cmp dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
jne 0x435520
mov esi, edx
jmp case.0x435394.13
mov esi, 0x10
mov ecx, dword [ebp - 0x14]
lea edx, [eax - 0x501dd389]
and edx, ecx
lea ebx, [ecx + eax]
add ebx, 0xafe22c77
add edx, edx
sub ebx, edx
add bl, 0xbf
mov byte [ebp + eax - 0x50], bl
mov edi, dword [ebp - 0x10]
dec eax
mov edx, esi
mov esi, edi
jmp 0x435587
lea ecx, [esi + 8]
cmp edx, ecx
jne 0x435548
lea ecx, [eax - 0x6c409308]
mov edi, dword [ebp - 0x14]
lea ebx, [eax + edi]
add ebx, 0x93bf6cf8
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0x38
jmp 0x435580
lea edx, [esi + 4]
cmp dword [ebp - 0x18], edx
jne 0x43555b
mov edx, ecx
lea ecx, [eax - 0x667301a9]
mov edi, ebx
lea ebx, [eax + edx]
add ebx, 0x998cfe57
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x9f
mov edx, edi
jmp 0x435580
lea ecx, [esi + 9]
cmp edx, ecx
mov ecx, dword [ebp - 0x14]
je 0x4353f6
jmp 0x435316
lea edx, [esi + 5]
cmp dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
jne 0x435593
mov edi, ecx
lea ecx, [eax + 0x4af25139]
lea ebx, [eax + edi]
add ebx, 0x4af25139
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0x71
movzx ecx, bl
not ecx
add eax, ecx
inc eax
cmp eax, 0x11
jb 0x435328
jmp 0x4355dd
lea edx, [esi + 2]
cmp dword [ebp - 0x18], edx
je 0x4353f6
cmp esi, 4
ja 0x4355ce
lea edx, [esi + 8]
cmp dword [ebp - 0x18], edx
je 0x4355ce
lea edx, [eax + 0x58b2a971]
mov edi, ecx
add ecx, eax
add ecx, 0x58b2a971
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xe9
mov byte [ebp + eax - 0x50], cl
mov edx, dword [ebp - 0x18]
jmp 0x435587
mov esi, dword [ebp - 0x18]
jmp 0x4354d3
mov eax, 0xfc815d
jmp 0x4355e6
xor eax, eax
jmp 0x4355e6
mov eax, 0x149d7ec
lea edi, [eax + ebp]
add edi, 0xffffffb0
xor eax, eax
lea esi, [ebp - 0x88]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 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
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x435623
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
mov eax, edi
sub eax, edx
cmp eax, ebx
mov dword [ebp - 0x10], ecx
jae 0x435710
mov dword [ebp - 0x18], closesocket
mov eax, closesocket
sub eax, edx
cmp eax, ebx
jb 0x435bfb
mov dword [ebp - 0x24], edx
lea ecx, [edx + ebx]
mov dword [ebp - 0x14], ecx
or ecx, 0xf
mov eax, closesocket
js 0x43568d
mov edx, edi
shr edx, 1
mov esi, edi
mov edi, edx
xor edi, 0x7fffffff
cmp edi, esi
mov edi, esi
jb 0x43568d
add edx, edi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x435bd9
mov dword [ebp - 0x18], edx
push eax
call fcn.0040130b
add esp, 4
mov esi, eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
cmp edi, 0x10
mov eax, dword [ebp - 0x10]
jb 0x435772
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x18], ecx
push ebx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x10], esi
add ebx, esi
mov esi, dword [ebp - 0x18]
push eax
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x4356fe
mov eax, dword [esi - 4]
add esi, 0xfffffffc
sub esi, eax
cmp esi, 0x20
jae 0x435c00
add edi, 0x24
mov ecx, edi
mov esi, eax
push ecx
push esi
call fcn.00471733
add esp, 8
mov esi, dword [ebp - 0x10]
jmp 0x435794
lea eax, [edx + ebx]
mov dword [ebp - 0x78], eax
cmp edi, 0x10
jb 0x435721
mov esi, dword [ebp - 0x88]
lea eax, [ecx + ebx]
mov edi, ebx
mov dword [ebp - 0x18], eax
cmp eax, esi
jbe 0x435740
lea eax, [esi + edx]
mov edi, ebx
cmp eax, ecx
jb 0x435740
xor edi, edi
mov eax, esi
sub eax, ecx
jbe 0x435740
mov edi, eax
inc edx
lea eax, [esi + ebx]
push edx
push esi
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push edi
push dword [ebp - 0x10]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub ebx, edi
mov eax, dword [ebp - 0x18]
add eax, edi
add esi, edi
push ebx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x43579a
push ebx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x24]
inc ecx
add ebx, esi
lea eax, [ebp - 0x88]
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebp - 0x88], esi
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x140], xmm0
movups xmm0, xmmword [ebp - 0x88]
movups xmmword [ebp - 0x150], xmm0
cmp dword [ebp - 0x13c], 0x10
jb 0x4357cc
mov eax, dword [ebp - 0x150]
jmp 0x4357d2
lea eax, [ebp - 0x150]
push dword [ebp - 0x20]
push edx
push eax
push ecx
call fcn.00471674
add esp, 0x10
cmp dword [ebp - 0x54], 0x10
jb 0x4357eb
mov eax, dword [ebp - 0x68]
jmp 0x4357ee
lea eax, [ebp - 0x68]
mov dword [ebp - 0x58], 0
mov byte [eax], 0
mov esi, dword [0x47869c]
test esi, esi
jne 0x435965
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0x7e9097e6
xor edi, edi
mov dword [ebp - 0x20], eax
mov edx, eax
test edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edx
je 0x435870
mov esi, dword [edx + 0x2c]
add esi, 0xfffffff8
mov edx, 0x39f9eeea
cmp si, 2
jb 0x435862
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0x39f9eeea
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x43584f
mov edi, dword [ebp - 0x1c]
cmp edx, edi
mov edx, dword [ebp - 0x14]
jne 0x43594c
mov esi, dword [edx + 0x18]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + eax + 0x78]
test ebx, ebx
je 0x43594c
mov eax, dword [esi + eax + 0x7c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
lea eax, [esi + ebx]
mov dword [ebp - 0x10], eax
mov ebx, dword [eax + 0x18]
lea eax, [esi + 1]
mov dword [ebp - 0x18], eax
sub ebx, 1
jb 0x43591e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, esi
mov edi, dword [eax + ebx*4]
mov al, byte [esi + edi]
test al, al
je 0x4358ce
add edi, dword [ebp - 0x18]
mov edx, 0x39f9eeea
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x4358ba
jmp 0x4358d3
mov edx, 0x39f9eeea
cmp edx, ecx
jne 0x43589b
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + edx + 0x1c]
add eax, esi
mov ecx, dword [esi + edx + 0x24]
add ecx, esi
movzx ecx, word [ecx + ebx*2]
mov eax, dword [eax + ecx*4]
add esi, eax
cmp edx, eax
jge 0x43595f
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, esi
jbe 0x43595f
mov al, byte [esi]
mov ecx, 0x39f9eeea
mov edi, 0x39f9eeea
cmp al, 0x2e
je 0x435926
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [esi + 1]
inc esi
jmp 0x435909
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
jmp 0x43594c
mov al, byte [esi + 1]
test al, al
je 0x435947
add esi, 2
mov ecx, 0x39f9eeea
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [esi]
inc esi
test al, al
jne 0x435935
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov edx, dword [edx]
xor esi, esi
cmp edx, dword [ebp - 0x20]
je 0x43595f
cmp dword [edx + 0x18], 0
jne 0x435820
mov dword [0x47869c], esi
push dword [ebp - 0x30]
call esi
mov esi, dword [0x4786a0]
test esi, esi
jne 0x435ad7
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, 0x60b8bdfd
xor edi, edi
mov dword [ebp - 0x20], eax
mov edx, eax
test edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edx
je 0x4359e2
mov esi, dword [edx + 0x2c]
add esi, 0xfffffff8
mov edx, 0xf2c022a5
cmp si, 2
jb 0x4359d4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
movzx esi, si
shr esi, 1
add esi, esi
mov edx, 0xf2c022a5
xor edi, edi
movsx ebx, byte [eax + edi]
xor ebx, edx
imul edx, ebx, 0x1000193
add edi, 2
cmp esi, edi
jne 0x4359c1
mov edi, dword [ebp - 0x1c]
cmp edx, edi
mov edx, dword [ebp - 0x14]
jne 0x435abe
mov esi, dword [edx + 0x18]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + eax + 0x78]
test ebx, ebx
je 0x435abe
mov eax, dword [esi + eax + 0x7c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
lea eax, [esi + ebx]
mov dword [ebp - 0x10], eax
mov ebx, dword [eax + 0x18]
lea eax, [esi + 1]
mov dword [ebp - 0x18], eax
sub ebx, 1
jb 0x435a90
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
add eax, esi
mov edi, dword [eax + ebx*4]
mov al, byte [esi + edi]
test al, al
je 0x435a40
add edi, dword [ebp - 0x18]
mov edx, 0xf2c022a5
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x435a2c
jmp 0x435a45
mov edx, 0xf2c022a5
cmp edx, ecx
jne 0x435a0d
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + edx + 0x1c]
add eax, esi
mov ecx, dword [esi + edx + 0x24]
add ecx, esi
movzx ecx, word [ecx + ebx*2]
mov eax, dword [eax + ecx*4]
add esi, eax
cmp edx, eax
jge 0x435ad1
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
cmp eax, esi
jbe 0x435ad1
mov al, byte [esi]
mov ecx, 0xf2c022a5
mov edi, 0xf2c022a5
cmp al, 0x2e
je 0x435a98
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [esi + 1]
inc esi
jmp 0x435a7b
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
jmp 0x435abe
mov al, byte [esi + 1]
test al, al
je 0x435ab9
add esi, 2
mov ecx, 0xf2c022a5
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [esi]
inc esi
test al, al
jne 0x435aa7
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov edx, dword [edx]
xor esi, esi
cmp edx, dword [ebp - 0x20]
je 0x435ad1
cmp dword [edx + 0x18], 0
jne 0x435992
mov dword [0x4786a0], esi
push dword [ebp - 0x38]
call esi
mov eax, dword [ebp - 0x13c]
cmp eax, 0x10
jb 0x435b1a
mov ecx, dword [ebp - 0x150]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x435b10
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [ebp - 0xa4]
cmp eax, 0x10
jb 0x435b58
mov ecx, dword [ebp - 0xb8]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x435b4e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [ebp - 0x154]
cmp eax, 0x10
jb 0x435b92
mov ecx, dword [ebp - 0x168]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x435b88
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00471733
add esp, 8
lea ecx, [ebp - 0x1f4]
call fcn.0040d3aa
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x435bd1
mov ecx, dword [ebp - 0x68]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x435bc7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x435c00
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
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 0x435bf1
push eax
mov esi, edx
call fcn.004716fe
mov ecx, esi
add esp, 4
mov esi, eax
jmp 0x43569b
xor esi, esi
xor ecx, ecx
dec ecx
jmp 0x43569b
call fcn.00401301
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]