Function at 0x456480
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x498248
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd9c
push esi
mov esi, ecx
mov dword [ebp - 0x38], 0
mov ecx, dword [ebp + 0x14]
push edi
mov dword [ebp - 0x50], esi
mov eax, dword [ecx]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x5c], eax
xor eax, eax
cmp byte [esi], 2
cmove eax, dword [0x4b0840]
xor edx, edx
mov dword [ebp - 0x54], eax
add ecx, ecx
mov eax, dword [esi + 8]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x4c], edx
mov edi, dword [eax + ecx*8 + 0xc]
cmp dword [edi + 8], 0x41
mov dword [ebp - 0x30], edi
je 0x45813c
mov eax, 0x10
call fcn.00492d90
movdqu xmm0, xmmword [edi]
mov esi, esp
mov dword [ebp - 0x80], esi
movdqu xmmword [esi], xmm0
mov eax, dword [esi + 8]
cmp eax, 8
jge 0x456876
cmp eax, 7
jne 0x457484
mov ecx, dword [esi + 4]
mov dword [ebp - 0x34], ecx
test ecx, ecx
je 0x456717
mov edx, dword [esi]
xor edi, edi
mov dword [esi], 0x49e065
mov dword [esi + 8], edi
mov dword [ebp - 0x28], edx
mov eax, dword [edx]
cmp eax, ecx
jne 0x45657d
movzx eax, word [edx + 0xa]
cmp byte [eax + ecx], 0
jne 0x45657b
cmp byte [edx + 0x14], 0
je 0x45657b
mov eax, dword [edx + 4]
cmp byte [eax + 0x17], 0
jne 0x456553
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
je 0x45657b
mov dword [esi + 8], 6
mov ecx, dword [edx + 4]
cmp byte [ecx + 0x17], 0
jne 0x45656c
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov dword [esi], ecx
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x457484
mov eax, dword [edx]
test eax, eax
je 0x4565f9
cmp ecx, eax
jae 0x45659f
cmp edi, 0xfd
jae 0x4565a7
mov al, byte [ecx]
inc ecx
mov byte [ebp + edi - 0x188], al
inc edi
mov dword [ebp - 0x34], ecx
cmp ecx, dword [edx]
jb 0x456585
cmp edi, 0xfd
jb 0x4565af
cmp ecx, dword [edx]
jb 0x45662e
mov ecx, dword [edx + 4]
push 0
call fcn.00475d50
mov ecx, 0xfd
sub ecx, edi
cmp eax, ecx
ja 0x456681
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x188]
add eax, edi
push eax
mov ecx, dword [ecx + 4]
call fcn.00475d50
mov edx, dword [ebp - 0x28]
add edi, eax
mov ecx, dword [ebp - 0x34]
movzx eax, word [edx + 0xa]
add edx, 0xc
add ecx, eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x34], ecx
mov eax, dword [edx]
test eax, eax
jne 0x456581
mov al, byte [ecx]
test al, al
je 0x456617
nop
cmp edi, 0xfd
jae 0x45661f
inc ecx
mov byte [ebp + edi - 0x188], al
inc edi
mov al, byte [ecx]
test al, al
jne 0x456600
cmp edi, 0xfd
jb 0x456624
cmp byte [ecx], 0
jne 0x45662e
test edi, edi
jne 0x456686
cmp byte [edx + 8], 0
jne 0x456686
cmp dword [edx], 0
je 0x45663b
add edx, 0xc
cmp dword [edx], 0
jne 0x456633
cmp byte [edx + 8], 0
je 0x457484
mov eax, dword [ebp - 0x54]
test eax, eax
je case.0x45820a.6
mov edi, 0x49e065
test edi, edi
je case.0x45820a.3
push 1
push 0
push 0xffffffffffffffff
push edi
mov ecx, eax
call fcn.004759c0
test eax, eax
jne case.0x45820a.3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
jmp case.0x45820a.3
mov edx, dword [ebp - 0x28]
jmp 0x45662e
mov byte [ebp + edi - 0x188], 0
cmp byte [edx + 8], 0
je 0x4566c3
lea eax, [edi + 1]
mov dword [esi + 8], 0
call fcn.004903b0
mov edi, esp
lea ecx, [ebp - 0x188]
mov edx, edi
mov eax, ecx
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4566b1
jmp 0x457482
cmp byte [ebp - 0x188], 0
je 0x4582ff
lea eax, [ebp - 0x55]
mov ecx, 0x4b09a0
push eax
push 3
lea eax, [ebp - 0x7c]
push eax
push edi
lea eax, [ebp - 0x188]
push eax
call fcn.00421d40
test eax, eax
jne 0x456715
cmp byte [ebp - 0x55], al
mov ecx, 0x4b09a0
setne al
inc eax
push eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0x188]
push edi
push eax
call fcn.00421fd0
test eax, eax
je 0x4582ff
mov dword [esi], eax
mov ecx, dword [esi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x456726
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
movzx eax, al
dec eax
je 0x456780
sub eax, 3
jne 0x4567b4
mov eax, dword [ecx + 0x10]
cmp eax, 0x4435e0
jne 0x45675c
mov ecx, dword [0x4ac1d8]
mov eax, dword [ecx + 8]
mov dword [esi], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 4], eax
mov dword [esi + 8], 1
jmp 0x457484
cmp eax, 0x443d70
jne 0x4567b4
mov eax, dword [0x4ac1d8]
mov eax, dword [eax + 0x38]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 1
jmp 0x457484
cmp dword [0x4af994], 0
jne 0x457d2c
cmp byte [ecx + 0x17], 0
jne 0x456798
mov edx, dword [ecx + 0xc]
jmp 0x45679a
mov edx, ecx
test byte [edx + 0x15], 0xa
jne 0x457d2c
xor eax, eax
cmp dword [edx + 0xc], eax
setne al
test eax, eax
jne 0x457d2c
push 0
call fcn.00475d50
lea edi, [eax + 1]
cmp edi, 1
jne 0x4567e6
mov ecx, dword [esi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x4567d2
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x456fa7
mov dword [esi + 8], 4
jmp 0x457484
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [eax]
sub eax, ecx
add eax, dword [edx]
cmp edi, eax
ja 0x456805
mov eax, ecx
add ecx, edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x5c], ecx
jmp 0x456856
cmp edi, 0x1001
jae 0x456827
cmp dword [ebp - 0x4c], 0x9c40
jae 0x456827
mov eax, edi
call fcn.004903b0
add dword [ebp - 0x4c], edi
mov eax, esp
mov dword [ebp - 0x34], eax
jmp 0x456856
cmp dword [ebp - 0x38], 0xc8
je 0x458029
push edi
call fcn.00485a15
mov ecx, dword [ebp - 0x38]
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp + ecx*4 - 0x4a8], eax
test eax, eax
je 0x458029
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [esi]
push eax
call fcn.00475d50
mov eax, dword [ebp - 0x34]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 5
jmp 0x457484
cmp eax, 0x3e
jne 0x456c60
mov eax, dword [esi]
mov edx, dword [eax + 4]
movzx edi, byte [eax + 9]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
cmp edi, eax
jg 0x456645
sub eax, edi
lea ecx, [ebp - 0xca8]
mov dword [ebp - 0x24], eax
lea ecx, [ecx + eax*4]
mov dword [ebp - 0x34], ecx
test edx, edx
jne 0x456933
test eax, eax
je 0x456645
mov ecx, dword [ebp + eax*4 - 0xcac]
dec eax
mov dword [ebp - 0x24], eax
call fcn.0044d580
mov edx, eax
mov dword [ebp - 0x28], edx
test edx, edx
jne 0x45691f
test edi, edi
je 0x4568ef
lea eax, [edi*4]
push eax
mov eax, dword [ebp - 0x34]
push eax
add eax, 4
push eax
call fcn.00486480
add esp, 0xc
inc dword [ebp - 0x6c]
mov eax, 0x10
call fcn.004903b0
mov ecx, dword [ebp - 0x34]
mov eax, esp
mov edx, 0x4adb00
mov dword [ebp - 0x28], edx
mov dword [ecx], eax
mov dword [eax + 8], 0
mov eax, dword [ecx]
sub ecx, 4
add edi, 2
mov dword [eax], 0x49e065
jmp 0x456922
mov ecx, dword [ebp - 0x34]
cmp edi, dword [edx + 0x14]
jge 0x456933
mov eax, dword [esi]
cmp byte [eax + 8], 2
jne 0x456645
lea eax, [ebp - 0x188]
mov dword [ebp - 0x44], 0
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x2c], eax
mov dword [esi + 0xc], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 4], 0
mov eax, dword [esi]
cmp byte [eax + 8], 2
sete al
movzx eax, al
push eax
push edi
push ecx
push esi
push dword [ebp + 0xc]
lea eax, [ebp - 0x44]
mov ecx, edx
push eax
call fcn.004586c0
test al, al
je 0x458106
mov edx, dword [ebp - 0x50]
mov dword [0x4b0d10], edx
mov eax, dword [esi + 8]
cmp eax, 1
je 0x456c34
cmp eax, 2
je 0x456c34
cmp eax, 6
je 0x456c34
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
test ecx, ecx
jne 0x4569d7
cmp dword [eax + 0x18], 0x41
jne 0x4569d7
cmp byte [edx], 3
mov dword [ebp - 0x20], 1
je 0x458033
mov edi, dword [ebp - 0x54]
jmp 0x456a0a
cmp dword [eax + 0x18], 0x13
mov dword [ebp - 0x20], 0
jne 0x456a08
test ecx, ecx
je 0x456a08
mov edi, dword [ebp + ecx*4 - 0xcac]
cmp dword [edi + 8], 4
jne 0x456a08
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x456a04
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x456a0a
xor edi, edi
mov ecx, dword [esi]
mov dword [ebp - 0x1c], ecx
test edi, edi
je 0x456ac5
mov eax, dword [0x4ac1d8]
mov edx, dword [ebp - 0x28]
cmp dword [eax + 0x94], edx
jne 0x456a34
mov al, byte [edi + 0x16]
and al, 0x22
cmp al, 2
je 0x456ac5
mov eax, dword [esi + 0xc]
cmp eax, ecx
jne 0x456a48
push dword [esi + 4]
mov ecx, edi
push eax
call fcn.00476050
jmp 0x456a9e
lea edx, [ecx + 1]
jmp 0x456a50
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456a50
sub ecx, edx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [0x4afbb0]
jne 0x456a88
cmp ecx, 0x40
jb 0x456a88
push ecx
push edx
mov ecx, edi
call fcn.00476050
mov dword [0x4afbb0], 0
mov dword [0x4afbac], 0
jmp 0x456a9e
push 1
push 0
push 0xffffffffffffffff
push edx
mov ecx, edi
call fcn.004759c0
test eax, eax
je 0x4580d9
cmp dword [ebp - 0x20], 0
jne 0x458043
mov eax, dword [ebp - 0x30]
dec dword [ebp - 0x24]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [eax + 0xc]
mov dword [esi], edi
mov dword [esi + 8], 4
jmp 0x456c37
mov eax, dword [esi + 0xc]
mov edx, 1
test eax, eax
je 0x456af8
mov edi, dword [ebp - 0x38]
cmp edi, 0xc8
je 0x4580c4
cmp eax, ecx
mov dword [ebp - 0x64], 0
mov dword [ebp + edi*4 - 0x4a8], eax
cmove edx, dword [ebp - 0x64]
inc edi
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0xc], eax
mov eax, dword [esi]
cmp byte [eax], 0
jne 0x456b1e
mov dword [esi], 0x49e065
mov dword [esi + 8], 5
mov dword [esi + 4], 0
jmp 0x456c3a
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x3d], 0
je 0x456b35
test edx, edx
je 0x456b72
xor edx, edx
cmp dword [ebp - 0x20], edx
sete dl
jmp 0x456b72
cmp ecx, dword [0x4afbb0]
je 0x456b44
mov edx, 1
jmp 0x456b72
xor edx, edx
cmp dword [ebp - 0x20], edx
jne 0x456b72
mov ecx, dword [ebp - 0x30]
add ecx, 0x18
mov eax, dword [ecx]
cmp eax, 0x41
je 0x456b6f
cmp eax, 0x3e
je 0x456b6a
mov eax, dword [ecx + 0x10]
add ecx, 0x10
cmp eax, 0x41
jne 0x456b58
jmp 0x456b6f
mov edx, 1
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 4], 0
mov dword [esi + 8], 5
test edx, edx
je 0x456c30
lea edx, [ecx + 1]
jmp 0x456b90
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456b90
mov eax, dword [ebp + 0x18]
sub ecx, edx
mov edx, dword [ebp + 0x1c]
mov eax, dword [eax]
lea edi, [ecx + 1]
mov ecx, dword [ebp - 0x5c]
sub eax, ecx
add eax, dword [edx]
cmp edi, eax
ja 0x456bc4
mov edx, dword [ebp - 0x1c]
push edi
push edx
push ecx
call fcn.0048e4b0
add esp, 0xc
mov dword [esi], eax
add dword [ebp - 0x5c], edi
jmp 0x456c3a
cmp edi, 0x1001
jae 0x456bf3
cmp dword [ebp - 0x4c], 0x9c40
jae 0x456bf3
mov eax, edi
call fcn.004903b0
mov edx, dword [ebp - 0x1c]
mov eax, esp
push edi
push edx
push eax
call fcn.0048e4b0
add esp, 0xc
mov dword [esi], eax
add dword [ebp - 0x4c], edi
jmp 0x456c3a
cmp dword [ebp - 0x38], 0xc8
je 0x4580c4
push edi
call fcn.00485a15
mov ecx, dword [ebp - 0x38]
add esp, 4
mov dword [ebp + ecx*4 - 0x4a8], eax
test eax, eax
je 0x4580c4
mov edx, dword [ebp - 0x1c]
push edi
push edx
push eax
call fcn.0048e4b0
add esp, 0xc
mov dword [esi], eax
inc dword [ebp - 0x38]
jmp 0x456c3a
mov dword [esi], ecx
jmp 0x456c3a
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0xc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x457484
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
call fcn.004762a0
add esp, 4
jmp 0x457484
cmp eax, 0x1f
jne 0x456c98
cmp dword [esi + 0xc], 0
mov edx, dword [ebp - 0x24]
je 0x458021
test edx, edx
je 0x458021
mov eax, dword [ebp + edx*4 - 0xcac]
dec edx
mov dword [ebp - 0x24], edx
movdqu xmm0, xmmword [eax]
movdqu xmmword [esi], xmm0
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
jmp 0x45748e
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x456645
mov edi, dword [ebp + ecx*4 - 0xcac]
dec ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edi
cmp dword [edi + 8], 8
jge 0x456645
cmp eax, 0x20
jne 0x456ce8
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x456645
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
movdqu xmm0, xmmword [edi]
movdqu xmmword [esi], xmm0
mov dword [edi + 8], 1
jmp 0x457484
add eax, 0xffffffee
cmp eax, 0x27
ja case.0x456cf7.20
movzx eax, byte [eax + 0x4584e4]
jmp dword [eax*4 + 0x4584dc]
mov ecx, edi
call fcn.0044d110
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
mov edx, dword [esi + 8]
mov dword [ebp - 0x34], 0
lea eax, [edx - 9]
cmp eax, 0x34
ja case.0x456d28.11
movzx eax, byte [eax + 0x458528]
jmp dword [eax*4 + 0x45850c]
mov edx, dword [ebp - 0x48]
mov ecx, edi
call fcn.0044d010
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 1
jmp 0x457484
mov edx, dword [ebp - 0x48]
mov ecx, edi
call fcn.0044d010
test eax, eax
jne 0x456d6d
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x457484
xorps xmm0, xmm0
mov dword [esi + 8], 1
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457484
mov eax, dword [ebp - 0x48]
cmp eax, 1
jne 0x456db4
mov edx, eax
mov ecx, edi
call fcn.0044d2c0
neg eax
mov dword [esi], eax
mov eax, dword [ebp - 0x48]
adc edx, 0
neg edx
mov dword [esi + 8], eax
mov dword [esi + 4], edx
jmp 0x457484
cmp eax, 2
jne 0x456fa7
push 1
xor edx, edx
mov ecx, edi
call fcn.0044d320
xorpd xmm0, xmmword [0x4a67a0]
add esp, 4
movsd qword [esi], xmm0
mov eax, dword [ebp - 0x48]
mov dword [esi + 8], eax
jmp 0x457484
xor eax, eax
cmp edx, 0x3c
setge al
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x456fa7
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x456ec7
cmp edx, 9
je 0x456e15
mov dword [ebp - 0x28], 0xffffffff
cmp edx, 0x3c
jne 0x456e1c
mov dword [ebp - 0x28], 1
cmp ecx, 1
mov ecx, edi
jne 0x456e46
mov edx, 1
call fcn.0044d2c0
mov dword [esi], eax
mov eax, dword [ebp - 0x28]
mov dword [esi + 4], edx
mov ecx, dword [edi]
cdq
add eax, dword [esi]
adc edx, dword [esi + 4]
push edx
push eax
call fcn.00414630
jmp 0x456e6a
push 1
xor edx, edx
call fcn.0044d320
movd xmm1, dword [ebp - 0x28]
add esp, 4
cvtdq2pd xmm1, xmm1
movsd qword [esi], xmm0
mov ecx, dword [edi]
addsd xmm1, xmm0
call fcn.00414650
cmp dword [ebp - 0x2c], 0
je 0x456dd7
mov ecx, dword [edi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x456e83
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x456e95
mov dword [esi], ecx
mov dword [esi + 8], 4
jmp 0x457484
mov ecx, dword [ebp - 0x48]
cmp ecx, 1
jne 0x456eae
mov eax, dword [ebp - 0x28]
cdq
add dword [esi], eax
mov dword [esi + 8], ecx
adc dword [esi + 4], edx
jmp 0x457484
movd xmm0, dword [ebp - 0x28]
cvtdq2pd xmm0, xmm0
mov dword [esi + 8], ecx
addsd xmm0, qword [esi]
movsd qword [esi], xmm0
jmp 0x457484
cmp eax, 4
jne 0x456fa7
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x456edd
mov ecx, dword [eax + 0xc]
jmp 0x456edf
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x456eeb
push eax
call fcn.0042e980
mov ecx, dword [edi]
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.004759c0
cmp dword [ebp - 0x2c], 0
je 0x456fa7
mov ecx, dword [edi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x456f13
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x456fa7
mov dword [esi], ecx
mov dword [esi + 8], 4
jmp 0x457484
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x456f87
mov ecx, dword [edi]
cmp byte [ecx + 0x17], 0
jne 0x456f3e
mov eax, dword [ecx + 0xc]
jmp 0x456f40
mov eax, ecx
test byte [eax + 0x15], 2
je 0x456f65
mov dword [esi + 8], 1
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x456f58
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x457484
call fcn.00404ff0
push 0
mov dword [esi + 8], 1
mov ecx, dword [edi]
push 1
call fcn.004024d0
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x457484
cmp eax, 6
jne 0x456fa7
mov dword [esi + 8], 1
mov eax, dword [edi]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x457484
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x456fb9
mov dword [esi], 0x49e065
mov dword [esi + 8], 0
jmp 0x457484
xor edx, edx
mov ecx, edi
cmp eax, 1
sete dl
call fcn.0044d2c0
cmp dword [esi + 8], 0x38
jne 0x457005
test edx, edx
ja 0x456ff0
jb 0x456fd9
cmp eax, 0xffffffff
ja 0x456ff0
not eax
mov dword [esi + 4], 0
mov dword [esi], eax
mov dword [esi + 8], 1
jmp 0x457484
not eax
mov dword [esi + 8], 1
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x457484
cmp eax, 0x1000
jae 0x457020
xor eax, eax
mov dword [esi + 8], 1
cdq
mov dword [esi + 4], edx
mov dword [esi], eax
jmp 0x457484
movzx eax, byte [eax]
cdq
mov dword [esi + 4], edx
mov dword [esi], eax
mov dword [esi + 8], 1
jmp 0x457484
test ecx, ecx
je 0x456645
dec ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp + ecx*4 - 0xca8]
mov dword [ebp - 0x28], ecx
mov eax, dword [ecx + 8]
cmp eax, 8
jge 0x456645
cmp edx, 0x12
jne 0x457084
movdqu xmm0, xmmword [ecx]
mov eax, dword [ebp - 0x30]
movdqu xmmword [esi], xmm0
cmp dword [esi + 8], 6
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
jne 0x457484
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x457484
cmp edx, 0x1e
jg 0x457166
cmp edx, 0x13
jl 0x457166
cmp eax, 4
je 0x4570ad
mov dword [esi], 0x49e065
mov dword [esi + 8], 0
jmp 0x457484
add edx, 0xffffffed
cmp edx, 0xb
ja case.default.0x4570b9
jmp dword [edx*4 + 0x458560]
mov ecx, dword [ecx]
push edi
call fcn.004752d0
test eax, eax
je 0x4582ff
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 0x17]
test al, al
jne 0x4570e2
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
jne 0x456e87
movdqu xmm0, xmmword [edi]
mov eax, dword [ebp - 0x30]
movdqu xmmword [esi], xmm0
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
jmp 0x457484
mov dword [esi + 8], 0x31
jmp case.default.0x4570b9
mov dword [esi + 8], 0x32
jmp case.default.0x4570b9
mov dword [esi + 8], 0x33
jmp case.default.0x4570b9
mov dword [esi + 8], 0x34
jmp case.default.0x4570b9
mov dword [esi + 8], 0x35
jmp case.default.0x4570b9
mov dword [esi + 8], 0x2c
jmp case.default.0x4570b9
mov dword [esi + 8], 0x2d
jmp case.default.0x4570b9
mov dword [esi + 8], 0x2e
jmp case.default.0x4570b9
mov dword [esi + 8], 0x2f
jmp case.default.0x4570b9
mov dword [esi + 8], 0x30
jmp case.default.0x4570b9
mov dword [esi + 8], 0x2b
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp dword [esi + 8], 0x2b
je 0x4578d1
cmp dword [ebp - 0x48], 0
je 0x4578d1
call fcn.0044d110
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x4578d1
mov ecx, dword [ebp - 0x48]
cmp ecx, 1
jne 0x45719c
cmp eax, ecx
jne 0x45719c
cmp dword [esi + 8], 0x34
jne 0x4571b1
mov eax, dword [esi + 8]
cmp eax, 0x30
jg 0x4575a3
cmp eax, 0x2c
jl 0x4575a3
xor edx, edx
cmp ecx, 1
mov ecx, edi
sete dl
call fcn.0044d2c0
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
xor edx, edx
cmp dword [ebp - 0x2c], 1
mov dword [ebp - 0x10], eax
sete dl
call fcn.0044d2c0
mov ecx, eax
mov dword [ebp - 0x1c], 1
mov eax, dword [esi + 8]
mov edi, edx
add eax, 0xffffffdc
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], edi
cmp eax, 0x17
ja case.default.0x457200
jmp dword [eax*4 + 0x458590]
add ecx, dword [ebp - 0x10]
mov dword [esi], ecx
adc edi, dword [ebp - 0x20]
mov dword [esi + 4], edi
mov eax, dword [ebp - 0x1c]
jmp 0x457450
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
sbb edi, dword [ebp - 0x20]
mov dword [esi], ecx
mov dword [esi + 4], edi
jmp 0x457450
push dword [ebp - 0x20]
push dword [ebp - 0x10]
push edi
push ecx
call fcn.0048cff0
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x457450
cmp ecx, dword [ebp - 0x10]
jne 0x457265
cmp edi, dword [ebp - 0x20]
jne 0x457265
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
cmp ecx, dword [ebp - 0x10]
jne 0x4572a5
cmp edi, dword [ebp - 0x20]
jne 0x4572a5
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
cmp edi, dword [ebp - 0x20]
jl 0x4572d9
jg 0x4572c5
cmp ecx, dword [ebp - 0x10]
jbe 0x4572d9
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
cmp edi, dword [ebp - 0x20]
jg 0x457314
jl 0x457300
cmp ecx, dword [ebp - 0x10]
jae 0x457314
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
cmp edi, dword [ebp - 0x20]
jl 0x45734f
jg 0x45733b
cmp ecx, dword [ebp - 0x10]
jb 0x45734f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
cmp edi, dword [ebp - 0x20]
jg 0x45738a
jl 0x457376
cmp ecx, dword [ebp - 0x10]
ja 0x45738a
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
and ecx, dword [ebp - 0x10]
and edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [esi], ecx
mov dword [esi + 4], edi
jmp 0x457450
or ecx, dword [ebp - 0x10]
or edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [esi], ecx
mov dword [esi + 4], edi
jmp 0x457450
xor ecx, dword [ebp - 0x10]
xor edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [esi], ecx
mov dword [esi + 4], edi
jmp 0x457450
movq xmm1, qword [ebp - 0x88]
movd xmm0, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
psllq xmm1, xmm0
movq qword [esi], xmm1
jmp 0x457450
mov eax, ecx
mov edx, edi
mov ecx, dword [ebp - 0x10]
call fcn.00495f00
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x457450
mov edx, dword [ebp - 0x10]
mov eax, edx
or eax, dword [ebp - 0x20]
je case.default.0x457979
push dword [ebp - 0x20]
push edx
push edi
push ecx
call fcn.00495d70
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x457450
mov eax, ecx
or eax, edi
jne 0x4574e3
cmp dword [ebp - 0x20], eax
jg 0x457500
jl case.default.0x457979
cmp dword [ebp - 0x10], eax
jae 0x457500
mov dword [esi], 0x49e065
xor eax, eax
mov dword [esi + 8], eax
mov edi, dword [ebp - 0x34]
test edi, edi
je 0x457484
push esi
mov ecx, edi
call fcn.004752d0
test eax, eax
je 0x4582ff
mov al, byte [edi + 0x17]
test al, al
jne 0x457477
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
je 0x457484
mov dword [esi + 8], 4
mov dword [esi], edi
cmp dword [esi + 0xc], 0
je 0x457fdf
mov ecx, esi
call fcn.0044d110
dec eax
je 0x457f18
dec eax
mov eax, dword [esi + 8]
je 0x457e60
cmp eax, 6
je 0x457fc3
cmp eax, 4
jne 0x4574c9
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
jne 0x4574bf
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x457fc3
xor edx, edx
mov ecx, esi
call fcn.0044d3b0
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x14], ecx
mov edi, ecx
jmp 0x457ec3
test edi, edi
jg 0x457500
jl 0x4574ed
test ecx, ecx
jae 0x457500
neg ecx
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x2c], ecx
adc edi, 0
neg edi
jmp 0x457507
mov dword [ebp - 0x64], 0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
call fcn.0049633f
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov edx, edi
movsd qword [esp], xmm0
call fcn.0049633f
sub esp, 8
movsd qword [esp], xmm0
call fcn.0042f940
cmp dword [ebp - 0x64], 0
mov edi, dword [ebp - 0x10]
fstp qword [ebp - 0x18]
movsd xmm0, qword [ebp - 0x18]
movsd qword [ebp - 0x18], xmm0
movsd qword [esi], xmm0
je 0x45756d
push 0
push 2
push dword [ebp - 0x20]
push edi
call fcn.00495e20
or eax, edx
je 0x45756d
movsd xmm0, qword [ebp - 0x18]
xorpd xmm0, xmmword [0x4a67a0]
movsd qword [esi], xmm0
cmp dword [ebp - 0x20], 0
jg 0x457583
jl 0x457579
test edi, edi
jae 0x457583
mov eax, 2
jmp 0x457450
movsd xmm0, qword [esi]
call fcn.0049619f
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x457450
mov eax, 1
jmp 0x457450
xor eax, eax
mov edx, 1
cmp ecx, 2
mov ecx, edi
sete al
push eax
call fcn.0044d320
mov ecx, dword [ebp - 0x28]
xor eax, eax
add esp, 4
movsd qword [ebp - 0x18], xmm0
cmp dword [ebp - 0x2c], 2
mov edx, 1
sete al
push eax
call fcn.0044d320
mov ecx, dword [esi + 8]
add esp, 4
movsd qword [ebp - 0x78], xmm0
cmp ecx, 0x24
jl 0x4575f1
mov edi, 1
cmp ecx, 0x2a
jle 0x4575f6
mov edi, 2
lea eax, [ecx - 0x24]
cmp eax, 0x17
ja case.0x457609.43
movzx eax, byte [eax + 0x458620]
jmp dword [eax*4 + 0x4585f0]
addsd xmm0, qword [ebp - 0x18]
mov dword [esi + 8], edi
movsd qword [esi], xmm0
jmp 0x457453
subsd xmm0, qword [ebp - 0x18]
mov dword [esi + 8], edi
movsd qword [esi], xmm0
jmp 0x457453
mulsd xmm0, qword [ebp - 0x18]
mov dword [esi + 8], edi
movsd qword [esi], xmm0
jmp 0x457453
movsd xmm1, qword [ebp - 0x18]
ucomisd xmm1, qword [0x4a65f8]
lahf
test ah, 0x44
jp 0x457666
xor edi, edi
mov dword [esi], 0x49e065
mov dword [esi + 8], edi
jmp 0x457453
divsd xmm0, xmm1
movsd qword [esi], xmm0
cmp ecx, 0x35
jne case.0x457609.43
sub esp, 8
movsd qword [esp], xmm0
call fcn.0042f9a0
fstp qword [esi]
mov dword [esi + 8], edi
jmp 0x457453
ucomisd xmm0, qword [ebp - 0x18]
lahf
test ah, 0x44
jp 0x4576ad
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
xorps xmm0, xmm0
mov dword [esi + 8], edi
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
ucomisd xmm0, qword [ebp - 0x18]
lahf
test ah, 0x44
jnp 0x4576e7
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
xorps xmm0, xmm0
mov dword [esi + 8], edi
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
comisd xmm0, xmmword [ebp - 0x18]
jbe 0x45771d
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
xorps xmm0, xmm0
mov dword [esi + 8], edi
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
movsd xmm1, qword [ebp - 0x18]
comisd xmm1, xmm0
jbe 0x457757
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
xorps xmm0, xmm0
mov dword [esi + 8], edi
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
comisd xmm0, xmmword [ebp - 0x18]
jb 0x45778d
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
xorps xmm0, xmm0
mov dword [esi + 8], edi
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
movsd xmm1, qword [ebp - 0x18]
comisd xmm1, xmm0
jb 0x4577c7
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
xorps xmm0, xmm0
mov dword [esi + 8], edi
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457453
movsd xmm1, qword [ebp - 0x18]
xor ecx, ecx
xorps xmm2, xmm2
comisd xmm2, xmm0
seta cl
ucomisd xmm0, xmm2
mov dword [ebp - 0x2c], ecx
lahf
test ah, 0x44
jp 0x457806
comisd xmm2, xmm1
ja 0x45783b
test ecx, ecx
je 0x457858
movsd xmm0, qword [0x4a6638]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call fcn.0042f9d0
fstp qword [ebp - 0x68]
movsd xmm0, qword [ebp - 0x68]
ucomisd xmm0, qword [0x4a65f8]
lahf
test ah, 0x44
jnp 0x45784b
xor edi, edi
mov dword [esi], 0x49e065
mov dword [esi + 8], edi
jmp 0x457453
movsd xmm0, qword [ebp - 0x78]
xorpd xmm0, xmmword [0x4a67a0]
movsd xmm1, qword [ebp - 0x18]
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.0042f940
cmp dword [ebp - 0x2c], 0
fstp qword [esi]
je case.0x457609.43
movsd xmm0, qword [0x4a6650]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x18]
movsd qword [esp], xmm0
call fcn.0042f9d0
sub esp, 8
fstp qword [esp]
call fcn.0042f930
fstp qword [ebp - 0x18]
movsd xmm0, qword [ebp - 0x18]
ucomisd xmm0, qword [0x4a6638]
lahf
test ah, 0x44
jp case.0x457609.43
movsd xmm0, qword [esi]
xorpd xmm0, xmmword [0x4a67a0]
movsd qword [esi], xmm0
mov dword [esi + 8], edi
jmp 0x457453
mov eax, dword [esi + 8]
add eax, 0xffffffdc
cmp eax, 2
ja 0x457940
mov ecx, edi
call fcn.0044d530
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
call fcn.0044d530
mov edx, dword [ebp - 0x2c]
test edx, edx
jne 0x4578f9
test eax, eax
je 0x457940
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp dword [esi + 8], 0x26
setne al
cmp eax, ecx
jne 0x457921
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x457484
xorps xmm0, xmm0
mov dword [esi + 8], 1
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x457484
lea edx, [ebp - 0xda8]
mov ecx, edi
call fcn.0044d3b0
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x188]
mov dword [ebp - 0x10], eax
call fcn.0044d3b0
mov ecx, eax
mov dword [ebp - 0x1c], 1
mov eax, dword [esi + 8]
add eax, 0xffffffdc
mov dword [ebp - 0x74], ecx
cmp eax, 7
ja case.default.0x457979
jmp dword [eax*4 + 0x458638]
mov eax, dword [0x4ac1d8]
push dword [ebp - 0x10]
push ecx
cmp byte [eax + 0xd2], 0
jne 0x45799c
call fcn.004855c8
add esp, 8
jmp 0x4579a2
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4579ba
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
push dword [ebp - 0x10]
push ecx
call fcn.004858ec
add esp, 8
test eax, eax
jne 0x4579f9
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
mov eax, dword [0x4ac1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x457a2e
call fcn.004855c8
jmp 0x457a3f
cmp al, 2
jne 0x457a3a
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x457a42
call fcn.004858ec
add esp, 8
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x457450
mov eax, dword [0x4ac1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x457a73
call fcn.004855c8
jmp 0x457a84
cmp al, 2
jne 0x457a7f
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x457a87
call fcn.004858ec
add esp, 8
test eax, eax
jle 0x457a9f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
mov eax, dword [0x4ac1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x457ad4
call fcn.004855c8
jmp 0x457ae5
cmp al, 2
jne 0x457ae0
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x457ae8
call fcn.004858ec
add esp, 8
test eax, eax
jns 0x457b00
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
mov eax, dword [0x4ac1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x457b35
call fcn.004855c8
jmp 0x457b46
cmp al, 2
jne 0x457b41
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x457b49
call fcn.004858ec
add esp, 8
cmp eax, 0xffffffff
jle 0x457b62
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
mov eax, dword [0x4ac1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x457b97
call fcn.004855c8
jmp 0x457ba8
cmp al, 2
jne 0x457ba3
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x457bab
call fcn.004858ec
add esp, 8
cmp eax, 1
jge 0x457bc4
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x457450
cmp dword [edi + 8], 4
jne 0x457bf6
mov ecx, dword [edi]
call fcn.00414a40
mov edx, dword [ebp - 0x10]
mov ecx, eax
mov dword [ebp - 0x20], eax
jmp 0x457c0c
mov edx, dword [ebp - 0x10]
mov ecx, edx
lea edi, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457c00
sub ecx, edi
mov dword [ebp - 0x20], ecx
mov edi, dword [ebp - 0x34]
test edi, edi
je 0x457c24
push ecx
push edx
mov ecx, edi
call fcn.00475fd0
test eax, eax
jne 0x45747b
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 4
jne 0x457c38
mov ecx, dword [eax]
call fcn.00414a40
mov edi, eax
jmp 0x457c49
mov edi, dword [ebp - 0x74]
lea ecx, [edi + 1]
mov edi, edi
mov al, byte [edi]
inc edi
test al, al
jne 0x457c40
sub edi, ecx
mov eax, dword [ebp - 0x20]
inc eax
add eax, edi
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], eax
jne 0x457d9d
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
test edx, edx
je 0x457c81
test ecx, ecx
jne 0x457c81
cmp dword [eax + 0x18], 0x41
jne 0x457c81
mov eax, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x64], 1
jmp 0x457cc9
cmp dword [eax + 0x18], 0x13
jne 0x457d9d
test ecx, ecx
je 0x457d9d
mov eax, dword [ebp + ecx*4 - 0xcac]
cmp dword [eax + 8], 4
jne 0x457d9d
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x457cb9
mov eax, dword [eax + 0xc]
mov cl, byte [eax + 0x17]
mov eax, dword [ebp - 0x1c]
cmp cl, 1
jne 0x457d9d
mov dword [ebp - 0x64], 0
test eax, eax
je 0x457d9d
push 0
push 0
mov ecx, eax
call fcn.004024d0
xor ecx, ecx
cmp eax, 0x4afb9e
cmove eax, ecx
cmp eax, dword [ebp - 0x74]
jne 0x457d38
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 0x10]
call fcn.00475fd0
test eax, eax
je 0x457d9d
cmp dword [ebp - 0x64], 0
jne case.0x45820a.6
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + eax*4 - 0xca8]
mov eax, dword [eax]
mov dword [esi], eax
mov dword [esi + 8], 4
jmp 0x457484
cmp eax, dword [ebp - 0x10]
je 0x457d9d
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
dec eax
push 1
push 0
push eax
push 0
call fcn.004759c0
test eax, eax
je 0x4582ff
mov ecx, dword [ebp - 0x1c]
push 0
push 1
call fcn.004024d0
mov dword [ebp - 0x2c], eax
test edi, edi
je 0x457d78
push edi
push dword [ebp - 0x74]
push eax
call fcn.0048e4b0
add esp, 0xc
mov eax, dword [ebp - 0x20]
inc eax
push eax
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x10]
add eax, edi
push eax
call fcn.0048e4b0
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
push 0
call fcn.00414aa0
jmp 0x457d01
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x5c]
mov eax, dword [eax]
sub eax, edx
add eax, dword [ecx]
mov ecx, dword [ebp - 0x2c]
cmp ecx, eax
ja 0x457dbc
mov dword [esi], edx
add edx, ecx
mov dword [ebp - 0x5c], edx
jmp 0x457e0e
cmp ecx, 0x1001
jae 0x457de0
cmp dword [ebp - 0x4c], 0x9c40
jae 0x457de0
mov eax, ecx
call fcn.004903b0
mov eax, esp
mov dword [esi], eax
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x4c], eax
jmp 0x457e0e
cmp dword [ebp - 0x38], 0xc8
je 0x4582eb
push ecx
call fcn.00485a15
mov ecx, dword [ebp - 0x38]
add esp, 4
mov dword [esi], eax
mov dword [ebp + ecx*4 - 0x4a8], eax
test eax, eax
je 0x4582eb
inc ecx
mov dword [ebp - 0x38], ecx
test edi, edi
je 0x457e20
push edi
push dword [ebp - 0x74]
push dword [esi]
call fcn.0048e4b0
add esp, 0xc
mov eax, dword [ebp - 0x20]
inc eax
push eax
mov eax, dword [esi]
push dword [ebp - 0x10]
add eax, edi
push eax
call fcn.0048e4b0
mov eax, dword [ebp - 0x28]
add esp, 0xc
cmp dword [eax + 8], 0
je 0x45744e
mov eax, dword [ebp - 0x14]
cmp dword [eax + 8], 0
je 0x45744e
mov eax, 5
mov dword [esi + 4], 0
jmp 0x457450
dec eax
cmp eax, 5
ja case.0x457e66.3
jmp dword [eax*4 + 0x458658]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.0049633f
jmp 0x457eaf
movsd xmm0, qword [esi]
jmp 0x457eaf
mov ecx, dword [esi]
push 1
call fcn.00414790
jmp 0x457eaf
mov ecx, dword [esi + 4]
test ecx, ecx
je case.0x457e66.3
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.0049633f
jmp 0x457eaf
push dword [esi]
call fcn.00487c47
fstp qword [ebp - 0x18]
movsd xmm0, qword [ebp - 0x18]
add esp, 4
ucomisd xmm0, qword [0x4a65f8]
lahf
test ah, 0x44
jp 0x457fc3
xor edi, edi
cmp dword [esi + 8], 6
jne 0x457ed1
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 8], 0x20
je 0x457fcd
mov edi, edi
xor eax, eax
cmp dword [ecx + 8], 0x21
sete al
cmp edi, eax
jne 0x45801b
mov dword [ebp - 0x30], ecx
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x457f01
cmp dword [ecx + 8], 0x20
jne 0x457ee0
mov eax, edi
mov dword [esi + 8], 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 0xc], ecx
jmp 0x457484
mov eax, dword [esi + 8]
dec eax
cmp eax, 5
ja case.0x457f21.3
jmp dword [eax*4 + 0x458670]
mov eax, dword [esi]
mov edx, dword [esi + 4]
jmp 0x457fbb
mov edx, dword [esi + 4]
test edx, edx
je case.0x457f21.3
mov eax, dword [edx]
mov edx, dword [edx + 4]
jmp 0x457fbb
movsd xmm0, qword [esi]
call fcn.0049619f
jmp 0x457fbb
mov ecx, dword [esi]
push 1
call fcn.00414720
jmp 0x457fbb
mov edi, dword [esi]
mov eax, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x457f6c
cmp cl, 9
jne 0x457f6f
inc eax
jmp 0x457f60
mov cl, byte [eax]
test cl, cl
je 0x457fb2
cmp cl, 0x2d
je 0x457f7f
cmp cl, 0x2b
jne 0x457f80
inc eax
cmp byte [eax], 0x30
jne 0x457fb2
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x457f92
cmp cl, 0x58
jne 0x457fb2
movsx eax, byte [eax + 2]
push eax
call fcn.0048736d
add esp, 4
test eax, eax
je 0x457fb2
push 0x10
push 0
push edi
call fcn.00487b55
add esp, 0xc
jmp 0x457fbb
push edi
call fcn.0048716c
add esp, 4
or eax, edx
je case.0x457f21.6
mov edi, 1
jmp 0x457ec3
test edi, edi
jne 0x45801b
mov edi, dword [esi + 0xc]
mov edx, dword [ebp - 0x24]
add edi, 0x10
jmp 0x4564da
mov edi, dword [ebp - 0x24]
cmp dword [ebp - 0x6c], edi
jle 0x45800d
mov esi, dword [ebp - 0x6c]
lea ebx, [ebx]
mov eax, dword [ebp + esi*4 - 0xcac]
dec esi
cmp dword [eax + 8], 6
jne 0x458006
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp esi, edi
jg 0x457ff0
mov esi, dword [ebp - 0x80]
mov dword [ebp + edi*4 - 0xca8], esi
inc edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x6c], edi
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x24]
add edi, 0x10
jmp 0x4564da
mov eax, dword [esi]
push dword [eax + 0x18]
jmp 0x4582f0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x458043
push eax
call fcn.004858b4
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je case.0x45820a.6
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
call fcn.004762a0
add esp, 4
mov edi, 0x49e065
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x458084
lea esp, [esp]
push dword [ebp + esi*4 - 0x4ac]
dec esi
call fcn.004858b4
add esp, 4
test esi, esi
jne 0x458070
mov esi, dword [ebp - 0x6c]
test esi, esi
je 0x4580aa
jmp 0x458090
mov eax, dword [ebp + esi*4 - 0xcac]
dec esi
cmp dword [eax + 8], 6
jne 0x4580a6
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
test esi, esi
jne 0x458090
mov eax, edi
lea esp, [ebp - 0xdb0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x20
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x50]
push dword [eax + 4]
push 0
push str.Out_of_memory.
call fcn.0042e0a0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x4582ff
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
call fcn.004762a0
mov eax, dword [ebp + 0xc]
add esp, 4
xor edi, edi
mov dword [eax], edi
jmp case.0x45820a.3
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov edi, 0x49e065
cmp dword [eax], 1
mov dword [ebp - 4], 0xffffffff
cmovne edi, ecx
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je case.0x45820a.3
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
call fcn.004762a0
add esp, 4
jmp case.0x45820a.3
mov eax, dword [ebp - 0x50]
mov al, byte [eax]
cmp al, 3
je case.0x45820a.6
cmp edx, 1
jne 0x456645
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0xca8]
test ecx, ecx
je 0x458172
push esi
call fcn.004752d0
test eax, eax
je 0x4582ff
jmp case.0x45820a.6
cmp al, 0x11
je 0x4583f1
cmp al, 0x6b
je 0x4583f1
cmp al, 0x6c
je 0x4583f1
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x4581f6
mov eax, dword [esi + 8]
cmp eax, 1
je 0x4581df
cmp eax, 2
je 0x4581df
cmp eax, 6
je 0x4581df
cmp eax, 4
jne 0x4581f6
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
jne 0x4581b3
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
je 0x4581f6
mov dword [edx + 8], 6
mov ecx, dword [esi]
cmp byte [ecx + 0x17], 0
jne 0x4581cb
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov dword [edx], ecx
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x49e065
jmp 0x4580ac
mov dword [edx + 8], eax
mov eax, dword [esi]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov eax, 0x49e065
jmp 0x4580ac
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
mov eax, dword [esi + 8]
mov dword [ebp - 0x54], edi
cmp eax, 6
ja case.0x45820a.3
jmp dword [eax*4 + 0x458688]
push dword [esi + 4]
mov ecx, edi
push dword [esi]
call fcn.004022f0
mov ecx, eax
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458225
sub ecx, edx
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0x14]
add dword [ecx], eax
jmp case.0x45820a.3
mov eax, dword [0x4ac1d8]
sub esp, 8
movsd xmm0, qword [esi]
add eax, 0x74
movsd qword [esp], xmm0
push eax
push 0x100
push edi
call fcn.00472ab0
mov ecx, dword [ebp + 0x14]
inc eax
add esp, 0x14
add dword [ecx], eax
jmp case.0x45820a.3
cmp eax, 4
jne 0x45828a
mov ecx, dword [esi]
push 0
push 1
call fcn.004024d0
mov ecx, dword [esi]
mov edi, eax
mov dword [ebp - 0x2c], eax
call fcn.00414a40
lea esi, [eax + 1]
jmp 0x4582a0
mov edi, dword [esi]
mov ecx, edi
mov dword [ebp - 0x2c], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458294
sub ecx, edx
lea esi, [ecx + 1]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + 8]
add ecx, ecx
mov dword [ebp + 0x10], esi
mov eax, dword [eax + 8]
movzx eax, word [eax + ecx*8 + 2]
mov ecx, 0xff
cmp ax, cx
jb 0x4582bf
mov ecx, eax
mov eax, dword [ebp + 0x24]
inc eax
add ecx, eax
cmp esi, ecx
jbe 0x4583d0
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
sub eax, ecx
add eax, esi
push eax
mov dword [ebp - 0x64], eax
call fcn.00485a15
mov edi, eax
add esp, 4
mov dword [ebp + 0x24], edi
test edi, edi
jne 0x45830b
push 0x49e065
mov ecx, dword [ebp - 0x50]
push 0
push str.Out_of_memory.
call fcn.0042e0a0
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [eax], edi
jmp case.0x45820a.3
cmp dword [ebp - 0x64], 0x400000
mov esi, dword [0x4afba8]
jbe 0x458321
inc esi
mov dword [0x4afba8], esi
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
sub eax, ecx
mov dword [ebp + 0xc], eax
je 0x458340
push eax
push ecx
push edi
call fcn.0048e4b0
mov eax, dword [ebp + 0xc]
add esp, 0xc
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
add eax, edi
push dword [ebp - 0x2c]
mov dword [ebp - 0x54], eax
push eax
mov dword [ecx], eax
call fcn.0048e4b0
mov eax, dword [ebp + 0x18]
add esp, 0xc
push dword [eax]
call fcn.004858b4
mov eax, dword [ebp + 0x1c]
add esp, 4
mov ecx, dword [eax]
cmp ecx, 0x400000
jbe 0x45837a
dec esi
mov dword [0x4afba8], esi
mov esi, dword [ebp + 0x18]
mov eax, dword [esi]
add eax, ecx
xor ecx, ecx
mov dword [ebp + 0xc], eax
cmp dword [ebp + 8], ecx
jle 0x4583b6
mov edi, dword [ebp + 0x20]
mov edi, edi
mov edx, dword [edi + ecx*4]
mov esi, dword [esi]
cmp edx, esi
jb 0x4583aa
cmp edx, eax
jae 0x4583aa
mov eax, dword [ebp + 0x24]
sub eax, esi
add eax, edx
mov dword [edi + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x18]
inc ecx
cmp ecx, dword [ebp + 8]
jl 0x458390
mov edi, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x64]
mov dword [esi], edi
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp - 0x54]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
add dword [eax], esi
jmp case.0x45820a.3
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp eax, edi
je 0x4583e4
push esi
push edi
push eax
call fcn.00486480
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp - 0x54]
add dword [eax], esi
jmp case.0x45820a.3
mov eax, dword [esi + 8]
cmp eax, 6
ja case.0x4583fd.3
jmp dword [eax*4 + 0x4586a4]
mov eax, dword [esi]
or eax, dword [esi + 4]
je 0x458424
mov eax, 1
mov edi, 0x4a09f8
test eax, eax
mov ecx, 0x49e065
cmove edi, ecx
jmp case.0x45820a.3
xor eax, eax
mov edi, 0x4a09f8
test eax, eax
mov ecx, 0x49e065
cmove edi, ecx
jmp case.0x45820a.3
movsd xmm0, qword [esi]
ucomisd xmm0, qword [0x4a65f8]
lahf
test ah, 0x44
jnp 0x458424
mov eax, 1
mov edi, 0x4a09f8
test eax, eax
mov ecx, 0x49e065
cmove edi, ecx
jmp case.0x45820a.3
mov ecx, dword [esi + 4]
test ecx, ecx
je case.0x4583fd.0
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x458424
mov eax, 1
mov edi, 0x4a09f8
test eax, eax
mov ecx, 0x49e065
cmove edi, ecx
jmp case.0x45820a.3
mov ecx, dword [esi]
call fcn.0044cf10
test eax, eax
mov edi, 0x4a09f8
mov ecx, 0x49e065
cmove edi, ecx
jmp case.0x45820a.3
mov ecx, dword [esi]
call fcn.0044cf90
test eax, eax
mov edi, 0x4a09f8
mov ecx, 0x49e065
cmove edi, ecx
jmp case.0x45820a.3
mov eax, dword [ebp + 0x18]
mov edi, 0x4a09f8
test eax, eax
mov ecx, 0x49e065
cmove edi, ecx
jmp case.0x45820a.3