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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1e0
mov esi, esp
xor eax, eax
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc4], eax
mov dword [esi + 0xc8], 0xf
mov byte [esi + 0xb4], 0
mov dword [esi + 0x120], 0x695f69b7
mov dword [esi + 0x124], 0x6e491d59
mov dword [esi + 0x128], 0x50796558
mov word [esi + 0x12c], 0x5260
mov byte [esi + 0x12e], 0xf4
mov dword [esi + 0x133], eax
mov dword [esi + 0x12f], eax
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x44600f
mov dl, byte [esi + eax + 0x120]
mov byte [esi + 8], dl
movzx ebx, dl
lea edx, [ecx + 1]
mov dword [esi + 4], edx
cmp edi, edx
jae 0x445cd9
cmp ecx, eax
ja 0x44601a
mov dword [esi], ebx
mov ebx, edi
add edi, ecx
cmp edi, eax
jbe 0x445d59
lea edi, [ecx + 0x10]
cmp ebx, edi
jne 0x445df6
mov dword [esi + 0xc], ebx
lea ebx, [eax - 0x75f9d474]
mov edi, dword [esi]
lea edx, [eax + edi]
add edx, 0x8a062b8c
and ebx, edi
mov byte [esi + 4], 0x2c
jmp 0x445f4e
jne 0x445ce0
mov dl, byte [esi + 8]
jmp 0x445d4f
mov dword [esi], ebx
mov ebx, edi
lea edi, [ecx + 2]
cmp ebx, edi
jne 0x445dc5
mov dword [esi + 0xc], ebx
lea edi, [eax + 0x22a02c95]
mov ebx, dword [esi]
and edi, ebx
add edi, edi
lea edx, [eax + ebx]
add edx, 0x22a02c95
sub edx, edi
add dl, 0xed
mov byte [esi + eax + 0x120], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0xc]
lea edx, [eax - 0x27380c6c]
and edx, ebx
add ebx, eax
add ebx, 0xd8c7f394
add edx, edx
sub ebx, edx
add bl, 0xf4
mov byte [esi + eax + 0x120], bl
sub eax, edi
inc edi
mov dl, byte [esi + eax + 0x11e]
add eax, 0xfffffffe
movzx edx, dl
add edx, ecx
jmp 0x445f81
lea edi, [ecx + 0xa]
cmp ebx, edi
mov edi, ebx
jbe 0x445e28
mov ebx, ecx
mov dword [esi + 0xc], edi
lea edi, [eax + 0x677a6ac3]
mov ecx, dword [esi]
lea edx, [eax + ecx]
add edx, 0x677a6ac3
and edi, ecx
add edi, edi
sub edx, edi
add dl, 0xab
mov ecx, ebx
lea edi, [ebx + 9]
mov ebx, dword [esi + 0xc]
cmp ebx, edi
mov edi, ebx
jbe 0x445e4d
lea edx, [eax + 0x58bdbdae]
mov dword [esi + 4], ecx
mov ecx, dword [esi]
lea ebx, [eax + ecx]
add ebx, 0x58bdbdae
and edx, ecx
mov ecx, dword [esi + 4]
add edx, edx
sub ebx, edx
mov edx, ebx
add dl, 0x3e
mov byte [esi + eax + 0x120], dl
jmp 0x445f83
lea edi, [ecx + 5]
cmp ebx, edi
jne 0x445e83
mov dword [esi + 0xc], ebx
lea edi, [eax - 0x2c4a730b]
mov ebx, ecx
mov ecx, dword [esi]
lea edx, [eax + ecx]
add edx, 0xd3b58cf5
and edi, ecx
mov ecx, ebx
add edi, edi
sub edx, edi
add dl, 0x4d
jmp 0x445f77
lea edi, [ecx + 9]
cmp ebx, edi
jne 0x445ea9
lea edi, [eax + 0x62a54788]
mov dword [esi + 4], ecx
mov ecx, dword [esi]
lea edx, [eax + ecx]
add edx, 0x62a54788
and edi, ecx
mov ecx, dword [esi + 4]
add edi, edi
sub edx, edi
add dl, 0x48
mov edi, ebx
jmp 0x445f7c
cmp edi, dword [esi + 4]
mov ebx, dword [esi]
je 0x445ed7
mov dword [esi + 0xc], edi
lea edi, [ecx + 2]
cmp dword [esi + 0xc], edi
mov edi, dword [esi + 0xc]
jne 0x445eff
mov dword [esi + 4], ecx
jmp 0x445ef6
cmp edi, dword [esi + 4]
mov ebx, dword [esi]
je 0x445cdb
mov dword [esi + 8], edx
lea edx, [ecx + 2]
cmp edi, edx
jne 0x445f2c
lea edi, [eax + 0x764b83a4]
lea edx, [eax + ebx]
add edx, 0x764b83a4
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x84
jmp 0x445f77
lea edi, [ecx + 3]
cmp ebx, edi
jne 0x445ec8
mov dword [esi + 0xc], ebx
lea ebx, [eax + 0x40051af3]
mov edi, dword [esi]
lea edx, [eax + edi]
add edx, 0x40051af3
and ebx, edi
mov byte [esi + 4], 0x5b
jmp 0x445f4e
lea edi, [ecx + 0xa]
cmp ebx, edi
je 0x445cef
lea edi, [ecx + 6]
cmp ebx, edi
mov edi, ebx
jne 0x445f92
mov ebx, dword [esi]
jmp 0x445d24
lea edi, [ecx + 6]
cmp ebx, edi
mov edi, ebx
mov ebx, dword [esi]
jne 0x445c99
lea edx, [eax + 0x4a011099]
lea ecx, [ebx + eax]
add ecx, 0x4a011099
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xd1
mov byte [esi + eax + 0x120], cl
dec eax
mov ecx, dword [esi + 4]
jmp 0x445f83
mov edx, edi
lea edi, [ecx + 3]
cmp edx, edi
jne 0x445fa9
lea edi, [eax - 0x7af7cf47]
mov ebx, ecx
mov ecx, dword [esi]
lea edx, [eax + ecx]
add edx, 0x850830b9
and edi, ecx
mov ecx, ebx
add edi, edi
sub edx, edi
add dl, 0xf1
jmp 0x445f77
lea edx, [ecx + 3]
cmp edi, edx
jne 0x445fd2
mov edi, ebx
lea ebx, [eax - 0x1d64ee5e]
lea edx, [eax + edi]
add edx, 0xe29b11a2
and ebx, edi
mov byte [esi + 4], 0x92
add ebx, ebx
sub edx, ebx
lea edi, [eax - 0x49af6169]
mov ebx, dword [esi]
and edi, ebx
add ebx, eax
add ebx, 0xb6509e97
add edi, edi
sub ebx, edi
add dl, byte [esi + 4]
add bl, dl
add bl, 0xdf
mov byte [esi + eax + 0x120], bl
mov edi, dword [esi + 0xc]
add edi, ecx
movzx edx, dl
not edx
add eax, edx
inc eax
cmp eax, 0x17
jb 0x445c7a
jmp 0x446016
mov ebx, edi
lea edi, [ecx + 3]
cmp ebx, edi
mov edi, ebx
mov dl, byte [esi + 8]
je 0x445d4f
jmp 0x445c6a
mov ebx, ecx
lea edi, [ecx + 4]
cmp edx, edi
jne 0x445ff0
lea edi, [eax - 0xea84149]
mov ecx, dword [esi]
lea edx, [eax + ecx]
add edx, 0xf157beb7
and edi, ecx
add edi, edi
sub edx, edi
dec dl
mov edi, dword [esi + 0xc]
mov ecx, ebx
jmp 0x445f7c
lea edx, [ecx + 7]
cmp edi, edx
je 0x445e45
lea edx, [ecx + 6]
cmp edi, edx
mov edx, dword [esi + 8]
jne 0x445db9
jmp 0x445ed7
lea edi, [eax - 0x49d83901]
mov ecx, dword [esi]
lea edx, [eax + ecx]
add edx, 0xb627c6ff
and edi, ecx
add edi, edi
sub edx, edi
add dl, 7
jmp 0x445d85
mov eax, 0x1617a53
jmp 0x44601f
xor eax, eax
jmp 0x44601f
mov eax, 0x179b354
lea edi, [esi + eax]
add edi, 0x120
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea edx, [ebp + 8]
mov ecx, dword [edx + 0x10]
cmp dword [edx + 0x14], 0x10
jb 0x446042
lea edx, [ebp + 8]
mov edx, dword [edx]
push eax
push edi
push 0
push ecx
push edx
call fcn.00452a54
add esp, 0x14
cmp eax, 0xffffffff
je 0x4463c1
movaps xmm0, xmmword [0x473660]
movups xmmword [esi + 0x120], xmm0
mov word [esi + 0x130], 0x7da0
xorps xmm0, xmm0
movups xmmword [esi + 0x132], xmm0
movups xmmword [esi + 0x140], xmm0
call fcn.0046d640
mov ebx, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp ebx, eax
ja 0x44661a
mov dl, byte [esi + eax + 0x120]
mov byte [esi + 8], dl
movzx edi, dl
lea edx, [ecx + 1]
mov dword [esi + 4], edx
cmp ebx, edx
jae 0x4460f8
cmp ecx, eax
ja 0x446636
lea edx, [ebx + ecx]
cmp edx, eax
mov dword [esi], ebx
jbe 0x446106
mov dword [esi + 0xc], edi
lea ebx, [ecx + 2]
cmp dword [esi], ebx
mov ebx, dword [esi]
jne 0x446216
lea edx, [eax + 0x20adbb02]
mov edi, dword [esi + 0xc]
lea ecx, [eax + edi]
add ecx, 0x20adbb02
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xf2
mov byte [esi + eax + 0x120], cl
jmp 0x446343
jne 0x4461d8
mov dl, byte [esi + 8]
jmp 0x4462c0
mov dword [esi + 0x10], edx
lea edx, [ecx + 6]
mov dword [esi + 0x18], edx
cmp ebx, edx
mov dl, byte [esi + 8]
jae 0x44624a
lea ebx, [eax + 0x549c3ae]
lea edx, [eax + edi]
add edx, 0x549c3ae
mov dword [esi + 0xc], edi
and ebx, edi
add ebx, ebx
sub edx, ebx
add dl, 0x3e
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x10]
cmp edx, 0x41
je 0x446262
lea ebx, [ecx + 0x2a]
mov edi, dword [esi]
cmp edi, ebx
jbe 0x4462db
lea ebx, [eax + 0x4293a076]
mov edi, dword [esi + 0xc]
lea edx, [eax + edi]
add edx, 0x4293a076
and ebx, edi
add ebx, ebx
sub edx, ebx
mov ebx, dword [esi]
add dl, 0xc6
mov dword [esi + 0x14], edx
mov dl, byte [esi + 8]
cmp ebx, dword [esi + 4]
je 0x4462c0
lea edx, [ecx + 2]
cmp ebx, edx
je 0x446262
lea edx, [ecx + 3]
mov ebx, dword [esi]
cmp ebx, edx
jne 0x44639a
lea edi, [eax - 0xeea261c]
mov ebx, dword [esi + 0xc]
lea edx, [eax + ebx]
add edx, 0xf115d9e4
and edi, ebx
add edi, edi
sub edx, edi
lea edi, [eax + 0x2b41425e]
and edi, ebx
add ebx, eax
add ebx, 0x2b41425e
add edi, edi
sub ebx, edi
add dl, 0xc4
add bl, dl
add bl, 0x6e
mov byte [esi + eax + 0x120], bl
mov ebx, dword [esi + 0x10]
jmp 0x446330
mov dword [esi + 0xc], edi
mov edi, ebx
lea ebx, [ecx + 2]
mov dword [esi], edi
cmp edi, ebx
je 0x446262
lea ebx, [ecx + 3]
mov edi, dword [esi]
cmp edi, ebx
jne 0x4462c9
lea ebx, [eax + 0x3a2b687a]
mov edx, dword [esi + 0xc]
and ebx, edx
add edx, eax
add edx, 0x3a2b687a
add ebx, ebx
sub edx, ebx
add dl, 0xaa
add edi, ecx
mov ebx, edi
jmp 0x446330
lea ebx, [ecx + 6]
cmp dword [esi], ebx
mov ebx, dword [esi]
je 0x446343
lea ebx, [ecx + 0x10]
cmp dword [esi], ebx
mov ebx, dword [esi]
je 0x446340
cmp ebx, dword [esi + 4]
je 0x446262
lea ebx, [ecx + 5]
mov edi, dword [esi]
cmp edi, ebx
mov dl, byte [esi + 8]
jne 0x446356
mov edi, dword [esi + 0xc]
jmp 0x446292
cmp ebx, dword [esi + 4]
je 0x4462c0
mov dword [esi + 0xc], edi
mov edi, ebx
lea ebx, [ecx + 3]
cmp edi, ebx
mov edx, dword [esi + 0x10]
jne 0x44630c
lea ebx, [eax + 0x35d4c9ba]
mov edi, dword [esi + 0xc]
and ebx, edi
add ebx, ebx
lea edx, [edi + eax]
add edx, 0x35d4c9ba
sub edx, ebx
add dl, 0xea
mov byte [esi + eax + 0x120], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov ecx, dword [esi + 4]
lea edx, [eax + 0x3b1e8d68]
and edx, edi
lea ebx, [eax + edi]
add ebx, 0x3b1e8d68
add edx, edx
sub ebx, edx
add bl, 0x28
mov byte [esi + eax + 0x120], bl
mov ebx, dword [esi]
sub eax, ebx
inc ebx
mov dl, byte [esi + eax + 0x11e]
add eax, 0xfffffffe
movzx edx, dl
add edx, ecx
add eax, edx
jmp 0x446347
lea ebx, [ecx + 5]
cmp edi, ebx
mov ebx, edi
mov edi, dword [esi + 0xc]
jne 0x4460b0
jmp 0x446340
mov ebx, edi
cmp edi, dword [esi + 4]
je 0x4460d1
lea ebx, [ecx + 2]
cmp dword [esi], ebx
mov ebx, dword [esi]
je 0x446343
mov edi, ebx
lea ebx, [ecx + 4]
cmp edi, ebx
je 0x446262
mov ebx, dword [esi]
cmp ebx, dword [esi + 0x18]
mov dl, byte [esi + 8]
jne 0x446174
jmp 0x4462c0
lea ebx, [ecx + 4]
cmp dword [esi], ebx
jne 0x446337
lea edi, [eax + 0x86837fc]
mov ebx, edx
mov edx, dword [esi + 0xc]
add edx, eax
add edx, 0x86837fc
and edi, dword [esi + 0xc]
add edi, edi
sub edx, edi
add dl, 0x1c
movzx edx, dl
not edx
jmp 0x4462c5
lea ebx, [ecx + 5]
cmp dword [esi], ebx
mov ebx, dword [esi]
jne 0x446368
mov dword [esi + 4], ecx
dec eax
mov ecx, dword [esi + 4]
inc eax
cmp eax, 0x30
jb 0x446091
jmp 0x446621
lea ebx, [ecx + 0xa]
cmp edi, ebx
mov ebx, edi
je 0x4462c0
jmp 0x446081
lea ebx, [ecx + 8]
cmp dword [esi], ebx
mov ebx, dword [esi]
je 0x4460d1
lea ebx, [eax + 0x6f0d0d46]
mov edi, dword [esi + 0xc]
add edi, eax
add edi, 0x6f0d0d46
and ebx, dword [esi + 0xc]
add ebx, ebx
sub edi, ebx
mov ebx, edi
add bl, 0x16
mov dword [esi + 0x14], ebx
jmp 0x44613b
lea edx, [ecx + 4]
cmp ebx, edx
je 0x446343
cmp ecx, 0x1f
ja 0x4460d1
lea edx, [ecx + 9]
cmp ebx, edx
je 0x4460d1
mov edx, dword [esi + 0x14]
mov byte [esi + eax + 0x120], dl
jmp 0x446347
movaps xmm0, xmmword [str.zbT_nNHra_VU_l7]
movups xmmword [esi + 0x20], xmm0
xor eax, eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], eax
mov byte [esi + 0x38], 0
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x446625
mov dl, byte [esi + eax + 0x20]
movzx ebx, dl
mov dword [esi], ebx
mov ebx, ecx
inc ecx
mov dword [esi + 4], ecx
cmp edi, ecx
jae 0x446460
cmp ebx, eax
ja 0x4469ea
mov ecx, ebx
add ebx, edi
cmp ebx, eax
jbe 0x446469
lea edx, [ecx + 6]
cmp edi, edx
mov dword [esi + 0x10], ebx
jne 0x44651a
lea edi, [eax - 0x2a28273c]
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0xd5d7d8c4
and edi, ebx
add edi, edi
sub edx, edi
lea edi, [eax + 0x3af1b92d]
and edi, ebx
add ebx, eax
add ebx, 0x3af1b92d
add edi, edi
sub ebx, edi
add dl, 0xa4
add bl, dl
add bl, 0xc5
mov byte [esi + eax + 0x20], bl
mov ebx, dword [esi + 0x10]
jmp 0x4465ac
jne 0x4464a0
mov ecx, ebx
jmp 0x44650e
mov dword [esi + 8], ecx
cmp ebx, 4
je 0x4464b2
cmp edi, dword [esi + 4]
jne 0x446557
lea edx, [eax + 0x4d5384e3]
mov ebx, dword [esi]
lea ecx, [eax + ebx]
add ecx, 0x4d5384e3
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xcb
mov byte [esi + eax + 0x20], cl
mov ecx, dword [esi + 4]
jmp 0x446554
mov ecx, edi
mov dword [esi + 8], ebx
lea edi, [ebx + 3]
cmp ecx, edi
mov edi, ecx
jne 0x446542
mov dword [esi + 0xc], edi
lea edi, [eax + 0x288fed77]
mov ecx, dword [esi]
and edi, ecx
add edi, edi
lea edx, [ecx + eax]
add edx, 0x288fed77
sub edx, edi
mov edi, dword [esi + 0xc]
add dl, 0xbf
mov byte [esi + eax + 0x20], dl
mov ecx, dword [esi + 8]
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov ecx, dword [esi + 4]
lea edx, [eax + 0x1f5f079c]
mov ebx, dword [esi]
and edx, ebx
add ebx, eax
add ebx, 0x1f5f079c
add edx, edx
sub ebx, edx
add bl, 0xbc
mov byte [esi + eax + 0x20], bl
sub eax, edi
inc edi
mov dl, byte [esi + eax + 0x1e]
add eax, 0xfffffffe
movzx edx, dl
add edx, ecx
add eax, edx
jmp 0x4465b5
cmp edi, dword [esi + 4]
jne 0x4463d8
lea edi, [eax - 0x3c89f2f2]
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0xc3760d0e
and edi, ebx
mov ebx, dword [esi + 0x10]
add edi, edi
sub edx, edi
add dl, 0x9e
jmp 0x4465ac
mov ebx, dword [esi + 8]
lea edi, [ebx + 6]
cmp ecx, edi
mov edi, ecx
jne 0x446403
mov ecx, ebx
dec eax
jmp 0x4465b5
mov dword [esi + 0xc], edi
mov ecx, dword [esi + 8]
lea edi, [ecx + 2]
cmp dword [esi + 0xc], edi
mov edi, dword [esi + 0xc]
jne 0x44658a
lea edi, [eax + 0x73704043]
mov dword [esi + 0x10], ebx
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0x73704043
and edi, ebx
mov ebx, dword [esi + 0x10]
add edi, edi
sub edx, edi
add dl, 0x2b
jmp 0x4465ac
mov ebx, edi
lea edi, [ecx + 5]
cmp ebx, edi
jne 0x4465c1
lea edi, [eax + 0x610e748d]
mov edx, dword [esi]
and edi, edx
add edx, eax
add edx, 0x610e748d
add edi, edi
sub edx, edi
add dl, 0x25
movzx edx, dl
not edx
add eax, edx
mov edi, ebx
inc eax
cmp eax, 0x19
jb 0x4463e8
jmp 0x44662f
lea edi, [ecx + 3]
cmp ebx, edi
jne 0x4465cf
mov edi, ebx
jmp 0x4464e7
lea edi, [ecx + 8]
cmp dword [esi + 0xc], edi
mov edi, dword [esi + 0xc]
je 0x44650e
lea edx, [ecx + 6]
cmp edi, edx
je 0x446498
lea edx, [ecx + 7]
cmp edi, edx
je 0x44647a
lea edi, [eax - 0x930e5db]
mov ecx, dword [esi]
lea edx, [eax + ecx]
add edx, 0xf6cf1a25
and edi, ecx
add edi, edi
sub edx, edi
mov edi, dword [esi + 0xc]
add dl, 0xfd
mov byte [esi + eax + 0x20], dl
mov ecx, dword [esi + 8]
jmp 0x4465b5
mov eax, 0xd93c96
jmp 0x44663b
xor eax, eax
jmp 0x44663b
mov eax, 0xf4ab01
jmp 0x4469ef
xor eax, eax
jmp 0x4469ef
mov eax, 0x14f78e8
add eax, esi
add eax, 0x120
mov dword [esi + 0xc], eax
mov dword [esi + 0x20], 0x7d6f707d
mov dword [esi + 0x24], 0x65797f7a
mov dword [esi + 0x28], 0x33676161
xorps xmm0, xmm0
movups xmmword [esi + 0x2c], xmm0
mov dword [esi + 0x3c], 0
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x4468b6
mov dl, byte [esi + eax + 0x20]
movzx ebx, dl
mov dword [esi], ebx
lea ebx, [ecx + 1]
mov dword [esi + 4], ebx
cmp edi, ebx
jae 0x4466d8
cmp ecx, eax
ja 0x4468c1
lea ebx, [edi + ecx]
cmp ebx, eax
jbe 0x446720
lea edx, [ecx + 8]
cmp edi, edx
je 0x44678f
lea edx, [ecx + 4]
cmp edi, edx
jne 0x4467b2
mov edx, dword [esi]
mov ebx, edi
lea edi, [eax - 0x364491a8]
and edi, edx
add edx, eax
add edx, 0xc9bb6e58
add edi, edi
sub edx, edi
add dl, 0x98
jmp 0x446809
je 0x44677e
mov ebx, edi
lea edi, [ecx + 3]
cmp ebx, edi
mov edi, ebx
je 0x446725
mov ebx, edi
lea edi, [ecx + 5]
cmp ebx, edi
jne 0x446821
lea edi, [eax + 0x5a1ef8c1]
mov dword [esi + 8], ebx
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0x5a1ef8c1
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xb9
mov edi, dword [esi + 8]
add edi, ecx
mov dword [esi + 4], edi
jmp 0x4467e7
cmp ebx, 6
jne 0x44678a
mov dword [esi + 8], edi
lea edi, [eax + 0x6f9c7597]
mov ebx, dword [esi]
lea edx, [ebx + eax]
add edx, 0x6f9c7597
and edi, ebx
add edi, edi
sub edx, edi
mov edi, dword [esi + 8]
add dl, 0xdf
mov byte [esi + eax + 0x20], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
lea ecx, [eax + 0x4f28b01c]
mov edx, dword [esi]
and ecx, edx
add edx, eax
add edx, 0x4f28b01c
add ecx, ecx
sub edx, ecx
add dl, 0x3c
mov byte [esi + eax + 0x20], dl
sub eax, edi
inc edi
mov dl, byte [esi + eax + 0x1e]
add eax, 0xfffffffe
mov ecx, dword [esi + 4]
movzx edx, dl
add edx, ecx
add eax, edx
jmp 0x446812
cmp edi, dword [esi + 4]
jne 0x4467bf
lea ecx, [eax - 0xe94747d]
mov edx, dword [esi]
and ecx, edx
add edx, eax
add edx, 0xf16b8b83
add ecx, ecx
sub edx, ecx
add dl, 0x6b
mov byte [esi + eax + 0x20], dl
mov ecx, dword [esi + 4]
dec eax
jmp 0x446812
cmp edi, dword [esi + 4]
mov dword [esi + 4], ecx
je 0x446754
jmp 0x446668
mov dword [esi + 8], edi
lea edi, [ecx + 3]
cmp dword [esi + 8], edi
jne 0x446833
mov dword [esi + 4], ebx
lea edi, [eax + 0x40cbc5d9]
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0x40cbc5d9
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x11
lea edi, [eax - 0x4f7bff73]
mov ebx, dword [esi]
and edi, ebx
add ebx, eax
add ebx, 0xb084008d
add edi, edi
sub ebx, edi
add bl, dl
add bl, 0x25
mov byte [esi + eax + 0x20], bl
mov ebx, dword [esi + 4]
movzx edx, dl
not edx
add eax, edx
mov edi, ebx
inc eax
cmp eax, 0x20
jb 0x446678
jmp 0x4468bd
lea edi, [ecx + 2]
cmp ebx, edi
mov edi, ebx
jne 0x446693
jmp 0x4467af
lea edi, [ecx + 7]
cmp dword [esi + 8], edi
mov edi, dword [esi + 8]
je 0x446725
lea edi, [ecx + 5]
cmp dword [esi + 8], edi
mov edi, dword [esi + 8]
jne 0x446855
mov dword [esi + 4], ecx
jmp 0x446754
lea edi, [ecx + 2]
cmp dword [esi + 8], edi
mov edi, dword [esi + 8]
je 0x44677e
lea edx, [ecx + 4]
cmp edi, edx
jne 0x446890
lea edi, [eax + 0x566507cc]
mov dword [esi + 4], ebx
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0x566507cc
and edi, ebx
mov ebx, dword [esi + 4]
add edi, edi
sub edx, edi
add dl, 0x6c
jmp 0x446809
lea edi, [eax - 0x2073c57b]
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0xdf8c3a85
and edi, ebx
add edi, edi
sub edx, edi
mov edi, dword [esi + 8]
add dl, 0x5d
mov byte [esi + eax + 0x20], dl
jmp 0x446812
mov eax, 0x838be1
jmp 0x4468c6
xor eax, eax
jmp 0x4468c6
mov eax, 0x177515c
add eax, esi
add eax, 0x20
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 4
mov edi, eax
xor eax, eax
lea ebx, [esi + 0x50]
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, ebx
push eax
push edi
call fcn.00450e50
push dword [esi + 0xc]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0x14]
mov edx, edi
sub edx, ecx
cmp edx, eax
jae 0x4469b1
mov dword [esi], closesocket
mov edx, closesocket
sub edx, ecx
cmp edx, eax
jb 0x449428
mov dword [esi + 8], eax
mov ebx, eax
mov dword [esi + 0x10], ecx
add ebx, ecx
mov ecx, ebx
or ecx, 0xf
mov eax, closesocket
mov dword [esi + 4], ebx
js 0x446976
mov edx, edi
shr edx, 1
mov ebx, edi
mov edi, edx
xor edi, 0x7fffffff
cmp edi, ebx
mov edi, ebx
mov ebx, dword [esi + 4]
jb 0x446976
add edx, edi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x448342
mov dword [esi], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, dword [esi]
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ecx
cmp edi, 0x10
mov ecx, dword [esi + 0x10]
mov dword [esi], eax
jb 0x4469cd
mov ebx, dword [esi + 0x50]
push ecx
push ebx
push eax
mov dword [esi + 0x18], edi
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esi]
push dword [esi + 8]
push dword [esi + 0xc]
jmp 0x446e9b
mov edx, edi
mov edi, eax
add edi, ecx
mov dword [esi + 0x60], edi
cmp edx, 0x10
jb 0x4469c2
mov ebx, dword [esi + 0x50]
add ecx, ebx
push eax
push dword [esi + 0xc]
jmp 0x446ef8
lea edx, [esi + 0x50]
push ecx
push edx
push eax
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esi]
push dword [esi + 8]
push dword [esi + 0xc]
jmp 0x446f1f
mov eax, 0x16590dc
add eax, esi
add eax, 0x20
mov dword [esi + 0x10], eax
movaps xmm0, xmmword [0x473680]
movups xmmword [esi + 0x120], xmm0
xor eax, eax
mov dword [esi + 0x130], eax
mov dword [esi + 0x137], eax
mov dword [esi + 0x133], eax
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ebx, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x446d9f
mov dl, byte [esi + eax + 0x120]
movzx ecx, dl
mov dword [esi + 8], ecx
lea ecx, [ebx + 1]
mov dword [esi + 4], ecx
cmp edi, ecx
mov dword [esi], edi
jae 0x446aa8
cmp ebx, eax
ja 0x446daa
lea edi, [ebx + 0x10]
cmp dword [esi], edi
mov edi, dword [esi]
jae 0x446ae1
mov ecx, edi
add edi, ebx
cmp edi, eax
jbe 0x446b1c
lea edx, [ebx + 0xa]
cmp ecx, edx
mov edi, ecx
je 0x446cbf
lea edx, [ebx + 3]
cmp edi, edx
jne 0x446c3a
lea edi, [eax - 0x4812f280]
mov ecx, dword [esi + 8]
lea edx, [eax + ecx]
add edx, 0xb7ed0d80
and edi, ecx
add edi, edi
sub edx, edi
mov edi, dword [esi]
xor edx, 0x80
jmp 0x446bf6
je 0x446ca9
lea edi, [ebx + 2]
cmp dword [esi], edi
mov ecx, dword [esi + 8]
je 0x446c48
lea edi, [ebx + 4]
cmp dword [esi], edi
mov edi, dword [esi]
jne 0x446ba5
lea edx, [eax + 0x70]
and edx, ecx
add edx, edx
add ecx, eax
sub ecx, edx
add ecx, 0xe40f5560
mov edx, ecx
jmp 0x446bf4
cmp edi, dword [esi + 4]
je 0x446cbf
lea edi, [ebx + 3]
cmp dword [esi], edi
mov edi, dword [esi]
je 0x446b9d
lea edi, [ebx + 2]
cmp dword [esi], edi
jne 0x446cf4
mov dword [esi + 0xc], ebx
lea ebx, [eax + 0x593fb010]
mov ecx, dword [esi + 8]
lea edx, [eax + ecx]
add edx, 0x593fb010
jmp 0x446bc2
mov dword [esi + 0xc], ebx
lea edi, [ebx + 8]
mov dword [esi + 0x18], edi
cmp ecx, edi
jbe 0x446b82
lea edi, [eax - 0xf4de5f0]
mov ecx, dword [esi + 8]
lea ebx, [eax + ecx]
add ebx, 0xf0b21a10
and edi, ecx
add edi, edi
sub ebx, edi
add bl, 0x90
mov dword [esi + 0x14], ebx
mov ebx, dword [esi + 0xc]
lea edi, [ebx + 0xa]
mov ebx, dword [esi]
cmp ebx, edi
mov edi, ebx
jbe 0x446c03
lea edx, [eax - 0x5bead060]
lea ebx, [eax + ecx]
add ebx, 0xa4152fa0
and edx, ecx
mov ecx, ebx
add edx, edx
sub ecx, edx
add cl, 0xa0
mov ebx, dword [esi + 0xc]
mov byte [esi + eax + 0x120], cl
jmp 0x446ce5
mov edi, ecx
cmp ecx, dword [esi + 4]
mov ebx, dword [esi + 0xc]
je 0x446cbf
lea edi, [ebx + 2]
cmp dword [esi], edi
mov edi, dword [esi]
jne 0x446d1d
mov dword [esi + 4], ebx
jmp 0x446ce1
lea edi, [ebx + 5]
cmp dword [esi], edi
jne 0x446cb2
mov dword [esi + 0xc], ebx
lea ebx, [eax + 0xd867b10]
lea edx, [eax + ecx]
add edx, 0xd867b10
and ebx, ecx
add ebx, ebx
sub edx, ebx
lea edi, [eax - 0x7f109430]
and edi, ecx
lea ebx, [ecx + eax]
add ebx, 0x80ef6bd0
add edi, edi
sub ebx, edi
add bl, dl
add bl, 0xe0
mov byte [esi + eax + 0x120], bl
add edx, 0x90
mov edi, dword [esi]
mov ebx, dword [esi + 0xc]
add edi, ebx
not edx
or edx, 0xffffff00
jmp 0x446cae
cmp edi, dword [esi + 4]
je 0x446ca6
mov ebx, dword [esi + 0xc]
lea edx, [ebx + 3]
cmp edi, edx
je 0x446c48
lea edx, [ebx + 4]
cmp edi, edx
jne 0x446d8e
lea edx, [eax + 0xc0]
and edx, ecx
add edx, edx
add ecx, eax
sub ecx, edx
add ecx, 0x7368f180
jmp 0x446ada
lea edx, [ebx + 6]
cmp edi, edx
mov ecx, dword [esi + 8]
jne 0x446a19
lea edi, [eax - 0x55996d90]
and edi, ecx
add edi, edi
lea edx, [eax + ecx]
add edx, 0xaa669270
sub edx, edi
mov edi, dword [esi]
add dl, 0xf0
mov byte [esi + eax + 0x120], dl
not ebx
add ebx, eax
movzx eax, dl
sub ebx, eax
mov eax, ebx
mov edx, dword [esi + 4]
mov dword [esi + 0xc], edx
lea edx, [eax - 0x40ddda40]
and edx, ecx
lea ebx, [eax + ecx]
add ebx, 0xbf2225c0
add edx, edx
sub ebx, edx
add bl, 0xc0
mov byte [esi + eax + 0x120], bl
sub eax, edi
inc edi
mov dl, byte [esi + eax + 0x11e]
add eax, 0xfffffffe
mov ebx, dword [esi + 0xc]
movzx edx, dl
add edx, ebx
add eax, edx
jmp 0x446ce5
lea edi, [ebx + 9]
cmp dword [esi], edi
mov edi, dword [esi]
jne 0x446a4a
lea edx, [eax + 0x57784530]
mov ebx, dword [esi + 8]
lea ecx, [eax + ebx]
add ecx, 0x57784530
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xb0
mov byte [esi + eax + 0x120], cl
dec eax
mov ebx, dword [esi + 4]
inc eax
cmp eax, 0x1b
jb 0x446a29
jmp 0x446da6
lea edi, [ebx + 5]
cmp dword [esi], edi
mov edi, dword [esi]
jne 0x446a5f
lea edx, [eax + 0xb0]
mov ecx, dword [esi + 8]
and edx, ecx
add edx, edx
add ecx, eax
sub ecx, edx
add ecx, 0x82b6d6e0
jmp 0x446ada
lea edi, [ebx + 5]
cmp dword [esi], edi
mov edi, dword [esi]
jne 0x446d44
lea edx, [eax + 0xd0]
mov ecx, dword [esi + 8]
and edx, ecx
add edx, edx
add ecx, eax
sub ecx, edx
add ecx, 0xe97d0220
mov edx, ecx
jmp 0x446bf6
lea edi, [ebx + 3]
cmp dword [esi], edi
mov edi, dword [esi]
mov ecx, dword [esi + 8]
je 0x446c7a
lea edi, [ebx + 9]
cmp dword [esi], edi
mov edi, dword [esi]
je 0x446ca9
lea edi, [eax + 0x14bb9350]
mov ecx, dword [esi + 8]
add ecx, eax
add ecx, 0x14bb9350
mov dword [esi + 0x14], ecx
and edi, dword [esi + 8]
add edi, edi
sub dword [esi + 0x14], edi
mov ecx, dword [esi + 0x14]
add cl, 0xd0
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 8]
jmp 0x446b4a
cmp edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
jne 0x446b76
jmp 0x446cbf
mov eax, 0x828d10
jmp 0x446daf
xor eax, eax
jmp 0x446daf
mov eax, 0x146f9c0
add eax, esi
add eax, 0x120
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 4
mov edi, eax
xor eax, eax
lea ebx, [esi + 0x50]
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, ebx
push eax
push edi
call fcn.00450e50
push dword [esi + 0x10]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0x14]
mov edx, edi
sub edx, ecx
cmp edx, eax
jae 0x446ee1
mov dword [esi], closesocket
mov edx, closesocket
sub edx, ecx
cmp edx, eax
jb 0x449428
mov dword [esi + 8], eax
mov ebx, eax
mov dword [esi + 0xc], ecx
add ebx, ecx
mov ecx, ebx
or ecx, 0xf
mov eax, closesocket
mov dword [esi + 4], ebx
js 0x446e61
mov edx, edi
shr edx, 1
mov ebx, edi
mov edi, edx
xor edi, 0x7fffffff
cmp edi, ebx
mov edi, ebx
mov ebx, dword [esi + 4]
jb 0x446e61
add edx, edi
cmp ecx, edx
cmovae edx, ecx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x448367
mov dword [esi], edx
push eax
call fcn.0040130b
add esp, 4
mov ecx, dword [esi]
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ecx
cmp edi, 0x10
mov ecx, dword [esi + 0xc]
mov dword [esi], eax
jb 0x446f07
mov ebx, dword [esi + 0x50]
push ecx
push ebx
push eax
mov dword [esi + 0x18], edi
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esi]
push dword [esi + 8]
push dword [esi + 0x10]
push edi
mov edi, dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov byte [eax + ecx], 0
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x446ed3
mov eax, dword [ebx - 4]
add ebx, 0xfffffffc
sub ebx, eax
cmp ebx, 0x20
jae 0x449422
add edi, 0x24
mov ecx, edi
mov ebx, eax
push ecx
push ebx
call fcn.00471733
add esp, 8
mov eax, dword [esi]
jmp 0x446f2e
mov edx, edi
mov edi, eax
add edi, ecx
mov dword [esi + 0x60], edi
cmp edx, 0x10
jb 0x446ef2
mov ebx, dword [esi + 0x50]
add ecx, ebx
push eax
push dword [esi + 0x10]
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
jmp 0x446f31
lea edx, [esi + 0x50]
push ecx
push edx
push eax
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esi]
push dword [esi + 8]
push dword [esi + 0x10]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi]
add esp, 0xc
mov byte [eax + ebx], 0
mov dword [esi + 0x50], eax
lea eax, [ebp + 8]
movsd xmm0, qword [esi + 0x60]
movsd qword [esi + 0x80], xmm0
movups xmm0, xmmword [esi + 0x50]
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0xf
mov byte [esi + 0x50], 0
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], 0x10
mov edx, eax
jb 0x446f68
mov edx, dword [eax]
mov edi, dword [esi + 0x80]
mov ebx, dword [esi + 0x84]
mov eax, ebx
sub eax, edi
cmp eax, ecx
mov dword [esi + 8], edx
jae 0x447061
mov dword [esi], closesocket
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x449428
mov dword [esi + 0x18], ecx
add ecx, edi
mov dword [esi + 0x10], ecx
or ecx, 0xf
mov eax, closesocket
mov dword [esi + 0xc], ebx
js 0x446fde
mov edx, ebx
shr edx, 1
mov ebx, edx
xor ebx, 0x7fffffff
cmp ebx, dword [esi + 0xc]
mov ebx, dword [esi + 0xc]
mov dword [esi], closesocket
jb 0x446fde
add edx, ebx
cmp ecx, edx
cmovae edx, ecx
mov dword [esi], edx
lea eax, [edx + 1]
cmp eax, 0x1000
jb 0x447bf3
push eax
call fcn.0040130b
add esp, 4
mov ecx, eax
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x80], ebx
mov eax, dword [esi]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x10
mov dword [esi + 4], ecx
jb 0x4470a4
mov eax, dword [esi + 0x70]
push edi
mov dword [esi + 0x14], eax
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esi + 4]
push dword [esi + 0x18]
push dword [esi + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
mov byte [eax + ebx], 0
mov eax, dword [esi + 0xc]
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x4470cd
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x449422
mov ecx, dword [esi + 0xc]
add ecx, 0x24
jmp 0x4470d0
lea edx, [edi + ecx]
mov eax, edx
mov dword [esi], edx
mov dword [esi + 0x80], edx
cmp ebx, 0x10
jb 0x447078
mov ebx, dword [esi + 0x70]
jmp 0x44707b
lea ebx, [esi + 0x70]
mov eax, dword [esi + 8]
add edi, ebx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esi]
mov byte [ebx + eax], 0
mov ecx, dword [esi + 0x70]
mov ebx, dword [esi + 0x80]
mov eax, dword [esi + 0x84]
mov dword [esi], eax
jmp 0x4470e0
lea eax, [esi + 0x70]
push edi
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esi + 4]
push dword [esi + 0x18]
push dword [esi + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esi + 4]
add esp, 0xc
mov byte [ecx + ebx], 0
jmp 0x4470dd
mov eax, dword [esi + 0x14]
push ecx
push eax
call fcn.00471733
add esp, 8
mov ecx, dword [esi + 4]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0xf
mov byte [esi + 0x70], 0
mov eax, dword [esi + 0xc8]
cmp eax, 0x10
jb 0x44713c
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0xb4]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x44712f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
mov ecx, dword [esi + 4]
lea eax, [esi + 0x74]
mov dword [esi + 0xb4], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0xb8], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xc0], eax
mov dword [esi + 0xc4], ebx
mov eax, dword [esi]
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0x64]
cmp eax, 0x10
jb 0x4471a0
mov ecx, dword [esi + 0x50]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x447196
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
sub esp, 0xc
mov al, byte [esi + 0x120]
mov byte [esp + 8], al
lea eax, [esi + 0xb4]
mov dword [esp + 4], eax
lea eax, [esi + 0x70]
mov dword [esp], eax
call fcn.00452893
add esp, 0xc
mov dword [esi + 0x10], esp
xor eax, eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], 0xf
mov byte [esi + 0x50], 0
sub esp, 0x20
mov ecx, esp
mov dword [esi + 0x18], ecx
add ecx, 8
mov dword [esi + 0x14], ecx
mov dword [esi + 0x120], 0x7a798e6c
mov dword [esi + 0x124], 0x9b653580
mov dword [esi + 0x128], 0x138f9d71
xorps xmm0, xmm0
movups xmmword [esi + 0x12c], xmm0
mov dword [esi + 0x13b], eax
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, edi
mov edi, dword [eax]
xor eax, eax
cmp ecx, eax
ja 0x447517
mov dl, byte [esi + eax + 0x120]
movzx ebx, dl
mov dword [esi], ebx
lea ebx, [edi + 1]
mov dword [esi + 4], ebx
cmp ecx, ebx
jae 0x447291
cmp edi, eax
ja 0x447522
lea ebx, [ecx + edi]
cmp ebx, eax
jbe 0x4472c7
mov dword [esi + 8], ebx
lea edx, [edi + 0xa]
cmp ecx, edx
mov ebx, dword [esi]
je 0x447496
lea edx, [edi + 3]
cmp ecx, edx
jne 0x44735f
mov dword [esi + 0xc], edi
lea ecx, [eax - 0x2463ce30]
lea edx, [eax + ebx]
add edx, 0xdb9c31d0
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x50
jmp 0x447435
jne 0x44729a
mov ebx, ecx
jmp 0x4473cd
mov ebx, edi
add edi, 3
cmp ecx, edi
jne 0x447317
mov dword [esi + 8], ecx
lea ecx, [eax - 0xba6a3dc]
mov edi, dword [esi]
lea edx, [eax + edi]
add edx, 0xf4595c24
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 4
mov edi, ebx
jmp 0x447459
cmp ebx, 0xa
je 0x44736a
mov dword [esi + 8], ebx
mov dword [esi + 0xc], edi
add edi, 9
cmp ecx, edi
jbe 0x4473db
lea edi, [eax - 0x6b69730c]
mov ebx, dword [esi]
add ebx, eax
add ebx, 0x94968cf4
and edi, dword [esi]
add edi, edi
sub ebx, edi
add bl, 0x54
cmp ecx, 1
ja 0x447419
cmp ecx, dword [esi + 4]
jne 0x4474ba
xor ebx, ebx
inc ebx
mov edi, dword [esi + 0xc]
jmp 0x4473cd
lea edi, [ebx + 5]
cmp ecx, edi
jne 0x44734d
mov dword [esi + 8], ecx
lea ecx, [eax + 0x280f4c34]
mov edi, dword [esi]
lea edx, [eax + edi]
add edx, 0x280f4c34
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x94
mov dword [esi + 0xc], ebx
mov ecx, dword [esi + 8]
add ecx, ebx
mov ebx, edi
mov dword [esi + 8], ecx
jmp 0x447435
lea edi, [ebx + 4]
cmp ecx, edi
jne 0x447465
mov edi, ebx
jmp 0x447496
lea edx, [edi + 0x10]
cmp ecx, edx
jne 0x4474a3
mov dword [esi + 8], ecx
mov ecx, edi
lea edi, [eax - 0x18bd2a54]
mov ebx, dword [esi]
and edi, ebx
add edi, edi
lea edx, [ebx + eax]
add edx, 0xe742d5ac
sub edx, edi
add dl, 0x4c
mov byte [esi + eax + 0x120], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov edi, dword [esi + 4]
lea ecx, [eax + 0x743051b0]
and ecx, ebx
lea edx, [eax + ebx]
add edx, 0x743051b0
add ecx, ecx
sub edx, ecx
add dl, 0x30
mov byte [esi + eax + 0x120], dl
mov ebx, dword [esi + 8]
sub eax, ebx
inc ebx
mov dl, byte [esi + eax + 0x11e]
add eax, 0xfffffffe
movzx ecx, dl
add ecx, edi
add eax, ecx
mov ecx, ebx
jmp 0x447497
cmp ecx, dword [esi + 4]
mov ebx, dword [esi + 0xc]
je 0x447472
lea edi, [ebx + 2]
cmp ecx, edi
je 0x447493
lea edi, [ebx + 3]
cmp ecx, edi
jne 0x4474c6
lea ecx, [eax - 0x3fd92ec]
mov ebx, dword [esi]
lea edx, [eax + ebx]
add edx, 0xfc026d14
and ecx, ebx
add ecx, ecx
sub edx, ecx
add dl, 0x74
jmp 0x447435
lea edi, [eax + 0x407a61a0]
mov ebx, dword [esi]
lea ecx, [eax + ebx]
add ecx, 0x407a61a0
and edi, ebx
add edi, edi
sub ecx, edi
add dl, cl
add dl, 0xa0
lea edi, [eax - 0x3298225c]
and edi, ebx
lea ecx, [ebx + eax]
add ecx, 0xcd67dda4
add edi, edi
sub ecx, edi
add cl, dl
add cl, 0x84
mov byte [esi + eax + 0x120], cl
mov edi, dword [esi + 0xc]
movzx ecx, dl
not ecx
add eax, ecx
mov ecx, dword [esi + 8]
jmp 0x447497
lea edi, [ebx + 6]
cmp ecx, edi
mov edi, ebx
jne 0x447247
lea edi, [eax - 0x4c731a64]
mov ebx, dword [esi]
lea edx, [ebx + eax]
add edx, 0xb38ce59c
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xbc
mov byte [esi + eax + 0x120], dl
mov edi, dword [esi + 4]
dec eax
inc eax
cmp eax, 0x1f
jb 0x447229
jmp 0x44751e
mov edx, ecx
lea ecx, [edi + 4]
mov dword [esi + 8], edx
cmp edx, ecx
mov ebx, dword [esi]
je 0x44739e
jmp 0x447217
mov byte [esi + eax + 0x120], bl
mov edi, dword [esi + 0xc]
jmp 0x447497
lea edi, [ebx + 4]
cmp ecx, edi
jne 0x4474eb
lea ecx, [eax + 0x15dd651c]
mov edx, dword [esi]
and ecx, edx
add edx, eax
add edx, 0x15dd651c
add ecx, ecx
sub edx, ecx
add dl, 0x3c
jmp 0x4472c0
lea edi, [ebx + 5]
cmp ecx, edi
jne 0x4474f9
mov ebx, ecx
jmp 0x44730f
lea edi, [eax - 0x731283fc]
mov ebx, dword [esi]
add ebx, eax
add ebx, 0x8ced7c04
and edi, dword [esi]
add edi, edi
sub ebx, edi
add bl, 0xe4
jmp 0x4472fa
mov eax, 0xbcceb4
jmp 0x447527
xor eax, eax
jmp 0x447527
mov eax, 0x14f52b0
lea edi, [esi + eax]
add edi, 0x120
xor eax, eax
mov ebx, dword [esi + 0x18]
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 edi, [esi + 0xf0]
mov dword [ebx], edi
lea eax, [esi + 0x70]
mov dword [ebx + 4], eax
call fcn.0040cd09
add esp, 0x20
mov esp, dword [esi + 0x10]
cmp dword [edi + 0x14], 0x10
jb 0x44757e
mov edi, dword [esi + 0xf0]
mov ebx, dword [esi + 0xc4]
mov dword [esi + 4], edi
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, closesocket
sub ecx, ebx
cmp ecx, eax
jb 0x449428
mov edx, dword [esi + 0xb4]
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0x20], 0
mov edi, eax
add edi, ebx
cmp edi, 0x10
mov dword [esi + 8], ebx
mov dword [esi + 0xc], eax
jb 0x4475f6
mov dword [esi + 0x18], ecx
mov ecx, edi
or ecx, 0xf
mov dword [esi + 0x10], edx
js 0x447601
cmp ecx, 0x17
mov edx, 0x16
mov dword [esi + 0x14], ecx
cmovae edx, ecx
lea ecx, [edx + 1]
mov dword [esi], edx
cmp edx, 0xfff
jae 0x44760d
push ecx
call fcn.004716fe
add esp, 4
mov ebx, eax
jmp 0x44761d
lea ebx, [esi + 0x20]
mov dword [esi], 0xf
jmp 0x447626
mov dword [esi + 0x14], closesocket
mov ecx, closesocket
push ecx
call fcn.0040130b
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x14]
mov dword [esi], eax
mov dword [esi + 0x20], ebx
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
lea eax, [esi + 0xb4]
cmovae eax, edx
mov dword [esi + 0x30], edi
mov ecx, dword [esi]
mov dword [esi + 0x34], ecx
mov dword [esi], edi
mov edi, dword [esi + 8]
push edi
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
push dword [esi + 0xc]
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 + 0x64]
cmp eax, 0x10
jb 0x447699
mov ecx, dword [esi + 0x50]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x44768f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
movsd xmm0, qword [esi + 0x30]
movsd qword [esi + 0x60], xmm0
movups xmm0, xmmword [esi + 0x20]
movaps xmmword [esi + 0x50], xmm0
mov eax, dword [esi + 0x104]
cmp eax, 0x10
jb 0x4476e9
mov ecx, dword [esi + 0xf0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x4476df
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
cmp dword [esi + 0x64], 0x10
jb 0x4476f4
mov eax, dword [esi + 0x50]
jmp 0x4476f7
lea eax, [esi + 0x50]
lea ecx, [esi + 0x88]
mov dword [ecx], eax
sub esp, 0xc
mov al, byte [esi + 0x120]
mov byte [esp + 8], al
mov dword [esp + 4], ecx
lea edi, [esi + 0x20]
mov dword [esp], edi
call fcn.004529f5
add esp, 0xc
xor ebx, ebx
mov dword [esi + 0xcc], ebx
call fcn.0044d769
mov dword [esi + 0xd0], eax
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], 0xffff
cmp dword [edi + 0x14], 8
jb 0x44774a
mov edi, dword [esi + 0x20]
lea eax, [esi + 0x120]
push 0xffffffffffffffff
push 3
push eax
push edi
call fcn.00471de2
lea ebx, [esi + 0xf0]
mov dword [ebx + 8], eax
mov ecx, ebx
lea edx, [esi + 0x120]
push edx
push eax
call fcn.0044e62a
mov edi, dword [ebx + 8]
call fcn.0044d769
mov dword [esi + 0xcc], edi
mov dword [esi + 0xd0], eax
mov ebx, dword [ebx]
test ebx, ebx
je 0x4477c0
mov dword [esi + 0xcc], 0
call fcn.0044d769
lea ecx, [esi + 0x20]
mov dword [esi + 0x18], ecx
call fcn.0040d3aa
cmp ebx, 1
mov ebx, 0
je 0x449368
cmp dword [esi + 0x64], 0x10
jb 0x4477d7
mov eax, dword [esi + 0x50]
jmp 0x4477da
test edi, edi
jne 0x44942d
lea ecx, [esi + 0x20]
call fcn.0040d3aa
xor ebx, ebx
jmp 0x449368
lea eax, [esi + 0x50]
lea edi, [esi + 0x120]
mov ecx, edi
push 1
push 0x40
push 0x20
push eax
call fcn.0043b72a
xor ebx, ebx
mov dword [esi + 0x118], ebx
mov word [esi + 0x11c], 1
mov eax, dword [esi + 0x120]
mov eax, dword [eax + 4]
mov eax, dword [eax + edi + 0x38]
mov dword [esi + 0xe8], eax
test eax, eax
sete byte [esi + 0xec]
mov byte [esi + 0xed], bl
sub esp, 0x14
movsd xmm0, qword [esi + 0x118]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + 0xe8]
movsd qword [esp], xmm0
lea eax, [esi + 0x20]
mov dword [esp + 0x10], eax
lea ecx, [esi + 0xf0]
call fcn.00449448
mov ecx, edi
call fcn.00449538
mov edi, esp
sub esp, 0x38
mov eax, esp
mov dword [eax + 0x2c], ebx
lea ecx, [esi + 0x108]
mov dword [eax], ecx
lea ecx, [esi + 0xf0]
mov dword [eax + 4], ecx
mov byte [eax + 0x30], 1
mov byte [eax + 0x34], bl
call fcn.00449562
add esp, 0x38
mov esp, edi
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xdc], ebx
mov dword [esi + 0xe0], 0xf
mov byte [esi + 0xcc], bl
mov dword [esi + 0x20], 0x505d222f
mov dword [esi + 0x24], 0x23263c26
mov byte [esi + 0x28], 0xa8
xorps xmm0, xmm0
movups xmmword [esi + 0x29], xmm0
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, edi
mov edx, dword [eax]
xor eax, eax
cmp ecx, eax
ja 0x447be8
mov bl, byte [esi + eax + 0x20]
mov dword [esi + 4], ebx
movzx edi, bl
mov dword [esi], edi
lea edi, [edx + 1]
cmp ecx, edi
jae 0x447943
cmp edx, eax
ja 0x447c06
lea ebx, [edx + 6]
cmp ecx, ebx
jae 0x4479be
mov dword [esi + 8], ebx
lea ebx, [ecx + edx]
mov dword [esi + 0xc], ebx
cmp ebx, eax
jbe 0x4479d1
cmp ecx, dword [esi + 8]
je 0x4479f9
mov dword [esi + 8], ecx
lea ecx, [edx + 3]
cmp dword [esi + 8], ecx
jne 0x447a78
lea ecx, [eax - 0x4bc97f10]
mov ebx, dword [esi]
lea edi, [eax + ebx]
add edi, 0xb43680f0
and ecx, ebx
add ecx, ecx
sub edi, ecx
mov ecx, edi
add cl, 0x70
jmp 0x447ad8
jne 0x44794c
mov edi, ecx
mov ecx, dword [esi + 4]
jmp 0x4479b4
lea ebx, [edx + 3]
cmp ecx, ebx
jne 0x447a01
mov dword [esi + 8], ecx
lea ebx, [eax + 0x27c09bf8]
mov dword [esi + 4], edi
mov edi, dword [esi]
and ebx, edi
add ebx, ebx
lea ecx, [eax + edi]
add ecx, 0x27c09bf8
sub ecx, ebx
add cl, 0x38
mov byte [esi + eax + 0x20], cl
not edx
add edx, eax
movzx eax, cl
sub edx, eax
mov eax, edx
mov ebx, dword [esi + 4]
lea ecx, [eax - 0x114bf220]
and ecx, edi
lea edx, [eax + edi]
add edx, 0xeeb40de0
add ecx, ecx
sub edx, ecx
add dl, 0xe0
mov byte [esi + eax + 0x20], dl
mov edi, dword [esi + 8]
sub eax, edi
inc edi
mov cl, byte [esi + eax + 0x1e]
add eax, 0xfffffffe
mov edx, ebx
movzx ecx, cl
add ecx, edx
jmp 0x447ae0
cmp ecx, edi
je 0x4479d5
mov dword [esi + 8], edx
add edx, 3
cmp ecx, edx
jne 0x447a46
mov edi, dword [esi + 8]
jmp 0x4479f9
cmp ecx, edi
jne 0x447a2a
lea ebx, [eax + 0xbf2d458]
mov dword [esi + 4], edi
mov edi, dword [esi]
lea edx, [eax + edi]
add edx, 0xbf2d458
and ebx, edi
mov edi, dword [esi + 4]
add ebx, ebx
sub edx, ebx
add dl, 0x98
mov byte [esi + eax + 0x20], dl
dec eax
mov edx, edi
jmp 0x447ae4
lea ebx, [edx + 2]
cmp ecx, ebx
jne 0x447a37
mov edi, ecx
lea ecx, [eax - 0x170fed8]
mov ebx, dword [esi]
and ecx, ebx
add ebx, eax
add ebx, 0xfe8f0128
add ecx, ecx
sub ebx, ecx
mov ecx, ebx
add cl, 0xe8
jmp 0x447adb
mov ebx, edx
add edx, 2
cmp ecx, edx
jne 0x447a8d
mov edi, ebx
jmp 0x4479f9
lea ebx, [edx + 6]
cmp ecx, ebx
jne 0x447af3
mov edi, edx
jmp 0x4479f9
mov edx, dword [esi + 8]
add edx, 5
cmp ecx, edx
jne 0x447b0e
mov edx, ecx
lea ecx, [eax - 0x5a9e5118]
mov edi, dword [esi]
and ecx, edi
add edi, eax
add edi, 0xa561aee8
add ecx, ecx
sub edi, ecx
mov ecx, edi
add cl, 0xa8
mov edi, edx
mov edx, dword [esi + 8]
jmp 0x447adb
lea ecx, [edx + 4]
cmp dword [esi + 8], ecx
mov edi, dword [esi]
jne 0x447b2c
mov ebx, edx
jmp 0x447989
lea edx, [ebx + 3]
cmp ecx, edx
jne 0x447b4b
mov dword [esi + 8], ebx
lea ecx, [eax - 0x60624c78]
mov edi, dword [esi]
lea ebx, [eax + edi]
add ebx, 0x9f9db388
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0x48
lea edx, [eax - 0x662647d8]
and edx, edi
lea ecx, [eax + edi]
add ecx, 0x99d9b828
add edx, edx
sub ecx, edx
add cl, bl
add cl, 0xe8
mov byte [esi + eax + 0x20], cl
mov edx, dword [esi + 8]
mov ecx, ebx
mov edi, dword [esi + 0xc]
movzx ecx, cl
not ecx
add eax, ecx
mov ecx, edi
inc eax
cmp eax, 0x19
jb 0x4478cb
jmp 0x447bef
lea ebx, [edx + 5]
cmp ecx, ebx
je 0x4479f9
lea ebx, [edx + 8]
cmp ecx, ebx
jne 0x4478e6
jmp 0x4479d5
mov edx, dword [esi + 8]
add edx, 4
cmp ecx, edx
mov edx, dword [esi + 8]
je 0x447957
cmp ecx, ebx
jne 0x4478f9
jmp 0x447945
lea edi, [edx + 0x2a]
lea ecx, [edx + 0x2f]
add edx, 0x3f
mov eax, 0
cmp edi, edx
mov edx, ecx
mov ecx, edi
jae 0x4478cb
jmp 0x4478b9
lea edx, [ebx + 5]
cmp ecx, edx
jne 0x447b78
mov edx, ecx
lea ecx, [eax - 0x449484d8]
mov edi, dword [esi]
and ecx, edi
add edi, eax
add edi, 0xbb6b7b28
add ecx, ecx
sub edi, ecx
mov ecx, edi
add cl, 0xe8
mov edi, edx
mov edx, ebx
jmp 0x447adb
lea edx, [ebx + 4]
cmp ecx, edx
mov edx, ebx
je 0x447957
mov edi, ecx
lea ecx, [edx + 8]
cmp edi, ecx
je 0x447947
mov ecx, edi
mov dword [esi + 8], edx
cmp edi, 3
ja 0x447bc4
lea edx, [eax - 0x390c8e18]
mov ebx, dword [esi]
lea ecx, [eax + ebx]
add ecx, 0xc6f371e8
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xa8
mov byte [esi + eax + 0x20], cl
mov ecx, edi
mov edx, dword [esi + 8]
jmp 0x447ae4
lea edx, [eax - 0x2d19b9c0]
mov edi, dword [esi]
lea ecx, [eax + edi]
add ecx, 0xd2e64640
and edx, edi
add edx, edx
sub ecx, edx
mov ebx, dword [esi + 4]
add bl, cl
add bl, 0x40
jmp 0x447ab5
mov eax, 0x103f9c8
jmp 0x447c0b
xor eax, eax
jmp 0x447c0b
test eax, eax
je 0x448381
push eax
call fcn.004716fe
jmp 0x446fe4
mov eax, 0x15087e0
add eax, esi
add eax, 0x20
mov dword [esi + 0xa4], eax
cmp byte [esi + 0x108], 1
jne 0x449003
mov ecx, dword [esi + 0x110]
lea eax, [esi + 0xa4]
push eax
call fcn.00452ad6
mov ecx, dword [esi + 0x110]
cmp eax, dword [ecx]
je 0x449003
mov dword [esi + 0x88], 0x909d828f
mov dword [esi + 0x8c], 0x8386bc86
mov byte [esi + 0x90], 8
xor eax, eax
mov dword [esi + 0x95], eax
mov dword [esi + 0x91], eax
mov byte [esi + 0x99], 0
mov dword [esi], eax
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov eax, dword [eax]
xor ebx, ebx
cmp edi, ebx
ja 0x44835c
movzx edx, byte [esi + ebx + 0x88]
lea ecx, [eax + 1]
cmp edi, ecx
jae 0x447d46
mov dword [esi + 0xc], ecx
lea ecx, [ebx - 0x62428ca8]
mov dword [esi + 8], eax
mov eax, edi
mov edi, ebx
add ebx, edx
add ebx, 0x9dbd7358
mov dword [esi + 4], edx
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x98
mov dword [esi], ebx
mov ebx, edi
mov edi, eax
mov eax, dword [esi + 8]
cmp eax, ebx
ja 0x44838d
lea ecx, [eax + 4]
cmp edi, ecx
jae 0x447d78
mov dword [esi + 0x10], ecx
lea ecx, [ebx - 0xf7589c8]
mov dword [esi + 8], eax
mov edx, ebx
mov eax, edi
mov edi, dword [esi + 4]
add ebx, edi
add ebx, 0xf08a7638
mov dword [esi + 4], edi
and ecx, edi
mov edi, eax
add ecx, ecx
sub ebx, ecx
add bl, 0x78
mov dword [esi], ebx
mov ebx, edx
mov eax, dword [esi + 8]
lea edx, [edi + eax]
lea ecx, [eax + 8]
cmp edx, ebx
jbe 0x447e71
cmp edi, ecx
mov edx, dword [esi + 4]
jne 0x447f5d
lea ecx, [ebx + 0x2e27680]
mov eax, ebx
add ebx, edx
add ebx, 0x2e27680
and ecx, edx
add ecx, ecx
sub ebx, ecx
xor bl, 0x80
mov dword [esi], ebx
jmp 0x447dc5
jne 0x447dcf
lea ecx, [ebx - 0x26c7a5f8]
mov dword [esi + 0x10], edi
mov edi, eax
mov eax, ebx
add ebx, edx
add ebx, 0xd9385a08
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xc8
mov dword [esi], ebx
mov ebx, eax
mov eax, edi
mov edi, dword [esi + 0x10]
jmp 0x447e68
cmp edi, dword [esi + 0xc]
jne 0x447f09
mov dword [esi + 0x10], edi
lea ecx, [ebx + 0x2c055ce8]
mov eax, ebx
mov edx, dword [esi + 4]
add ebx, edx
add ebx, 0x2c055ce8
and ecx, edx
mov byte [esi], 0xa8
lea edi, [eax + 0x77396868]
and edi, edx
add edx, eax
add edx, 0x77396868
add edi, edi
sub edx, edi
add dl, 0x28
mov byte [esi + eax + 0x88], dl
add ecx, ecx
sub ebx, ecx
add bl, byte [esi]
mov dword [esi], ebx
mov edi, dword [esi + 0x10]
mov ebx, eax
mov eax, dword [esi + 0xc]
jmp 0x447f57
mov dword [esi + 0xc], ecx
lea ecx, [eax + 3]
cmp edi, ecx
jne 0x447f33
mov dword [esi + 0x10], edi
lea ecx, [ebx + 0x502e2768]
lea edi, [ebx + edx]
add edi, 0x502e2768
mov dword [esi], edi
and ecx, edx
mov dword [esi + 0x14], ecx
mov byte [esi + 0x4c], 0x28
lea edi, [ebx - 0x11d0ca38]
and edi, edx
add edi, edi
lea ecx, [edx + ebx]
add ecx, 0xee2f35c8
sub ecx, edi
add cl, 0x88
mov byte [esi + ebx + 0x88], cl
not eax
add eax, ebx
movzx ebx, cl
mov ecx, eax
sub ecx, ebx
lea edi, [ecx - 0x741356e0]
and edi, edx
add edx, ecx
add edx, 0x8beca920
add edi, edi
sub edx, edi
add dl, 0x20
mov byte [esi + ecx + 0x88], dl
mov ecx, dword [esi + 0x14]
add ecx, ecx
mov edx, dword [esi]
sub edx, ecx
add dl, byte [esi + 0x4c]
mov dword [esi], edx
mov edi, dword [esi + 0x10]
add ebx, edi
inc edi
sub eax, ebx
movzx edx, byte [esi + eax + 0x86]
add eax, 0xfffffffe
mov ebx, eax
mov eax, dword [esi + 0xc]
add edx, eax
add ebx, edx
jmp 0x4481df
mov dword [esi + 0x14], edx
cmp edi, ecx
mov edx, dword [esi + 4]
jae 0x447f8d
lea ecx, [ebx - 0x62428ca8]
mov dword [esi + 0x1c], ebx
add ebx, edx
add ebx, 0x9dbd7358
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x98
mov dword [esi], ebx
lea ecx, [eax + 0x10]
cmp edi, ecx
jbe 0x44801b
mov dword [esi + 8], eax
mov edi, edx
mov edx, dword [esi + 0x1c]
lea ecx, [edx - 0x69db8408]
lea ebx, [edx + edi]
add ebx, 0x96247bf8
mov edx, edi
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0x38
mov edi, 0x11
mov dword [esi + 4], edx
mov eax, dword [esi + 0xc]
cmp edi, eax
jne 0x4480d7
mov edx, dword [esi + 0x1c]
lea ecx, [edx - 0x3dd62720]
mov edi, dword [esi + 4]
lea ebx, [edx + edi]
add ebx, 0xc229d8e0
and ecx, edi
add ecx, ecx
sub ebx, ecx
add bl, 0xe0
mov dword [esi], ebx
mov ebx, edx
mov edx, edi
mov edi, eax
mov eax, dword [esi + 8]
jmp 0x447e68
mov dword [esi + 0x10], ecx
lea ecx, [eax + 2]
cmp edi, ecx
mov edx, dword [esi + 4]
jne 0x447fbb
lea ecx, [ebx - 0x5d04d5b8]
and ecx, edx
add edx, ebx
add edx, 0xa2fb2a48
add ecx, ecx
sub edx, ecx
add dl, 8
jmp 0x447f55
lea ecx, [eax + 7]
cmp edi, ecx
jne 0x447fed
lea ecx, [ebx + 0x3e19c228]
and ecx, edx
add edx, ebx
add edx, 0x3e19c228
add ecx, ecx
sub edx, ecx
add dl, 0xe8
mov dword [esi], edx
dec ebx
jmp 0x4481df
cmp edi, dword [esi + 0x10]
jne 0x448044
lea ecx, [ebx - 0xf31eec0]
mov dword [esi + 0xc], ecx
lea ecx, [ebx + edx]
add ecx, 0xf0ce1140
mov dword [esi], ecx
mov ecx, dword [esi + 0xc]
and ecx, edx
mov edx, dword [esi]
add ecx, ecx
sub edx, ecx
add dl, 0x40
jmp 0x4481d6
mov ecx, dword [esi + 0xc]
cmp edi, ecx
jne 0x448072
lea ecx, [ebx - 0x1eeb1390]
mov dword [esi + 0x10], edi
mov edi, eax
mov eax, ebx
add ebx, edx
add ebx, 0xe114ec70
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xf0
jmp 0x447d6a
lea ecx, [eax + 5]
cmp edi, ecx
jne 0x4480a4
lea ecx, [ebx + 0x556bde58]
mov dword [esi + 0xc], ecx
lea ecx, [ebx + edx]
add ecx, 0x556bde58
mov dword [esi], ecx
mov ecx, dword [esi + 0xc]
and ecx, edx
mov edx, dword [esi]
add ecx, ecx
sub edx, ecx
add dl, 0x98
jmp 0x4481d6
mov dword [esi + 4], edx
lea ecx, [eax + 5]
cmp edi, ecx
jne 0x447ccd
mov dword [esi + 0x10], edi
lea ecx, [ebx - 0x4af07078]
mov eax, ebx
mov edx, dword [esi + 4]
add ebx, edx
add ebx, 0xb50f8f88
and ecx, edx
mov byte [esi], 0x48
jmp 0x447d9c
cmp edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x1c]
jne 0x44810f
mov dword [esi + 0x10], edi
lea ecx, [ebx - 0x2e609d58]
mov eax, ebx
add ebx, edx
add ebx, 0xd19f62a8
and ecx, edx
mov byte [esi], 0x68
jmp 0x447d9c
lea ecx, [eax + 0xa]
cmp edi, ecx
jne 0x448323
lea ecx, [ebx - 0x5cc13ab0]
mov dword [esi + 0x10], edi
mov edi, eax
mov eax, ebx
add ebx, edx
add ebx, 0xa33ec550
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xd0
jmp 0x447d6a
lea ecx, [eax + 3]
cmp edi, ecx
jne 0x448138
lea ecx, [ebx - 0x6c7a5f80]
mov dword [esi + 0xc], ecx
lea ecx, [ebx + edx]
add ecx, 0x9385a080
mov dword [esi], ecx
mov ecx, dword [esi + 0xc]
and ecx, edx
mov edx, dword [esi]
add ecx, ecx
sub edx, ecx
xor dl, 0x80
jmp 0x4481d6
mov dword [esi + 4], edx
lea ecx, [eax + 3]
cmp edi, ecx
jne 0x447d10
mov dword [esi + 0x10], edi
lea ecx, [ebx - 0x6f193af8]
mov edx, dword [esi + 4]
lea edi, [ebx + edx]
add edi, 0x90e6c508
mov dword [esi], edi
and ecx, edx
mov dword [esi + 0x14], ecx
mov byte [esi + 0x4c], 0xc8
jmp 0x447dfa
mov dword [esi], ebx
mov eax, dword [esi + 8]
lea ecx, [eax + 3]
mov dword [esi + 0x10], ecx
cmp edi, ecx
jne 0x448182
mov ebx, dword [esi + 0x1c]
lea ecx, [ebx + 0x391fa640]
mov edx, dword [esi + 4]
lea edi, [ebx + edx]
add edi, 0x391fa640
mov dword [esi], edi
and ecx, edx
mov dword [esi + 0x14], ecx
mov byte [esi + 0x4c], 0x40
jmp 0x447dfa
lea ecx, [eax + 2]
cmp edi, ecx
jne 0x4481b3
lea ecx, [ebx + 0xd1a4958]
mov eax, ebx
add ebx, edx
add ebx, 0xd1a4958
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x98
jmp 0x447d42
lea ecx, [eax + 5]
cmp edi, ecx
jne 0x4481ee
lea ecx, [ebx + 0xa7b6de0]
lea edi, [ebx + edx]
add edi, 0xa7b6de0
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi], edi
lea edi, [ebx - 0x4d4bb0e8]
and edi, edx
lea ecx, [ebx + edx]
add ecx, 0xb2b44f18
mov edx, dword [esi]
add edi, edi
sub ecx, edi
add dl, 0xe0
add cl, dl
add cl, 0x58
mov byte [esi + ebx + 0x88], cl
jmp 0x4481d3
lea ecx, [eax + 2]
mov dword [esi + 0x10], ecx
cmp edi, ecx
jne 0x44821a
mov ebx, dword [esi + 0x1c]
lea ecx, [ebx + 0x749a8cf0]
mov edi, dword [esi + 4]
lea edx, [ebx + edi]
add edx, 0x749a8cf0
and ecx, edi
add ecx, ecx
sub edx, ecx
add dl, 0x70
mov edi, dword [esi + 0x10]
jmp 0x4481d6
cmp edi, dword [esi + 0x10]
jne 0x44824a
lea ecx, [ebx - 0x40750298]
and ecx, edx
add edx, ebx
add edx, 0xbf8afd68
add ecx, ecx
sub edx, ecx
add dl, 0x28
mov edi, dword [esi + 0x14]
mov dword [esi], edx
movzx ecx, dl
not ecx
add ebx, ecx
inc ebx
cmp ebx, 0x12
jb 0x447c85
jmp 0x448363
mov dword [esi + 0x1c], ebx
cmp edi, dword [esi + 0x10]
jne 0x447e9b
mov eax, dword [esi + 0x1c]
lea ecx, [eax - 0x7e8ec4c0]
lea ebx, [eax + edx]
add ebx, 0x81713b40
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x40
jmp 0x447d42
lea ebx, [eax + 5]
cmp edi, ebx
jne 0x448278
mov ecx, dword [esi + 0x1c]
add ecx, 0xb01573a0
mov edi, dword [esi + 4]
and ecx, edi
mov edx, dword [esi + 0x1c]
add edx, edi
add edx, 0xb01573a0
add ecx, ecx
sub edx, ecx
add dl, 0xa0
add ebx, eax
mov edi, ebx
mov ebx, dword [esi + 0x1c]
jmp 0x4481d6
lea ecx, [eax + 5]
cmp edi, ecx
jne 0x4482ac
lea ecx, [ebx - 0x4fa1be8]
mov dword [esi + 0xc], ecx
lea ecx, [ebx + edx]
add ecx, 0xfb05e418
mov dword [esi], ecx
mov ecx, dword [esi + 0xc]
and ecx, edx
mov edx, dword [esi]
add ecx, ecx
sub edx, ecx
add dl, 0x58
jmp 0x4481d6
lea ecx, [eax + 6]
mov dword [esi + 0x10], ecx
cmp edi, ecx
jne 0x4482d5
mov eax, dword [esi + 0x1c]
lea ecx, [eax + 0x628627b0]
mov edx, dword [esi + 4]
lea ebx, [eax + edx]
add ebx, 0x628627b0
and ecx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0x30
mov dword [esi], ebx
mov ebx, eax
mov edi, dword [esi + 0x10]
jmp 0x447dc7
lea ecx, [eax + 6]
cmp edi, ecx
jne 0x4482e6
mov dword [esi + 0x10], edi
lea ecx, [ebx + 0x3680cac8]
lea edi, [ebx + edx]
add edi, 0x3680cac8
mov dword [esi], edi
and ecx, edx
mov dword [esi + 0x14], ecx
mov byte [esi + 0x4c], 0x88
jmp 0x447dfa
mov ecx, dword [esi]
mov ebx, dword [esi + 0x1c]
mov byte [esi + ebx + 0x88], cl
jmp 0x4481df
lea ecx, [eax + 7]
cmp edi, ecx
mov dword [esi + 8], eax
jne 0x44831c
lea ecx, [ebx - 0x528967d8]
mov dword [esi + 0x1c], ebx
mov eax, edx
mov edx, dword [esi + 0x1c]
lea ebx, [edx + eax]
add ebx, 0xad769828
mov edx, eax
and ecx, eax
add ecx, ecx
sub ebx, ecx
add bl, 0xe8
mov dword [esi], ebx
mov ebx, dword [esi + 0x1c]
jmp 0x447f01
mov ebx, dword [esi]
jmp 0x447ecd
lea ecx, [ebx + edx]
add ecx, 0xb7f20608
add ebx, 0xb7f20608
and ebx, edx
add ebx, ebx
sub ecx, ebx
add cl, 0xc8
mov dword [esi], ecx
jmp 0x447c75
test eax, eax
je 0x4485e9
push eax
mov dword [esi], edx
call fcn.004716fe
mov ecx, dword [esi]
add esp, 4
jmp 0x446981
mov eax, 0xc6f278
jmp 0x448392
xor eax, eax
jmp 0x448392
test eax, eax
je 0x4485f3
push eax
mov dword [esi], edx
call fcn.004716fe
mov ecx, dword [esi]
add esp, 4
jmp 0x446e6c
xor ecx, ecx
xor eax, eax
dec eax
mov dword [esi], eax
jmp 0x446fe9
mov eax, 0x1497f20
add eax, esi
add eax, 0x88
lea ecx, [esi + 0x108]
push eax
call fcn.0043b8cc
cmp byte [eax], 1
jne 0x449003
mov dword [esi + 0x20], 0xaeb5c0c7
mov dword [esi + 0x24], 0xdbd8c6dc
mov byte [esi + 0x28], 0x4e
xor eax, eax
mov dword [esi + 0x2d], eax
mov dword [esi + 0x29], eax
mov byte [esi + 0x31], 0
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov edx, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x4485de
mov cl, byte [esi + eax + 0x20]
mov byte [esi + 8], cl
movzx ebx, cl
lea ecx, [edx + 1]
mov dword [esi], ecx
cmp edi, ecx
jae 0x448444
cmp edx, eax
ja 0x4485fd
mov dword [esi + 4], ebx
mov ebx, edi
lea edi, [edx + 0x10]
cmp ebx, edi
mov edi, ebx
jae 0x44844e
lea ecx, [edi + edx]
cmp ecx, eax
mov dword [esi + 0xc], edx
jbe 0x4484b9
lea ecx, [edx + 8]
cmp edi, ecx
je 0x4484bd
mov edx, dword [esi + 0xc]
lea ecx, [edx + 3]
cmp edi, ecx
jne 0x448515
mov dword [esi], 0x8de22270
mov ebx, 0x18
jmp 0x44857c
jne 0x448476
mov cl, byte [esi + 8]
jmp 0x44854b
cmp edi, dword [esi]
je 0x4484bd
lea edi, [edx + 2]
cmp ebx, edi
je 0x448509
lea edi, [edx + 3]
cmp ebx, edi
mov edi, ebx
jne 0x44840d
mov dword [esi], 0x270496f2
mov ebx, 0x2d
jmp 0x44857c
mov dword [esi + 4], ebx
mov ebx, edx
mov ecx, edi
lea edi, [edx + 3]
cmp ecx, edi
jne 0x4484e0
lea edi, [eax + 0x292de6ef]
mov edx, dword [esi + 4]
mov dword [esi + 8], ecx
lea ecx, [eax + edx]
add ecx, 0x292de6ef
and edi, edx
add edi, edi
sub ecx, edi
add cl, 0x77
mov byte [esi + eax + 0x20], cl
not ebx
add eax, ebx
movzx ecx, cl
sub eax, ecx
mov ecx, dword [esi]
mov dword [esi + 0xc], ecx
mov edi, dword [esi + 8]
jmp 0x448523
cmp edi, dword [esi]
jne 0x4484ff
lea edi, [eax - 0x30e22b45]
mov edx, dword [esi + 4]
lea ecx, [eax + edx]
add ecx, 0xcf1dd4bb
and edi, edx
add edi, edi
sub ecx, edi
mov edi, ebx
add cl, 0xe3
mov byte [esi + eax + 0x20], cl
jmp 0x44850d
lea edi, [ebx + 4]
cmp ecx, edi
mov edi, ecx
mov edx, ebx
mov ebx, dword [esi + 4]
jne 0x4483f7
mov dword [esi], 0xaa42942
mov ebx, 0xf5
jmp 0x44857c
mov edx, dword [esi + 0xc]
lea edi, [edx + 3]
cmp ebx, edi
jne 0x448552
mov edi, ebx
mov dword [esi], edx
dec eax
mov edx, dword [esi]
jmp 0x448595
lea ecx, [edx + 4]
cmp edi, ecx
mov edx, dword [esi + 4]
jne 0x4483cc
lea ecx, [eax + 0x7fb1eb7c]
and ecx, edx
add edx, eax
add edx, 0x7fb1eb7c
add ecx, ecx
sub edx, ecx
add dl, 0x9c
mov byte [esi + eax + 0x20], dl
sub eax, edi
inc edi
mov cl, byte [esi + eax + 0x1e]
add eax, 0xfffffffe
mov edx, dword [esi + 0xc]
movzx ecx, cl
add ecx, edx
jmp 0x448593
lea edi, [edx + 4]
cmp ebx, edi
jne 0x448568
mov dword [esi], 0xfe9d435e
mov ebx, 0x1b
mov edi, ecx
jmp 0x44857c
lea edi, [edx + 5]
cmp ebx, edi
jne 0x4485a1
mov edi, ebx
mov dword [esi], 0xaba54cc2
mov ebx, 0x35
add ebx, eax
mov ecx, dword [esi + 4]
and ebx, ecx
add ebx, ebx
add ecx, eax
add ecx, dword [esi]
sub ecx, ebx
not ecx
or ecx, 0xffffff00
add eax, ecx
inc eax
cmp eax, 0x12
jb 0x4483dc
jmp 0x4485e5
lea edi, [edx + 2]
cmp ebx, edi
jne 0x4485af
mov edi, ebx
jmp 0x448446
cmp edx, 4
ja 0x4484bd
lea edi, [eax + 0x5684048d]
mov edx, dword [esi + 4]
lea ecx, [eax + edx]
add ecx, 0x5684048d
and edi, edx
add edi, edi
sub ecx, edi
mov edi, ebx
add cl, 0x25
mov byte [esi + eax + 0x20], cl
mov edx, dword [esi + 0xc]
jmp 0x448595
mov eax, 0xb71349
jmp 0x448602
xor eax, eax
jmp 0x448602
xor eax, eax
xor ecx, ecx
dec ecx
jmp 0x446981
xor eax, eax
xor ecx, ecx
dec ecx
jmp 0x446e6c
mov eax, 0x1730ebc
add eax, esi
add eax, 0x20
lea ecx, [esi + 0x108]
push eax
call fcn.0043b8cc
lea ecx, [esi + 0x88]
push eax
call fcn.004496b0
movaps xmm0, xmmword [0x473690]
movups xmmword [esi + 0xa4], xmm0
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, dword [eax]
xor eax, eax
cmp edi, eax
ja 0x44895e
mov dl, byte [esi + eax + 0xa4]
mov byte [esi + 4], dl
movzx ebx, dl
mov edx, ecx
inc ecx
mov dword [esi], ecx
cmp edi, ecx
jae 0x4486a4
cmp edx, eax
ja 0x448969
mov ecx, edx
add edx, edi
cmp edx, eax
mov dword [esi + 0x10], edx
jbe 0x4486b1
lea edx, [ecx + 5]
cmp edi, edx
je 0x4487cb
lea edx, [ecx + 9]
cmp edi, edx
jne 0x4487f2
lea edi, [eax + 0xd9641e2]
and edi, ebx
lea edx, [eax + ebx]
add edx, 0xd9641e2
add edi, edi
sub edx, edi
add dl, 0xd2
mov edi, dword [esi + 0x10]
jmp 0x44882e
jne 0x448748
mov ecx, edx
jmp 0x448794
mov dword [esi + 8], ebx
lea ebx, [ecx + 9]
cmp edi, ebx
jae 0x448790
mov dword [esi + 0xc], edi
lea ebx, [eax - 0x477a633d]
mov edi, dword [esi + 8]
lea edx, [eax + edi]
add edx, 0xb8859cc3
and ebx, edi
add ebx, ebx
sub edx, ebx
add dl, 0xab
mov dword [esi + 0x4c], edx
lea ebx, [ecx + 3]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x14], ebx
cmp edi, ebx
jbe 0x4487c4
lea ebx, [eax - 0x829a589]
mov dword [esi + 0xc], edi
mov edi, dword [esi + 8]
lea edx, [eax + edi]
add edx, 0xf7d65a77
and ebx, edi
mov edi, dword [esi + 0xc]
add ebx, ebx
sub edx, ebx
add dl, 0xbf
mov dword [esi + 0x4c], edx
cmp edi, dword [esi]
je 0x448794
cmp edi, dword [esi + 0x14]
je 0x448754
lea edx, [ecx + 5]
cmp edi, edx
jne 0x4488e4
lea edi, [eax + 0x50045614]
mov edx, dword [esi + 8]
and edi, edx
add edx, eax
add edx, 0x50045614
add edi, edi
sub edx, edi
add dl, 0x74
jmp 0x44869c
mov dword [esi + 8], ebx
mov ecx, edx
lea ebx, [edx + 2]
cmp edi, ebx
jne 0x44879c
mov dword [esi + 0xc], edi
lea ebx, [eax + 0x1fd88581]
mov edi, dword [esi + 8]
lea edx, [edi + eax]
add edx, 0x1fd88581
and ebx, edi
add ebx, ebx
sub edx, ebx
mov ebx, edi
mov edi, dword [esi + 0xc]
add dl, 0x79
mov byte [esi + eax + 0xa4], dl
not ecx
add ecx, eax
movzx eax, dl
sub ecx, eax
mov eax, ecx
mov ecx, dword [esi]
jmp 0x44885a
cmp edi, dword [esi]
jne 0x4487fe
mov dl, byte [esi + 4]
jmp 0x44888a
lea ebx, [ecx + 3]
cmp edi, ebx
jne 0x448835
lea ebx, [eax + 0x7cb282db]
mov edx, dword [esi + 8]
add edx, eax
add edx, 0x7cb282db
and ebx, dword [esi + 8]
add ebx, ebx
sub edx, ebx
add dl, 3
jmp 0x44882e
cmp edi, dword [esi]
mov ebx, dword [esi + 8]
jne 0x448847
lea edx, [eax + 0x3dc21275]
lea ecx, [eax + ebx]
add ecx, 0x3dc21275
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xcd
mov byte [esi + eax + 0xa4], cl
mov ecx, dword [esi]
dec eax
jmp 0x448891
lea edx, [ecx + 2]
cmp edi, edx
je 0x44885a
jmp 0x44862d
lea ebx, [ecx + 2]
cmp edi, ebx
je 0x448857
lea ebx, [ecx + 4]
cmp edi, ebx
jne 0x4488a0
lea edi, [eax + 0xa189e16]
mov ebx, edx
mov edx, dword [esi + 8]
and edi, edx
add edx, eax
add edx, 0xa189e16
add edi, edi
sub edx, edi
add dl, 0x66
mov edi, ebx
movzx edx, dl
not edx
jmp 0x44888f
lea ebx, [ecx + 4]
cmp edi, ebx
mov ebx, dword [esi + 8]
mov edx, ecx
jne 0x44865b
jmp 0x4487ea
cmp edi, dword [esi + 0x14]
je 0x4487ec
lea ebx, [ecx + 6]
cmp edi, ebx
jne 0x44892b
mov ebx, dword [esi + 8]
mov dword [esi], ecx
lea ecx, [eax - 0x27a1ddbc]
and ecx, ebx
lea edx, [eax + ebx]
add edx, 0xd85e2244
add ecx, ecx
sub edx, ecx
add dl, 0x24
mov byte [esi + eax + 0xa4], dl
sub eax, edi
inc edi
mov dl, byte [esi + eax + 0xa2]
add eax, 0xfffffffe
mov ecx, dword [esi]
movzx edx, dl
add edx, ecx
add eax, edx
inc eax
cmp eax, 0x10
jb 0x44863d
jmp 0x448965
lea ebx, [ecx + 3]
cmp edi, ebx
je 0x4487ea
mov dword [esi + 0x14], ebx
lea ebx, [ecx + 7]
cmp edi, ebx
mov ebx, dword [esi + 8]
je 0x4487cb
mov dword [esi + 0xc], edi
mov edi, ebx
lea ebx, [eax + 0x22f5dbff]
lea edx, [eax + edi]
add edx, 0x22f5dbff
and ebx, edi
add ebx, ebx
sub edx, ebx
add dl, 7
mov dword [esi + 0x4c], edx
mov ebx, dword [esi + 0x14]
jmp 0x4486e3
lea edx, [ecx + 4]
cmp edi, edx
mov ebx, dword [esi + 8]
jne 0x44893b
lea edi, [eax - 0x3ef07066]
lea edx, [eax + ebx]
add edx, 0xc10f8f9a
and edi, ebx
add edi, edi
sub edx, edi
lea edi, [eax - 0x5132b405]
and edi, ebx
add ebx, eax
add ebx, 0xaecd4bfb
add edi, edi
sub ebx, edi
add dl, 0xca
add bl, dl
add bl, 0x23
mov byte [esi + eax + 0xa4], bl
jmp 0x44869c
lea ebx, [ecx + 4]
cmp edi, ebx
jne 0x448715
jmp 0x448794
cmp ecx, 1
ja 0x4487cb
lea edx, [ecx + 6]
cmp edi, edx
je 0x4487cb
mov edx, dword [esi + 0x4c]
mov byte [esi + eax + 0xa4], dl
jmp 0x448891
mov eax, 0x10aefc7
jmp 0x44896e
xor eax, eax
jmp 0x44896e
mov eax, 0x1455304
add eax, esi
add eax, 0xa4
mov dword [esi + 0xe4], eax
cmp byte [esi + 0x88], 1
jne 0x448ff3
mov ecx, dword [esi + 0x90]
lea eax, [esi + 0xe4]
push eax
call fcn.00452ad6
mov ecx, dword [esi + 0x90]
cmp eax, dword [ecx]
je 0x448ff3
mov dword [esi + 0x20], 0x691d6721
mov dword [esi + 0x24], 0x18686d71
mov dword [esi + 0x28], 0x146d101a
mov word [esi + 0x2c], 0xf579
xor eax, eax
mov dword [esi + 0x32], eax
mov dword [esi + 0x2e], eax
mov dword [esi + 0x36], eax
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ebx, dword [eax]
mov eax, edi
xor edi, edi
cmp eax, edi
ja 0x448c4a
mov cl, byte [esi + edi + 0x20]
movzx edx, cl
mov dword [esi + 4], edx
lea edx, [ebx + 1]
cmp eax, edx
jae 0x448a5c
cmp ebx, edi
ja 0x448c55
mov dword [esi], edx
lea edx, [eax + ebx]
cmp edx, edi
jbe 0x448ac6
mov dword [esi + 8], edx
lea edx, [ebx + 9]
cmp eax, edx
mov edx, dword [esi]
cmovne edx, ebx
je 0x448baa
mov dword [esi], edx
lea edx, [ebx + 8]
cmp eax, edx
mov edx, dword [esi]
je 0x448baa
mov edx, ecx
lea ecx, [ebx + 2]
cmp eax, ecx
jne 0x448b5b
lea ecx, [edi - 0x58596df4]
mov eax, dword [esi + 4]
lea edx, [edi + eax]
add edx, 0xa7a6920c
and ecx, eax
add ecx, ecx
sub edx, ecx
add dl, 0xac
mov dword [esi], edx
jmp 0x448a9b
je 0x448b2b
mov dword [esi], edx
lea edx, [ebx + 2]
cmp eax, edx
je 0x448acb
lea edx, [ebx + 5]
cmp eax, edx
jne 0x448b9b
lea ecx, [edi + 0x33e45293]
mov edx, dword [esi + 4]
add edx, edi
add edx, 0x33e45293
and ecx, dword [esi + 4]
add ecx, ecx
sub edx, ecx
add dl, 0xfb
mov dword [esi], edx
add eax, ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
lea edx, [edi - 0x357d1649]
and edx, eax
lea ecx, [eax + edi]
add ecx, 0xca82e9b7
add edx, edx
sub ecx, edx
mov eax, dword [esi]
add cl, al
dec cl
mov byte [esi + edi + 0x20], cl
mov ecx, eax
mov eax, dword [esi + 8]
movzx ecx, cl
not ecx
jmp 0x448b30
cmp edx, 2
jne 0x448b34
lea edx, [edi + 0x214393f5]
mov ecx, dword [esi + 4]
and edx, ecx
add edx, edx
mov dword [esi + 8], eax
mov eax, ebx
lea ebx, [ecx + edi]
add ebx, 0x214393f5
sub ebx, edx
add bl, 0x4d
mov byte [esi + edi + 0x20], bl
movzx edx, bl
not eax
add eax, edi
mov edi, eax
sub edi, edx
lea ebx, [edi + 0x4ca3e914]
and ebx, ecx
add ecx, edi
add ecx, 0x4ca3e914
add ebx, ebx
sub ecx, ebx
add cl, 0x74
mov byte [esi + edi + 0x20], cl
add edx, dword [esi + 8]
inc dword [esi + 8]
sub eax, edx
mov cl, byte [esi + eax + 0x1e]
add eax, 0xfffffffe
mov edi, eax
mov eax, dword [esi + 8]
mov ebx, dword [esi]
movzx ecx, cl
add ecx, ebx
add edi, ecx
jmp 0x448bad
cmp eax, dword [esi]
jne 0x448b69
lea ebx, [edi + 0x73c23f79]
mov ecx, dword [esi + 4]
lea edx, [edi + ecx]
add edx, 0x73c23f79
and ebx, ecx
add ebx, ebx
sub edx, ebx
add dl, 0xb1
mov byte [esi + edi + 0x20], dl
mov edx, dword [esi]
jmp 0x448baa
lea ecx, [ebx + 0x10]
cmp eax, ecx
mov ecx, edx
je 0x448b2b
jmp 0x4489ce
mov dword [esi + 8], edx
lea edx, [ebx + 3]
cmp eax, edx
je 0x448ba8
lea edx, [ebx + 2]
cmp eax, edx
jne 0x448bbc
lea ecx, [edi + 0x7b79b99]
mov edx, dword [esi + 4]
lea eax, [edi + edx]
add eax, 0x7b79b99
and ecx, edx
add ecx, ecx
sub eax, ecx
mov ecx, eax
add cl, 0xd1
jmp 0x448abc
lea edx, [ebx + 7]
cmp eax, edx
mov edx, dword [esi]
jne 0x4489f9
mov edx, ebx
dec edi
mov ebx, edx
inc edi
cmp edi, 0x1a
jb 0x4489e0
jmp 0x448c51
lea edx, [ebx + 5]
cmp eax, edx
jne 0x448be4
lea ecx, [edi + 0x5e7845d7]
mov edx, dword [esi + 4]
and ecx, edx
add edx, edi
add edx, 0x5e7845d7
add ecx, ecx
sub edx, ecx
mov ecx, edx
add cl, 0x1f
jmp 0x448abf
lea edx, [ebx + 4]
cmp eax, edx
je 0x448acb
cmp eax, 2
ja 0x448c1e
cmp ebx, 3
ja 0x448b38
lea edx, [edi + 0x2b60551f]
mov ecx, dword [esi + 4]
add ecx, edi
add ecx, 0x2b60551f
and edx, dword [esi + 4]
add edx, edx
sub ecx, edx
add cl, 0x27
mov byte [esi + edi + 0x20], cl
jmp 0x448bad
lea eax, [edi - 0x60dd6b68]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 4]
lea edx, [edi + eax]
add edx, 0x9f229498
mov dword [esi], edx
mov edx, dword [esi + 0xc]
and edx, eax
add edx, edx
sub dword [esi], edx
add cl, byte [esi]
add cl, 0xd8
mov dword [esi], ecx
jmp 0x448a9b
mov eax, 0x5985f3
jmp 0x448c5a
xor eax, eax
jmp 0x448c5a
mov eax, 0x17930d4
add eax, esi
add eax, 0x20
lea ecx, [esi + 0x88]
push eax
call fcn.0043b8cc
cmp byte [eax], 3
jne 0x448ff3
mov dword [esi + 0x20], 0x89798f85
mov dword [esi + 0x24], 0x8a9a859d
mov dword [esi + 0x28], 0x8e89768c
mov word [esi + 0x2c], 0xd85
xor eax, eax
mov dword [esi + 0x32], eax
mov dword [esi + 0x2e], eax
mov dword [esi + 0x36], eax
call fcn.0046d640
mov edi, dword [eax]
call fcn.0046d646
mov ecx, edi
mov eax, dword [eax]
xor ebx, ebx
cmp ecx, ebx
ja 0x448f9d
mov dl, byte [esi + ebx + 0x20]
movzx edi, dl
mov dword [esi + 4], edi
lea edi, [eax + 1]
mov dword [esi], edi
cmp ecx, edi
jae 0x448d0e
cmp eax, ebx
ja 0x448fa8
lea edi, [eax + 5]
mov dword [esi + 0xc], edi
cmp ecx, edi
jae 0x448d4c
lea edi, [ecx + eax]
cmp edi, ebx
jbe 0x448d89
lea edx, [eax + 0x10]
cmp ecx, edx
mov dword [esi + 8], ecx
jne 0x448e04
lea edi, [ebx + 0x2ab73fd0]
mov edx, dword [esi + 4]
lea ecx, [ebx + edx]
add ecx, 0x2ab73fd0
and edi, edx
mov byte [esi], 0x50
jmp 0x448e53
jne 0x448d17
mov edi, ecx
jmp 0x448df6
lea edi, [eax + 3]
cmp ecx, edi
je 0x448d92
lea edi, [eax + 2]
cmp ecx, edi
jne 0x448e85
mov dword [esi + 8], ecx
lea edx, [ebx + 0x5e888cac]
mov edi, dword [esi + 4]
lea ecx, [ebx + edi]
add ecx, 0x5e888cac
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x4c
jmp 0x448e76
cmp ecx, dword [esi]
je 0x448e97
lea edi, [eax + 2]
cmp ecx, edi
je 0x448ebc
lea edi, [eax + 3]
cmp ecx, edi
jne 0x448ecc
mov dword [esi + 8], ecx
lea edi, [ebx - 0x3552300c]
mov edx, dword [esi + 4]
lea ecx, [ebx + edx]
add ecx, 0xcaadcff4
and edi, edx
mov byte [esi], 0x54
jmp 0x448e53
cmp edi, 0xa
jne 0x448e2a
lea edx, [ebx - 0xb5b61d4]
mov edi, dword [esi + 4]
and edx, edi
add edx, edx
mov dword [esi + 8], ecx
lea ecx, [ebx + edi]
add ecx, 0xf4a49e2c
sub ecx, edx
add cl, 0xcc
mov byte [esi + ebx + 0x20], cl
movzx edx, cl
mov dword [esi + 0xc], edx
not eax
add eax, ebx
mov ecx, eax
sub ecx, edx
lea edx, [ecx - 0x77206c50]
and edx, edi
lea ebx, [ecx + edi]
add ebx, 0x88df93b0
add edx, edx
sub ebx, edx
add bl, 0x30
mov byte [esi + ecx + 0x20], bl
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
add edx, ecx
sub eax, edx
inc ecx
mov edi, ecx
mov dl, byte [esi + eax + 0x1e]
add eax, 0xfffffffe
mov ebx, eax
mov eax, dword [esi]
movzx ecx, dl
add ecx, eax
add ebx, ecx
mov ecx, edi
jmp 0x448ebd
cmp ecx, dword [esi + 0xc]
jne 0x448c9a
lea edx, [ebx + 0x532d2ad8]
mov edi, dword [esi + 4]
lea ecx, [ebx + edi]
add ecx, 0x532d2ad8
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x18
jmp 0x448e76
cmp ecx, dword [esi]
je 0x448e97
lea edi, [eax + 2]
cmp ecx, edi
jne 0x448ef1
mov dword [esi + 8], ecx
lea edi, [ebx - 0xc1bd36c]
mov edx, dword [esi + 4]
lea ecx, [ebx + edx]
add ecx, 0xf3e42c94
and edi, edx
mov byte [esi], 0xf4
add edi, edi
sub ecx, edi
lea edi, [ebx - 0x33d14cdc]
and edi, edx
add edx, ebx
add edx, 0xcc2eb324
add edi, edi
sub edx, edi
add cl, byte [esi]
add dl, cl
add dl, 4
mov byte [esi + ebx + 0x20], dl
add dword [esi + 8], eax
movzx edx, cl
not edx
add ebx, edx
mov ecx, dword [esi + 8]
jmp 0x448ebd
lea edi, [eax + 5]
cmp ecx, edi
je 0x448eba
lea edi, [eax + 8]
cmp ecx, edi
jne 0x448cc7
lea edx, [ebx - 0x5c4737e4]
mov eax, ecx
mov edi, dword [esi + 4]
lea ecx, [ebx + edi]
add ecx, 0xa3b8c81c
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0x3c
mov byte [esi + ebx + 0x20], cl
mov ecx, eax
mov eax, dword [esi]
dec ebx
inc ebx
cmp ebx, 0x1a
jb 0x448cac
jmp 0x448fa4
cmp ecx, dword [esi + 0xc]
jne 0x448f1b
mov dword [esi + 8], ecx
lea edx, [ebx + 0x1b99a604]
mov edi, dword [esi + 4]
lea ecx, [ebx + edi]
add ecx, 0x1b99a604
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xe4
jmp 0x448e79
lea edi, [eax + 3]
cmp ecx, edi
jne 0x448f2b
mov dword [esi + 8], ecx
lea edx, [ebx + 0x1c5a179c]
mov edi, dword [esi + 4]
lea ecx, [ebx + edi]
add ecx, 0x1c5a179c
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xbc
jmp 0x448e76
lea edi, [eax + 7]
cmp ecx, edi
jne 0x448cd9
jmp 0x448d92
cmp ecx, dword [esi + 0xc]
je 0x448d92
lea edi, [eax + 6]
cmp ecx, edi
je 0x448d10
lea edx, [eax + 9]
cmp ecx, edx
jbe 0x448f6a
lea edi, [ebx + 0x7ae2a448]
mov edx, dword [esi + 4]
add edx, ebx
add edx, 0x7ae2a448
and edi, dword [esi + 4]
add edi, edi
sub edx, edi
add dl, 8
mov byte [esi + ebx + 0x20], dl
jmp 0x448ebd
lea edx, [eax + 7]
cmp ecx, edx
je 0x448ebc
lea edx, [eax + 8]
cmp ecx, edx
je 0x448e97
lea edi, [ebx - 0x6bc50a7c]
mov edx, dword [esi + 4]
add edx, ebx
add edx, 0x943af584
and edi, dword [esi + 4]
add edi, edi
sub edx, edi
add dl, 0x64
jmp 0x448f61
mov eax, 0x57ea34
jmp 0x448fad
xor eax, eax
jmp 0x448fad
mov eax, 0x15cf4b0
add eax, esi
add eax, 0x20
lea ecx, [esi + 0x88]
push eax
call fcn.0043b8cc
xor ecx, ecx
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xa8], ecx
lea ecx, [esi + 0xa4]
push ecx
push eax
call fcn.0045e569
add esp, 8
lea ecx, [esi + 0xcc]
push dword [esi + 0xa8]
push dword [esi + 0xa4]
call fcn.00450e50
lea ecx, [esi + 0x90]
movzx eax, byte [ecx - 8]
push eax
call fcn.0045206c
lea eax, [esi + 0xcc]
push eax
lea eax, [esi + 0x20]
push eax
call fcn.0040105d
add esp, 8
xor eax, eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], 0xf
mov byte [esi + 0x88], 0
mov eax, dword [esi + 0x30]
cmp eax, 4
jbe 0x449442
add eax, 0xfffffffb
cmp dword [esi + 0x34], 0x10
jb 0x449050
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x18], ecx
mov edx, dword [esi + 0x18]
add edx, 5
lea ecx, [esi + 0x88]
push eax
push edx
call fcn.00450e50
mov eax, dword [esi + 0x34]
cmp eax, 0x10
jb 0x44909b
mov ecx, dword [esi + 0x20]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x449091
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
movsd xmm0, qword [esi + 0x98]
movsd qword [esi + 0x30], xmm0
movups xmm0, xmmword [esi + 0x88]
movaps xmmword [esi + 0x20], xmm0
mov eax, dword [esi + 0x30]
cmp dword [esi + 0x34], 0x10
jb 0x4490c1
mov ecx, dword [esi + 0x20]
jmp 0x4490c4
lea ecx, [esi + 0x20]
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
xor eax, eax
mov dword [esi + 0xa8], eax
mov dword [esi + 0xa4], eax
mov edi, dword [0x4786b0]
test edi, edi
jne 0x44925b
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, 0x6ab95660
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], eax
xor eax, eax
test eax, eax
mov dword [esi + 0x18], eax
mov dword [esi], edx
je 0x449158
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 0x2c]
add edx, 0xfffffff8
mov ecx, 0x520eb302
cmp dx, 2
jb 0x44914b
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x30]
movzx edi, dx
shr edi, 1
add edi, edi
mov ecx, 0x520eb302
xor edx, edx
movsx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 2
cmp edi, edx
jne 0x449138
mov eax, dword [esi + 0x18]
cmp ecx, eax
mov edx, dword [esi]
jne 0x449212
mov eax, dword [esi + 0x10]
mov edi, dword [eax + 0x18]
mov eax, dword [edi + 0x3c]
mov ebx, dword [edi + eax + 0x78]
test ebx, ebx
je 0x44920f
mov eax, dword [edi + eax + 0x7c]
mov dword [esi + 0x4c], eax
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [eax + 0x18]
lea ecx, [edi + 1]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ebx
sub eax, 1
jb 0x44920f
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x20]
add ecx, edi
mov ecx, dword [ecx + eax*4]
mov dl, byte [edi + ecx]
test dl, dl
je 0x4491bd
add ecx, dword [esi + 0xc]
mov ebx, 0x520eb302
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x1000193
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4491a9
jmp 0x4491c2
mov ebx, 0x520eb302
mov edx, dword [esi]
cmp ebx, edx
mov ebx, dword [esi + 8]
jne 0x449186
mov ecx, dword [edi + ebx + 0x24]
add ecx, edi
movzx eax, word [ecx + eax*2]
mov ecx, dword [edi + ebx + 0x1c]
add ecx, edi
mov eax, dword [ecx + eax*4]
add edi, eax
cmp ebx, eax
jge 0x449255
mov eax, dword [esi + 4]
add eax, dword [esi + 0x4c]
cmp eax, edi
jbe 0x449255
mov al, byte [edi]
mov edx, 0x520eb302
mov ecx, 0x520eb302
cmp al, 0x2e
je 0x449217
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edi + 1]
inc edi
jmp 0x4491fa
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x10]
jmp 0x44923f
mov al, byte [edi + 1]
test al, al
je 0x449238
add edi, 2
mov edx, 0x520eb302
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x449226
mov eax, dword [esi + 0x14]
mov edi, dword [eax]
mov eax, ecx
mov ecx, dword [edi]
xor edi, edi
cmp ecx, dword [esi + 0x14]
je 0x449255
mov dword [esi + 0x10], ecx
cmp dword [ecx + 0x18], 0
jne 0x449107
mov dword [0x4786b0], edi
sub esp, 0x1c
lea ebx, [esi + 0xa4]
mov dword [esp + 0x18], ebx
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
lea eax, [esi + 0x88]
mov dword [esp], eax
mov dword [esp + 0x14], 0
call edi
push 8
call fcn.004716fe
add esp, 4
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [ebx]
mov ebx, eax
mov dword [eax], ecx
mov eax, dword [esi + 0x34]
cmp eax, 0x10
jb 0x4492d1
mov ecx, dword [esi + 0x20]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x4492c7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
mov eax, dword [esi + 0xe0]
cmp eax, 0x10
jb 0x44930f
mov ecx, dword [esi + 0xcc]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x449305
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
lea ecx, [esi + 0x110]
movzx eax, byte [ecx - 8]
push eax
call fcn.0045206c
mov eax, dword [esi + 0x104]
cmp eax, 0x10
jb 0x44935d
mov ecx, dword [esi + 0xf0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x449353
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
lea ecx, [esi + 0x120]
call fcn.0043b976
mov eax, dword [esi + 0x64]
cmp eax, 0x10
jb 0x4493a0
mov ecx, dword [esi + 0x50]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x449396
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
lea ecx, [esi + 0x70]
call fcn.0040d3aa
mov eax, dword [esi + 0xc8]
cmp eax, 0x10
jb 0x4493e2
mov ecx, dword [esi + 0xb4]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x4493d8
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
lea ecx, [ebp + 8]
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x449418
mov ecx, dword [ecx]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x44940e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x449422
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00471733
add esp, 8
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.00401301
lea eax, [esi + 0x20]
lea ecx, [esi + 0xcc]
push eax
push ecx
push str.exists
call fcn.0044f0d3
call fcn.0044cf06
int3