Function at 0x454fa0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x496d68
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 [0x4ae860]
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 0x456c5c
mov eax, 0x10
call fcn.004918b0
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 0x455396
cmp eax, 7
jne 0x455fa4
mov ecx, dword [esi + 4]
mov dword [ebp - 0x34], ecx
test ecx, ecx
je 0x455237
mov edx, dword [esi]
xor edi, edi
mov dword [esi], 0x49bc4d
mov dword [esi + 8], edi
mov dword [ebp - 0x28], edx
mov eax, dword [edx]
cmp eax, ecx
jne 0x45509d
movzx eax, word [edx + 0xa]
cmp byte [eax + ecx], 0
jne 0x45509b
cmp byte [edx + 0x14], 0
je 0x45509b
mov eax, dword [edx + 4]
cmp byte [eax + 0x17], 0
jne 0x455073
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
je 0x45509b
mov dword [esi + 8], 6
mov ecx, dword [edx + 4]
cmp byte [ecx + 0x17], 0
jne 0x45508c
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov dword [esi], ecx
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x455fa4
mov eax, dword [edx]
test eax, eax
je 0x455119
cmp ecx, eax
jae 0x4550bf
cmp edi, 0xfd
jae 0x4550c7
mov al, byte [ecx]
inc ecx
mov byte [ebp + edi - 0x188], al
inc edi
mov dword [ebp - 0x34], ecx
cmp ecx, dword [edx]
jb 0x4550a5
cmp edi, 0xfd
jb 0x4550cf
cmp ecx, dword [edx]
jb 0x45514e
mov ecx, dword [edx + 4]
push 0
call fcn.00474870
mov ecx, 0xfd
sub ecx, edi
cmp eax, ecx
ja 0x4551a1
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x188]
add eax, edi
push eax
mov ecx, dword [ecx + 4]
call fcn.00474870
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 0x4550a1
mov al, byte [ecx]
test al, al
je 0x455137
nop
cmp edi, 0xfd
jae 0x45513f
inc ecx
mov byte [ebp + edi - 0x188], al
inc edi
mov al, byte [ecx]
test al, al
jne 0x455120
cmp edi, 0xfd
jb 0x455144
cmp byte [ecx], 0
jne 0x45514e
test edi, edi
jne 0x4551a6
cmp byte [edx + 8], 0
jne 0x4551a6
cmp dword [edx], 0
je 0x45515b
add edx, 0xc
cmp dword [edx], 0
jne 0x455153
cmp byte [edx + 8], 0
je 0x455fa4
mov eax, dword [ebp - 0x54]
test eax, eax
je case.0x456d2a.6
mov edi, 0x49bc4d
test edi, edi
je case.0x456d2a.3
push 1
push 0
push 0xffffffffffffffff
push edi
mov ecx, eax
call fcn.004744e0
test eax, eax
jne case.0x456d2a.3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
jmp case.0x456d2a.3
mov edx, dword [ebp - 0x28]
jmp 0x45514e
mov byte [ebp + edi - 0x188], 0
cmp byte [edx + 8], 0
je 0x4551e3
lea eax, [edi + 1]
mov dword [esi + 8], 0
call fcn.0048eed0
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 0x4551d1
jmp 0x455fa2
cmp byte [ebp - 0x188], 0
je 0x456e1f
lea eax, [ebp - 0x55]
mov ecx, 0x4ae9b0
push eax
push 3
lea eax, [ebp - 0x7c]
push eax
push edi
lea eax, [ebp - 0x188]
push eax
call fcn.00420860
test eax, eax
jne 0x455235
cmp byte [ebp - 0x55], al
mov ecx, 0x4ae9b0
setne al
inc eax
push eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0x188]
push edi
push eax
call fcn.00420af0
test eax, eax
je 0x456e1f
mov dword [esi], eax
mov ecx, dword [esi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x455246
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
movzx eax, al
dec eax
je 0x4552a0
sub eax, 3
jne 0x4552d4
mov eax, dword [ecx + 0x10]
cmp eax, 0x442100
jne 0x45527c
mov ecx, dword [0x4aa1d8]
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 0x455fa4
cmp eax, 0x442890
jne 0x4552d4
mov eax, dword [0x4aa1d8]
mov eax, dword [eax + 0x38]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 1
jmp 0x455fa4
cmp dword [0x4ad9c8], 0
jne 0x45684c
cmp byte [ecx + 0x17], 0
jne 0x4552b8
mov edx, dword [ecx + 0xc]
jmp 0x4552ba
mov edx, ecx
test byte [edx + 0x15], 0xa
jne 0x45684c
xor eax, eax
cmp dword [edx + 0xc], eax
setne al
test eax, eax
jne 0x45684c
push 0
call fcn.00474870
lea edi, [eax + 1]
cmp edi, 1
jne 0x455306
mov ecx, dword [esi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x4552f2
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x455ac7
mov dword [esi + 8], 4
jmp 0x455fa4
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 0x455325
mov eax, ecx
add ecx, edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x5c], ecx
jmp 0x455376
cmp edi, 0x1001
jae 0x455347
cmp dword [ebp - 0x4c], 0x9c40
jae 0x455347
mov eax, edi
call fcn.0048eed0
add dword [ebp - 0x4c], edi
mov eax, esp
mov dword [ebp - 0x34], eax
jmp 0x455376
cmp dword [ebp - 0x38], 0xc8
je 0x456b49
push edi
call fcn.00484535
mov ecx, dword [ebp - 0x38]
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp + ecx*4 - 0x4a8], eax
test eax, eax
je 0x456b49
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [esi]
push eax
call fcn.00474870
mov eax, dword [ebp - 0x34]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 5
jmp 0x455fa4
cmp eax, 0x3e
jne 0x455780
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 0x455165
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 0x455453
test eax, eax
je 0x455165
mov ecx, dword [ebp + eax*4 - 0xcac]
dec eax
mov dword [ebp - 0x24], eax
call fcn.0044c0a0
mov edx, eax
mov dword [ebp - 0x28], edx
test edx, edx
jne 0x45543f
test edi, edi
je 0x45540f
lea eax, [edi*4]
push eax
mov eax, dword [ebp - 0x34]
push eax
add eax, 4
push eax
call fcn.00484fa0
add esp, 0xc
inc dword [ebp - 0x6c]
mov eax, 0x10
call fcn.0048eed0
mov ecx, dword [ebp - 0x34]
mov eax, esp
mov edx, 0x4abb00
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], 0x49bc4d
jmp 0x455442
mov ecx, dword [ebp - 0x34]
cmp edi, dword [edx + 0x14]
jge 0x455453
mov eax, dword [esi]
cmp byte [eax + 8], 2
jne 0x455165
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.004571e0
test al, al
je 0x456c26
mov edx, dword [ebp - 0x50]
mov dword [0x4aed20], edx
mov eax, dword [esi + 8]
cmp eax, 1
je 0x455754
cmp eax, 2
je 0x455754
cmp eax, 6
je 0x455754
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
test ecx, ecx
jne 0x4554f7
cmp dword [eax + 0x18], 0x41
jne 0x4554f7
cmp byte [edx], 3
mov dword [ebp - 0x20], 1
je 0x456b53
mov edi, dword [ebp - 0x54]
jmp 0x45552a
cmp dword [eax + 0x18], 0x13
mov dword [ebp - 0x20], 0
jne 0x455528
test ecx, ecx
je 0x455528
mov edi, dword [ebp + ecx*4 - 0xcac]
cmp dword [edi + 8], 4
jne 0x455528
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x455524
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x45552a
xor edi, edi
mov ecx, dword [esi]
mov dword [ebp - 0x1c], ecx
test edi, edi
je 0x4555e5
mov eax, dword [0x4aa1d8]
mov edx, dword [ebp - 0x28]
cmp dword [eax + 0x94], edx
jne 0x455554
mov al, byte [edi + 0x16]
and al, 0x22
cmp al, 2
je 0x4555e5
mov eax, dword [esi + 0xc]
cmp eax, ecx
jne 0x455568
push dword [esi + 4]
mov ecx, edi
push eax
call fcn.00474b70
jmp 0x4555be
lea edx, [ecx + 1]
jmp 0x455570
mov al, byte [ecx]
inc ecx
test al, al
jne 0x455570
sub ecx, edx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [0x4adbd0]
jne 0x4555a8
cmp ecx, 0x40
jb 0x4555a8
push ecx
push edx
mov ecx, edi
call fcn.00474b70
mov dword [0x4adbd0], 0
mov dword [0x4adbcc], 0
jmp 0x4555be
push 1
push 0
push 0xffffffffffffffff
push edx
mov ecx, edi
call fcn.004744e0
test eax, eax
je 0x456bf9
cmp dword [ebp - 0x20], 0
jne 0x456b63
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 0x455757
mov eax, dword [esi + 0xc]
mov edx, 1
test eax, eax
je 0x455618
mov edi, dword [ebp - 0x38]
cmp edi, 0xc8
je 0x456be4
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 0x45563e
mov dword [esi], 0x49bc4d
mov dword [esi + 8], 5
mov dword [esi + 4], 0
jmp 0x45575a
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x3d], 0
je 0x455655
test edx, edx
je 0x455692
xor edx, edx
cmp dword [ebp - 0x20], edx
sete dl
jmp 0x455692
cmp ecx, dword [0x4adbd0]
je 0x455664
mov edx, 1
jmp 0x455692
xor edx, edx
cmp dword [ebp - 0x20], edx
jne 0x455692
mov ecx, dword [ebp - 0x30]
add ecx, 0x18
mov eax, dword [ecx]
cmp eax, 0x41
je 0x45568f
cmp eax, 0x3e
je 0x45568a
mov eax, dword [ecx + 0x10]
add ecx, 0x10
cmp eax, 0x41
jne 0x455678
jmp 0x45568f
mov edx, 1
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 4], 0
mov dword [esi + 8], 5
test edx, edx
je 0x455750
lea edx, [ecx + 1]
jmp 0x4556b0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4556b0
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 0x4556e4
mov edx, dword [ebp - 0x1c]
push edi
push edx
push ecx
call fcn.0048cfd0
add esp, 0xc
mov dword [esi], eax
add dword [ebp - 0x5c], edi
jmp 0x45575a
cmp edi, 0x1001
jae 0x455713
cmp dword [ebp - 0x4c], 0x9c40
jae 0x455713
mov eax, edi
call fcn.0048eed0
mov edx, dword [ebp - 0x1c]
mov eax, esp
push edi
push edx
push eax
call fcn.0048cfd0
add esp, 0xc
mov dword [esi], eax
add dword [ebp - 0x4c], edi
jmp 0x45575a
cmp dword [ebp - 0x38], 0xc8
je 0x456be4
push edi
call fcn.00484535
mov ecx, dword [ebp - 0x38]
add esp, 4
mov dword [ebp + ecx*4 - 0x4a8], eax
test eax, eax
je 0x456be4
mov edx, dword [ebp - 0x1c]
push edi
push edx
push eax
call fcn.0048cfd0
add esp, 0xc
mov dword [esi], eax
inc dword [ebp - 0x38]
jmp 0x45575a
mov dword [esi], ecx
jmp 0x45575a
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0xc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x455fa4
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
call fcn.00474dc0
add esp, 4
jmp 0x455fa4
cmp eax, 0x1f
jne 0x4557b8
cmp dword [esi + 0xc], 0
mov edx, dword [ebp - 0x24]
je 0x456b41
test edx, edx
je 0x456b41
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 0x455fae
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x455165
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 0x455165
cmp eax, 0x20
jne 0x455808
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x455165
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
movdqu xmm0, xmmword [edi]
movdqu xmmword [esi], xmm0
mov dword [edi + 8], 1
jmp 0x455fa4
add eax, 0xffffffee
cmp eax, 0x27
ja case.0x455817.20
movzx eax, byte [eax + 0x457004]
jmp dword [eax*4 + 0x456ffc]
mov ecx, edi
call fcn.0044bc30
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.0x455848.11
movzx eax, byte [eax + 0x457048]
jmp dword [eax*4 + 0x45702c]
mov edx, dword [ebp - 0x48]
mov ecx, edi
call fcn.0044bb30
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 1
jmp 0x455fa4
mov edx, dword [ebp - 0x48]
mov ecx, edi
call fcn.0044bb30
test eax, eax
jne 0x45588d
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x455fa4
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 0x455fa4
mov eax, dword [ebp - 0x48]
cmp eax, 1
jne 0x4558d4
mov edx, eax
mov ecx, edi
call fcn.0044bde0
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 0x455fa4
cmp eax, 2
jne 0x455ac7
push 1
xor edx, edx
mov ecx, edi
call fcn.0044be40
xorpd xmm0, xmmword [0x4a43b0]
add esp, 4
movsd qword [esi], xmm0
mov eax, dword [ebp - 0x48]
mov dword [esi + 8], eax
jmp 0x455fa4
xor eax, eax
cmp edx, 0x3c
setge al
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x455ac7
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4559e7
cmp edx, 9
je 0x455935
mov dword [ebp - 0x28], 0xffffffff
cmp edx, 0x3c
jne 0x45593c
mov dword [ebp - 0x28], 1
cmp ecx, 1
mov ecx, edi
jne 0x455966
mov edx, 1
call fcn.0044bde0
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.004134b0
jmp 0x45598a
push 1
xor edx, edx
call fcn.0044be40
movd xmm1, dword [ebp - 0x28]
add esp, 4
cvtdq2pd xmm1, xmm1
movsd qword [esi], xmm0
mov ecx, dword [edi]
addsd xmm1, xmm0
call fcn.004134d0
cmp dword [ebp - 0x2c], 0
je 0x4558f7
mov ecx, dword [edi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x4559a3
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x4559b5
mov dword [esi], ecx
mov dword [esi + 8], 4
jmp 0x455fa4
mov ecx, dword [ebp - 0x48]
cmp ecx, 1
jne 0x4559ce
mov eax, dword [ebp - 0x28]
cdq
add dword [esi], eax
mov dword [esi + 8], ecx
adc dword [esi + 4], edx
jmp 0x455fa4
movd xmm0, dword [ebp - 0x28]
cvtdq2pd xmm0, xmm0
mov dword [esi + 8], ecx
addsd xmm0, qword [esi]
movsd qword [esi], xmm0
jmp 0x455fa4
cmp eax, 4
jne 0x455ac7
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x4559fd
mov ecx, dword [eax + 0xc]
jmp 0x4559ff
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x455a0b
push eax
call fcn.0042d4a0
mov ecx, dword [edi]
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.004744e0
cmp dword [ebp - 0x2c], 0
je 0x455ac7
mov ecx, dword [edi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x455a33
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x455ac7
mov dword [esi], ecx
mov dword [esi + 8], 4
jmp 0x455fa4
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x455aa7
mov ecx, dword [edi]
cmp byte [ecx + 0x17], 0
jne 0x455a5e
mov eax, dword [ecx + 0xc]
jmp 0x455a60
mov eax, ecx
test byte [eax + 0x15], 2
je 0x455a85
mov dword [esi + 8], 1
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x455a78
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x455fa4
call fcn.00403fb0
push 0
mov dword [esi + 8], 1
mov ecx, dword [edi]
push 1
call fcn.00401490
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x455fa4
cmp eax, 6
jne 0x455ac7
mov dword [esi + 8], 1
mov eax, dword [edi]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x455fa4
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x455ad9
mov dword [esi], 0x49bc4d
mov dword [esi + 8], 0
jmp 0x455fa4
xor edx, edx
mov ecx, edi
cmp eax, 1
sete dl
call fcn.0044bde0
cmp dword [esi + 8], 0x38
jne 0x455b25
test edx, edx
ja 0x455b10
jb 0x455af9
cmp eax, 0xffffffff
ja 0x455b10
not eax
mov dword [esi + 4], 0
mov dword [esi], eax
mov dword [esi + 8], 1
jmp 0x455fa4
not eax
mov dword [esi + 8], 1
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x455fa4
cmp eax, 0x1000
jae 0x455b40
xor eax, eax
mov dword [esi + 8], 1
cdq
mov dword [esi + 4], edx
mov dword [esi], eax
jmp 0x455fa4
movzx eax, byte [eax]
cdq
mov dword [esi + 4], edx
mov dword [esi], eax
mov dword [esi + 8], 1
jmp 0x455fa4
test ecx, ecx
je 0x455165
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 0x455165
cmp edx, 0x12
jne 0x455ba4
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 0x455fa4
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x455fa4
cmp edx, 0x1e
jg 0x455c86
cmp edx, 0x13
jl 0x455c86
cmp eax, 4
je 0x455bcd
mov dword [esi], 0x49bc4d
mov dword [esi + 8], 0
jmp 0x455fa4
add edx, 0xffffffed
cmp edx, 0xb
ja case.default.0x455bd9
jmp dword [edx*4 + 0x457080]
mov ecx, dword [ecx]
push edi
call fcn.00473df0
test eax, eax
je 0x456e1f
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 0x17]
test al, al
jne 0x455c02
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
jne 0x4559a7
movdqu xmm0, xmmword [edi]
mov eax, dword [ebp - 0x30]
movdqu xmmword [esi], xmm0
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
jmp 0x455fa4
mov dword [esi + 8], 0x31
jmp case.default.0x455bd9
mov dword [esi + 8], 0x32
jmp case.default.0x455bd9
mov dword [esi + 8], 0x33
jmp case.default.0x455bd9
mov dword [esi + 8], 0x34
jmp case.default.0x455bd9
mov dword [esi + 8], 0x35
jmp case.default.0x455bd9
mov dword [esi + 8], 0x2c
jmp case.default.0x455bd9
mov dword [esi + 8], 0x2d
jmp case.default.0x455bd9
mov dword [esi + 8], 0x2e
jmp case.default.0x455bd9
mov dword [esi + 8], 0x2f
jmp case.default.0x455bd9
mov dword [esi + 8], 0x30
jmp case.default.0x455bd9
mov dword [esi + 8], 0x2b
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp dword [esi + 8], 0x2b
je 0x4563f1
cmp dword [ebp - 0x48], 0
je 0x4563f1
call fcn.0044bc30
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x4563f1
mov ecx, dword [ebp - 0x48]
cmp ecx, 1
jne 0x455cbc
cmp eax, ecx
jne 0x455cbc
cmp dword [esi + 8], 0x34
jne 0x455cd1
mov eax, dword [esi + 8]
cmp eax, 0x30
jg 0x4560c3
cmp eax, 0x2c
jl 0x4560c3
xor edx, edx
cmp ecx, 1
mov ecx, edi
sete dl
call fcn.0044bde0
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.0044bde0
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.0x455d20
jmp dword [eax*4 + 0x4570b0]
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 0x455f70
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 0x455f70
push dword [ebp - 0x20]
push dword [ebp - 0x10]
push edi
push ecx
call fcn.0048bb10
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x455f70
cmp ecx, dword [ebp - 0x10]
jne 0x455d85
cmp edi, dword [ebp - 0x20]
jne 0x455d85
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
cmp ecx, dword [ebp - 0x10]
jne 0x455dc5
cmp edi, dword [ebp - 0x20]
jne 0x455dc5
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 0x455f70
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
cmp edi, dword [ebp - 0x20]
jl 0x455df9
jg 0x455de5
cmp ecx, dword [ebp - 0x10]
jbe 0x455df9
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
cmp edi, dword [ebp - 0x20]
jg 0x455e34
jl 0x455e20
cmp ecx, dword [ebp - 0x10]
jae 0x455e34
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
cmp edi, dword [ebp - 0x20]
jl 0x455e6f
jg 0x455e5b
cmp ecx, dword [ebp - 0x10]
jb 0x455e6f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
cmp edi, dword [ebp - 0x20]
jg 0x455eaa
jl 0x455e96
cmp ecx, dword [ebp - 0x10]
ja 0x455eaa
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
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 0x455f70
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 0x455f70
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 0x455f70
movq xmm1, qword [ebp - 0x88]
movd xmm0, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
psllq xmm1, xmm0
movq qword [esi], xmm1
jmp 0x455f70
mov eax, ecx
mov edx, edi
mov ecx, dword [ebp - 0x10]
call fcn.00494a20
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x455f70
mov edx, dword [ebp - 0x10]
mov eax, edx
or eax, dword [ebp - 0x20]
je case.default.0x456499
push dword [ebp - 0x20]
push edx
push edi
push ecx
call fcn.00494890
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x455f70
mov eax, ecx
or eax, edi
jne 0x456003
cmp dword [ebp - 0x20], eax
jg 0x456020
jl case.default.0x456499
cmp dword [ebp - 0x10], eax
jae 0x456020
mov dword [esi], 0x49bc4d
xor eax, eax
mov dword [esi + 8], eax
mov edi, dword [ebp - 0x34]
test edi, edi
je 0x455fa4
push esi
mov ecx, edi
call fcn.00473df0
test eax, eax
je 0x456e1f
mov al, byte [edi + 0x17]
test al, al
jne 0x455f97
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
je 0x455fa4
mov dword [esi + 8], 4
mov dword [esi], edi
cmp dword [esi + 0xc], 0
je 0x456aff
mov ecx, esi
call fcn.0044bc30
dec eax
je 0x456a38
dec eax
mov eax, dword [esi + 8]
je 0x456980
cmp eax, 6
je 0x456ae3
cmp eax, 4
jne 0x455fe9
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
jne 0x455fdf
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x456ae3
xor edx, edx
mov ecx, esi
call fcn.0044bed0
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x14], ecx
mov edi, ecx
jmp 0x4569e3
test edi, edi
jg 0x456020
jl 0x45600d
test ecx, ecx
jae 0x456020
neg ecx
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x2c], ecx
adc edi, 0
neg edi
jmp 0x456027
mov dword [ebp - 0x64], 0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
call fcn.00494e5f
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov edx, edi
movsd qword [esp], xmm0
call fcn.00494e5f
sub esp, 8
movsd qword [esp], xmm0
call fcn.0042e460
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 0x45608d
push 0
push 2
push dword [ebp - 0x20]
push edi
call fcn.00494940
or eax, edx
je 0x45608d
movsd xmm0, qword [ebp - 0x18]
xorpd xmm0, xmmword [0x4a43b0]
movsd qword [esi], xmm0
cmp dword [ebp - 0x20], 0
jg 0x4560a3
jl 0x456099
test edi, edi
jae 0x4560a3
mov eax, 2
jmp 0x455f70
movsd xmm0, qword [esi]
call fcn.00494cbf
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
jmp 0x455f70
mov eax, 1
jmp 0x455f70
xor eax, eax
mov edx, 1
cmp ecx, 2
mov ecx, edi
sete al
push eax
call fcn.0044be40
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.0044be40
mov ecx, dword [esi + 8]
add esp, 4
movsd qword [ebp - 0x78], xmm0
cmp ecx, 0x24
jl 0x456111
mov edi, 1
cmp ecx, 0x2a
jle 0x456116
mov edi, 2
lea eax, [ecx - 0x24]
cmp eax, 0x17
ja case.0x456129.43
movzx eax, byte [eax + 0x457140]
jmp dword [eax*4 + 0x457110]
addsd xmm0, qword [ebp - 0x18]
mov dword [esi + 8], edi
movsd qword [esi], xmm0
jmp 0x455f73
subsd xmm0, qword [ebp - 0x18]
mov dword [esi + 8], edi
movsd qword [esi], xmm0
jmp 0x455f73
mulsd xmm0, qword [ebp - 0x18]
mov dword [esi + 8], edi
movsd qword [esi], xmm0
jmp 0x455f73
movsd xmm1, qword [ebp - 0x18]
ucomisd xmm1, qword [0x4a4208]
lahf
test ah, 0x44
jp 0x456186
xor edi, edi
mov dword [esi], 0x49bc4d
mov dword [esi + 8], edi
jmp 0x455f73
divsd xmm0, xmm1
movsd qword [esi], xmm0
cmp ecx, 0x35
jne case.0x456129.43
sub esp, 8
movsd qword [esp], xmm0
call fcn.0042e4c0
fstp qword [esi]
mov dword [esi + 8], edi
jmp 0x455f73
ucomisd xmm0, qword [ebp - 0x18]
lahf
test ah, 0x44
jp 0x4561cd
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x455f73
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 0x455f73
ucomisd xmm0, qword [ebp - 0x18]
lahf
test ah, 0x44
jnp 0x456207
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x455f73
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 0x455f73
comisd xmm0, xmmword [ebp - 0x18]
jbe 0x45623d
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x455f73
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 0x455f73
movsd xmm1, qword [ebp - 0x18]
comisd xmm1, xmm0
jbe 0x456277
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x455f73
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 0x455f73
comisd xmm0, xmmword [ebp - 0x18]
jb 0x4562ad
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x455f73
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 0x455f73
movsd xmm1, qword [ebp - 0x18]
comisd xmm1, xmm0
jb 0x4562e7
mov eax, 1
mov dword [esi + 8], edi
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x455f73
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 0x455f73
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 0x456326
comisd xmm2, xmm1
ja 0x45635b
test ecx, ecx
je 0x456378
movsd xmm0, qword [0x4a4248]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call fcn.0042e4f0
fstp qword [ebp - 0x68]
movsd xmm0, qword [ebp - 0x68]
ucomisd xmm0, qword [0x4a4208]
lahf
test ah, 0x44
jnp 0x45636b
xor edi, edi
mov dword [esi], 0x49bc4d
mov dword [esi + 8], edi
jmp 0x455f73
movsd xmm0, qword [ebp - 0x78]
xorpd xmm0, xmmword [0x4a43b0]
movsd xmm1, qword [ebp - 0x18]
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.0042e460
cmp dword [ebp - 0x2c], 0
fstp qword [esi]
je case.0x456129.43
movsd xmm0, qword [0x4a4260]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x18]
movsd qword [esp], xmm0
call fcn.0042e4f0
sub esp, 8
fstp qword [esp]
call fcn.0042e450
fstp qword [ebp - 0x18]
movsd xmm0, qword [ebp - 0x18]
ucomisd xmm0, qword [0x4a4248]
lahf
test ah, 0x44
jp case.0x456129.43
movsd xmm0, qword [esi]
xorpd xmm0, xmmword [0x4a43b0]
movsd qword [esi], xmm0
mov dword [esi + 8], edi
jmp 0x455f73
mov eax, dword [esi + 8]
add eax, 0xffffffdc
cmp eax, 2
ja 0x456460
mov ecx, edi
call fcn.0044c050
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
call fcn.0044c050
mov edx, dword [ebp - 0x2c]
test edx, edx
jne 0x456419
test eax, eax
je 0x456460
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp dword [esi + 8], 0x26
setne al
cmp eax, ecx
jne 0x456441
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x455fa4
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 0x455fa4
lea edx, [ebp - 0xda8]
mov ecx, edi
call fcn.0044bed0
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x188]
mov dword [ebp - 0x10], eax
call fcn.0044bed0
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.0x456499
jmp dword [eax*4 + 0x457158]
mov eax, dword [0x4aa1d8]
push dword [ebp - 0x10]
push ecx
cmp byte [eax + 0xd2], 0
jne 0x4564bc
call fcn.00484212
add esp, 8
jmp 0x4564c2
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4564da
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
push dword [ebp - 0x10]
push ecx
call fcn.0048440c
add esp, 8
test eax, eax
jne 0x456519
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
mov eax, dword [0x4aa1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x45654e
call fcn.00484212
jmp 0x45655f
cmp al, 2
jne 0x45655a
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x456562
call fcn.0048440c
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 0x455f70
mov eax, dword [0x4aa1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x456593
call fcn.00484212
jmp 0x4565a4
cmp al, 2
jne 0x45659f
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x4565a7
call fcn.0048440c
add esp, 8
test eax, eax
jle 0x4565bf
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
mov eax, dword [0x4aa1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x4565f4
call fcn.00484212
jmp 0x456605
cmp al, 2
jne 0x456600
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x456608
call fcn.0048440c
add esp, 8
test eax, eax
jns 0x456620
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
mov eax, dword [0x4aa1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x456655
call fcn.00484212
jmp 0x456666
cmp al, 2
jne 0x456661
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x456669
call fcn.0048440c
add esp, 8
cmp eax, 0xffffffff
jle 0x456682
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
mov eax, dword [0x4aa1d8]
push dword [ebp - 0x10]
push ecx
mov al, byte [eax + 0xd2]
test al, al
jne 0x4566b7
call fcn.00484212
jmp 0x4566c8
cmp al, 2
jne 0x4566c3
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x4566cb
call fcn.0048440c
add esp, 8
cmp eax, 1
jge 0x4566e4
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], ecx
jmp 0x455f70
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 0x455f70
cmp dword [edi + 8], 4
jne 0x456716
mov ecx, dword [edi]
call fcn.004138c0
mov edx, dword [ebp - 0x10]
mov ecx, eax
mov dword [ebp - 0x20], eax
jmp 0x45672c
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 0x456720
sub ecx, edi
mov dword [ebp - 0x20], ecx
mov edi, dword [ebp - 0x34]
test edi, edi
je 0x456744
push ecx
push edx
mov ecx, edi
call fcn.00474af0
test eax, eax
jne 0x455f9b
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 4
jne 0x456758
mov ecx, dword [eax]
call fcn.004138c0
mov edi, eax
jmp 0x456769
mov edi, dword [ebp - 0x74]
lea ecx, [edi + 1]
mov edi, edi
mov al, byte [edi]
inc edi
test al, al
jne 0x456760
sub edi, ecx
mov eax, dword [ebp - 0x20]
inc eax
add eax, edi
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], eax
jne 0x4568bd
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
test edx, edx
je 0x4567a1
test ecx, ecx
jne 0x4567a1
cmp dword [eax + 0x18], 0x41
jne 0x4567a1
mov eax, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x64], 1
jmp 0x4567e9
cmp dword [eax + 0x18], 0x13
jne 0x4568bd
test ecx, ecx
je 0x4568bd
mov eax, dword [ebp + ecx*4 - 0xcac]
cmp dword [eax + 8], 4
jne 0x4568bd
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4567d9
mov eax, dword [eax + 0xc]
mov cl, byte [eax + 0x17]
mov eax, dword [ebp - 0x1c]
cmp cl, 1
jne 0x4568bd
mov dword [ebp - 0x64], 0
test eax, eax
je 0x4568bd
push 0
push 0
mov ecx, eax
call fcn.00401490
xor ecx, ecx
cmp eax, 0x4ae944
cmove eax, ecx
cmp eax, dword [ebp - 0x74]
jne 0x456858
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 0x10]
call fcn.00474af0
test eax, eax
je 0x4568bd
cmp dword [ebp - 0x64], 0
jne case.0x456d2a.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 0x455fa4
cmp eax, dword [ebp - 0x10]
je 0x4568bd
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
dec eax
push 1
push 0
push eax
push 0
call fcn.004744e0
test eax, eax
je 0x456e1f
mov ecx, dword [ebp - 0x1c]
push 0
push 1
call fcn.00401490
mov dword [ebp - 0x2c], eax
test edi, edi
je 0x456898
push edi
push dword [ebp - 0x74]
push eax
call fcn.0048cfd0
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.0048cfd0
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
push 0
call fcn.00413920
jmp 0x456821
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 0x4568dc
mov dword [esi], edx
add edx, ecx
mov dword [ebp - 0x5c], edx
jmp 0x45692e
cmp ecx, 0x1001
jae 0x456900
cmp dword [ebp - 0x4c], 0x9c40
jae 0x456900
mov eax, ecx
call fcn.0048eed0
mov eax, esp
mov dword [esi], eax
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x4c], eax
jmp 0x45692e
cmp dword [ebp - 0x38], 0xc8
je 0x456e0b
push ecx
call fcn.00484535
mov ecx, dword [ebp - 0x38]
add esp, 4
mov dword [esi], eax
mov dword [ebp + ecx*4 - 0x4a8], eax
test eax, eax
je 0x456e0b
inc ecx
mov dword [ebp - 0x38], ecx
test edi, edi
je 0x456940
push edi
push dword [ebp - 0x74]
push dword [esi]
call fcn.0048cfd0
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.0048cfd0
mov eax, dword [ebp - 0x28]
add esp, 0xc
cmp dword [eax + 8], 0
je 0x455f6e
mov eax, dword [ebp - 0x14]
cmp dword [eax + 8], 0
je 0x455f6e
mov eax, 5
mov dword [esi + 4], 0
jmp 0x455f70
dec eax
cmp eax, 5
ja case.0x456986.3
jmp dword [eax*4 + 0x457178]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00494e5f
jmp 0x4569cf
movsd xmm0, qword [esi]
jmp 0x4569cf
mov ecx, dword [esi]
push 1
call fcn.00413610
jmp 0x4569cf
mov ecx, dword [esi + 4]
test ecx, ecx
je case.0x456986.3
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.00494e5f
jmp 0x4569cf
push dword [esi]
call fcn.00486767
fstp qword [ebp - 0x18]
movsd xmm0, qword [ebp - 0x18]
add esp, 4
ucomisd xmm0, qword [0x4a4208]
lahf
test ah, 0x44
jp 0x456ae3
xor edi, edi
cmp dword [esi + 8], 6
jne 0x4569f1
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 0x456aed
mov edi, edi
xor eax, eax
cmp dword [ecx + 8], 0x21
sete al
cmp edi, eax
jne 0x456b3b
mov dword [ebp - 0x30], ecx
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x456a21
cmp dword [ecx + 8], 0x20
jne 0x456a00
mov eax, edi
mov dword [esi + 8], 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 0xc], ecx
jmp 0x455fa4
mov eax, dword [esi + 8]
dec eax
cmp eax, 5
ja case.0x456a41.3
jmp dword [eax*4 + 0x457190]
mov eax, dword [esi]
mov edx, dword [esi + 4]
jmp 0x456adb
mov edx, dword [esi + 4]
test edx, edx
je case.0x456a41.3
mov eax, dword [edx]
mov edx, dword [edx + 4]
jmp 0x456adb
movsd xmm0, qword [esi]
call fcn.00494cbf
jmp 0x456adb
mov ecx, dword [esi]
push 1
call fcn.004135a0
jmp 0x456adb
mov edi, dword [esi]
mov eax, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x456a8c
cmp cl, 9
jne 0x456a8f
inc eax
jmp 0x456a80
mov cl, byte [eax]
test cl, cl
je 0x456ad2
cmp cl, 0x2d
je 0x456a9f
cmp cl, 0x2b
jne 0x456aa0
inc eax
cmp byte [eax], 0x30
jne 0x456ad2
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x456ab2
cmp cl, 0x58
jne 0x456ad2
movsx eax, byte [eax + 2]
push eax
call fcn.00485e8d
add esp, 4
test eax, eax
je 0x456ad2
push 0x10
push 0
push edi
call fcn.00486675
add esp, 0xc
jmp 0x456adb
push edi
call fcn.00485c8c
add esp, 4
or eax, edx
je case.0x456a41.6
mov edi, 1
jmp 0x4569e3
test edi, edi
jne 0x456b3b
mov edi, dword [esi + 0xc]
mov edx, dword [ebp - 0x24]
add edi, 0x10
jmp 0x454ffa
mov edi, dword [ebp - 0x24]
cmp dword [ebp - 0x6c], edi
jle 0x456b2d
mov esi, dword [ebp - 0x6c]
lea ebx, [ebx]
mov eax, dword [ebp + esi*4 - 0xcac]
dec esi
cmp dword [eax + 8], 6
jne 0x456b26
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp esi, edi
jg 0x456b10
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 0x454ffa
mov eax, dword [esi]
push dword [eax + 0x18]
jmp 0x456e10
mov eax, dword [esi + 0xc]
test eax, eax
je 0x456b63
push eax
call fcn.004843d4
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je case.0x456d2a.6
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
call fcn.00474dc0
add esp, 4
mov edi, 0x49bc4d
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x456ba4
lea esp, [esp]
push dword [ebp + esi*4 - 0x4ac]
dec esi
call fcn.004843d4
add esp, 4
test esi, esi
jne 0x456b90
mov esi, dword [ebp - 0x6c]
test esi, esi
je 0x456bca
jmp 0x456bb0
mov eax, dword [ebp + esi*4 - 0xcac]
dec esi
cmp dword [eax + 8], 6
jne 0x456bc6
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
test esi, esi
jne 0x456bb0
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.0042cbc0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x456e1f
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
call fcn.00474dc0
mov eax, dword [ebp + 0xc]
add esp, 4
xor edi, edi
mov dword [eax], edi
jmp case.0x456d2a.3
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov edi, 0x49bc4d
cmp dword [eax], 1
mov dword [ebp - 4], 0xffffffff
cmovne edi, ecx
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je case.0x456d2a.3
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
call fcn.00474dc0
add esp, 4
jmp case.0x456d2a.3
mov eax, dword [ebp - 0x50]
mov al, byte [eax]
cmp al, 3
je case.0x456d2a.6
cmp edx, 1
jne 0x455165
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0xca8]
test ecx, ecx
je 0x456c92
push esi
call fcn.00473df0
test eax, eax
je 0x456e1f
jmp case.0x456d2a.6
cmp al, 0x11
je 0x456f11
cmp al, 0x6b
je 0x456f11
cmp al, 0x6c
je 0x456f11
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x456d16
mov eax, dword [esi + 8]
cmp eax, 1
je 0x456cff
cmp eax, 2
je 0x456cff
cmp eax, 6
je 0x456cff
cmp eax, 4
jne 0x456d16
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
jne 0x456cd3
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
je 0x456d16
mov dword [edx + 8], 6
mov ecx, dword [esi]
cmp byte [ecx + 0x17], 0
jne 0x456ceb
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, 0x49bc4d
jmp 0x456bcc
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, 0x49bc4d
jmp 0x456bcc
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
mov eax, dword [esi + 8]
mov dword [ebp - 0x54], edi
cmp eax, 6
ja case.0x456d2a.3
jmp dword [eax*4 + 0x4571a8]
push dword [esi + 4]
mov ecx, edi
push dword [esi]
call fcn.004012b0
mov ecx, eax
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456d45
sub ecx, edx
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0x14]
add dword [ecx], eax
jmp case.0x456d2a.3
mov eax, dword [0x4aa1d8]
sub esp, 8
movsd xmm0, qword [esi]
add eax, 0x74
movsd qword [esp], xmm0
push eax
push 0x100
push edi
call fcn.004715d0
mov ecx, dword [ebp + 0x14]
inc eax
add esp, 0x14
add dword [ecx], eax
jmp case.0x456d2a.3
cmp eax, 4
jne 0x456daa
mov ecx, dword [esi]
push 0
push 1
call fcn.00401490
mov ecx, dword [esi]
mov edi, eax
mov dword [ebp - 0x2c], eax
call fcn.004138c0
lea esi, [eax + 1]
jmp 0x456dc0
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 0x456db4
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 0x456ddf
mov ecx, eax
mov eax, dword [ebp + 0x24]
inc eax
add ecx, eax
cmp esi, ecx
jbe 0x456ef0
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
sub eax, ecx
add eax, esi
push eax
mov dword [ebp - 0x64], eax
call fcn.00484535
mov edi, eax
add esp, 4
mov dword [ebp + 0x24], edi
test edi, edi
jne 0x456e2b
push 0x49bc4d
mov ecx, dword [ebp - 0x50]
push 0
push str.Out_of_memory.
call fcn.0042cbc0
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [eax], edi
jmp case.0x456d2a.3
cmp dword [ebp - 0x64], 0x400000
mov esi, dword [0x4adbc8]
jbe 0x456e41
inc esi
mov dword [0x4adbc8], 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 0x456e60
push eax
push ecx
push edi
call fcn.0048cfd0
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.0048cfd0
mov eax, dword [ebp + 0x18]
add esp, 0xc
push dword [eax]
call fcn.004843d4
mov eax, dword [ebp + 0x1c]
add esp, 4
mov ecx, dword [eax]
cmp ecx, 0x400000
jbe 0x456e9a
dec esi
mov dword [0x4adbc8], 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 0x456ed6
mov edi, dword [ebp + 0x20]
mov edi, edi
mov edx, dword [edi + ecx*4]
mov esi, dword [esi]
cmp edx, esi
jb 0x456eca
cmp edx, eax
jae 0x456eca
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 0x456eb0
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.0x456d2a.3
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp eax, edi
je 0x456f04
push esi
push edi
push eax
call fcn.00484fa0
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp - 0x54]
add dword [eax], esi
jmp case.0x456d2a.3
mov eax, dword [esi + 8]
cmp eax, 6
ja case.0x456f1d.3
jmp dword [eax*4 + 0x4571c4]
mov eax, dword [esi]
or eax, dword [esi + 4]
je 0x456f44
mov eax, 1
mov edi, 0x49e628
test eax, eax
mov ecx, 0x49bc4d
cmove edi, ecx
jmp case.0x456d2a.3
xor eax, eax
mov edi, 0x49e628
test eax, eax
mov ecx, 0x49bc4d
cmove edi, ecx
jmp case.0x456d2a.3
movsd xmm0, qword [esi]
ucomisd xmm0, qword [0x4a4208]
lahf
test ah, 0x44
jnp 0x456f44
mov eax, 1
mov edi, 0x49e628
test eax, eax
mov ecx, 0x49bc4d
cmove edi, ecx
jmp case.0x456d2a.3
mov ecx, dword [esi + 4]
test ecx, ecx
je case.0x456f1d.0
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x456f44
mov eax, 1
mov edi, 0x49e628
test eax, eax
mov ecx, 0x49bc4d
cmove edi, ecx
jmp case.0x456d2a.3
mov ecx, dword [esi]
call fcn.0044ba30
test eax, eax
mov edi, 0x49e628
mov ecx, 0x49bc4d
cmove edi, ecx
jmp case.0x456d2a.3
mov ecx, dword [esi]
call fcn.0044bab0
test eax, eax
mov edi, 0x49e628
mov ecx, 0x49bc4d
cmove edi, ecx
jmp case.0x456d2a.3
mov eax, dword [ebp + 0x18]
mov edi, 0x49e628
test eax, eax
mov ecx, 0x49bc4d
cmove edi, ecx
jmp case.0x456d2a.3