Function at 0x456e80
Capabilities:
Check http status code

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a5da8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0xf90
mov edx, dword [ebx + 0x14]
mov eax, ecx
xor ecx, ecx
mov dword [ebp - 0x5c], eax
push esi
push edi
cmp byte [eax], 2
mov eax, dword [eax + 8]
cmove ecx, dword [0x4d3d98]
xor esi, esi
mov edx, dword [edx]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebx + 8]
add ecx, ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x64], esi
mov edi, dword [eax + ecx*8 + 0xc]
mov dword [ebp - 0x58], esi
cmp dword [edi + 8], 0x41
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c], edx
je 0x458cd5
mov eax, 0x10
call fcn.004a4980
movups xmm0, xmmword [edi]
mov edx, esp
mov dword [ebp - 0x14], edx
movups xmmword [edx], xmm0
mov esi, dword [edx + 8]
cmp esi, 8
jge 0x4572fb
cmp esi, 7
jne 0x457157
mov edi, dword [edx + 4]
test edi, edi
je 0x45710a
mov eax, dword [edx]
xor esi, esi
mov dword [edx], 0x4ac22c
mov dword [edx + 8], esi
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
cmp ecx, edi
jne 0x456f9c
movzx eax, word [eax + 0xa]
cmp word [edi + eax*2], si
mov eax, dword [ebp - 0x18]
jne 0x456f9c
cmp byte [eax + 0x14], 0
je 0x456f9c
mov edx, dword [eax + 4]
mov dword [ebp - 0x30], edx
cmp byte [edx + 0x17], 0
jne 0x456f6e
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
test byte [edx + 0x15], 2
mov edx, dword [ebp - 0x14]
je 0x456f9c
mov dword [edx + 8], 6
mov ecx, dword [eax + 4]
cmp byte [ecx + 0x17], 0
jne 0x456f8d
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov dword [edx], ecx
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x457157
test ecx, ecx
je 0x45701c
cmp edi, ecx
jae 0x456fc4
cmp esi, 0xfd
jae 0x456fcc
mov ax, word [edi]
add edi, 2
mov word [ebp + esi*2 - 0x280], ax
inc esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
cmp edi, ecx
jb 0x456fa4
cmp esi, 0xfd
jb 0x456fd4
cmp edi, ecx
jb 0x457058
mov ecx, dword [eax + 4]
push 0
call fcn.00475d60
mov ecx, 0xfd
sub ecx, esi
cmp eax, ecx
ja 0x457058
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x280]
lea eax, [eax + esi*2]
push eax
mov ecx, dword [ecx + 4]
call fcn.00475d60
add esi, eax
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 0xa]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x18]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
test ecx, ecx
jne 0x456fa0
mov edx, dword [ebp - 0x14]
movzx ecx, word [edi]
test cx, cx
je 0x457040
cmp esi, 0xfd
jae 0x457048
add edi, 2
mov word [ebp + esi*2 - 0x280], cx
inc esi
movzx ecx, word [edi]
test cx, cx
jne 0x457024
cmp esi, 0xfd
jb 0x45704e
cmp word [edi], 0
jne 0x457058
test esi, esi
jne 0x4570a6
cmp byte [eax + 8], 0
jne 0x4570a6
mov eax, dword [ebp - 0x18]
cmp dword [eax], 0
je 0x457068
add eax, 0xc
cmp dword [eax], 0
jne 0x457060
cmp byte [eax + 8], 0
je 0x457157
mov eax, dword [ebp - 0x68]
test eax, eax
je case.0x458da9.6
push 1
push 0
push 0xffffffffffffffff
mov edi, 0x4ac22c
mov ecx, eax
push edi
call fcn.00475930
test eax, eax
jne case.0x458da9.3
mov eax, dword [ebx + 0xc]
mov dword [eax], 0
jmp case.0x458da9.3
xor ecx, ecx
mov word [ebp + esi*2 - 0x280], cx
cmp byte [eax + 8], cl
je 0x4570e9
lea eax, [esi*2 + 2]
mov dword [edx + 8], ecx
call fcn.004a4700
mov esi, esp
lea ecx, [ebp - 0x280]
mov edx, esi
mov eax, ecx
sub edx, eax
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x4570d2
mov edi, dword [ebp - 0x14]
mov dword [edi], esi
jmp 0x45715a
push 3
push esi
lea eax, [ebp - 0x280]
mov ecx, 0x4d3ee0
push eax
call fcn.00420d30
test eax, eax
je 0x458eb1
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
mov ecx, dword [edx]
mov al, byte [ecx + 0x17]
mov byte [ebp - 0x5d], al
test al, al
jne 0x45711c
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
movzx eax, al
sub eax, 1
je 0x4571ed
sub eax, 3
jne 0x45721b
mov eax, dword [ecx + 0x10]
cmp eax, 0x444a10
jne 0x4571d0
mov ecx, dword [0x4ce8c8]
mov eax, dword [ecx + 8]
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
mov dword [edx + 4], eax
mov dword [edx + 8], 1
mov edi, dword [ebp - 0x14]
cmp dword [edi + 0xc], 0
je 0x458b2c
mov edx, 0x41
mov ecx, edi
call fcn.0044e530
mov edx, dword [ebp - 0x14]
mov esi, eax
cmp dword [edx + 8], 6
jne 0x457186
mov eax, dword [edx]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0xc]
mov edi, dword [ebp - 0x34]
cmp dword [ecx + 8], 0x20
je 0x458b19
xor eax, eax
cmp dword [ecx + 8], 0x21
sete al
cmp esi, eax
jne 0x458b1e
mov edi, ecx
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x34], edi
test ecx, ecx
je 0x4571b9
cmp dword [ecx + 8], 0x20
jne 0x457196
mov edi, dword [ebp - 0x14]
mov eax, esi
mov dword [edx + 8], 1
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 0xc], ecx
jmp 0x45715a
cmp eax, 0x445290
jne 0x45721b
mov eax, dword [0x4ce8c8]
mov eax, dword [eax + 0x38]
mov dword [edx], eax
mov dword [edx + 4], 0
jmp 0x457150
cmp dword [0x4d1ff0], 0
jne 0x4572ef
cmp byte [ebp - 0x5d], 0
jne 0x457205
mov eax, dword [ecx + 0xc]
jmp 0x457207
mov eax, ecx
test byte [eax + 0x15], 0xa
jne 0x4572ef
cmp dword [eax + 0xc], 0
jne 0x4572ef
push 0
call fcn.00475d60
lea esi, [eax + 1]
cmp esi, 1
jne 0x457250
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x45723c
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x4579e2
mov dword [edi + 8], 4
jmp 0x45715a
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 0x4c]
mov ecx, edx
sub ecx, dword [eax]
mov eax, dword [ebx + 0x1c]
sar ecx, 1
mov eax, dword [eax]
sub eax, ecx
cmp esi, eax
ja 0x457274
mov eax, edx
lea edx, [edx + esi*2]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x4c], edx
jmp 0x4572cc
cmp esi, 0x1001
jae 0x45729b
mov edi, dword [ebp - 0x58]
cmp edi, 0x9c40
jae 0x45729b
lea eax, [esi + esi]
call fcn.004a4700
mov eax, esp
add edi, esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x58], edi
jmp 0x4572cc
mov edi, dword [ebp - 0x3c]
cmp edi, 0xc8
je 0x458b7c
lea eax, [esi + esi]
push eax
call fcn.0048f3be
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp + edi*4 - 0x5a0], eax
test eax, eax
je 0x458b7c
inc edi
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x14]
push eax
mov ecx, dword [edi]
call fcn.00475d60
mov eax, dword [ebp - 0x30]
mov dword [edi], eax
mov dword [edi + 4], 0
mov dword [edi + 8], 5
jmp 0x45715a
mov dword [edx + 8], 4
jmp 0x457157
cmp esi, 0x3e
jne 0x4576ff
mov eax, dword [edx]
mov ecx, dword [eax + 4]
movzx esi, byte [eax + 9]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], ecx
cmp esi, eax
jg 0x457072
sub eax, esi
lea edi, [ebp - 0xda0]
mov dword [ebp - 0x2c], eax
lea edi, [edi + eax*4]
test ecx, ecx
jne 0x4573a9
test eax, eax
je 0x457072
mov ecx, dword [ebp + eax*4 - 0xda4]
dec eax
mov dword [ebp - 0x2c], eax
call fcn.0044ea30
mov ecx, eax
mov dword [ebp - 0x18], eax
test ecx, ecx
jne 0x457395
test esi, esi
je 0x45736a
lea eax, [esi*4]
push eax
lea eax, [edi + 4]
push edi
push eax
call fcn.0048cfe0
add esp, 0xc
inc dword [ebp - 0x64]
mov eax, 0x10
call fcn.004a4700
mov eax, esp
mov ecx, 0x4d01e8
mov dword [edi], eax
mov dword [ebp - 0x18], ecx
mov dword [eax + 8], 0
mov eax, dword [edi]
sub edi, 4
add esi, 2
mov dword [eax], 0x4ac22c
mov edx, dword [ebp - 0x14]
cmp esi, dword [ecx + 0x14]
jge 0x4573a9
mov eax, dword [edx]
cmp byte [eax + 8], 2
jne 0x457072
lea eax, [ebp - 0x280]
mov dword [ebp - 0x48], 0
mov dword [edx + 4], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x6c], eax
mov dword [edx + 0xc], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 4], 0
mov eax, dword [edx]
cmp byte [eax + 8], 2
sete al
movzx eax, al
push eax
push esi
mov esi, dword [ebx + 0xc]
lea eax, [ebp - 0x48]
push edi
push edx
push esi
push eax
call fcn.00459250
test al, al
je 0x458c9f
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5c]
mov dword [0x4d4510], edx
mov eax, dword [edi + 8]
cmp eax, 1
je 0x4576d0
cmp eax, 2
je 0x4576d0
cmp eax, 6
je 0x4576d0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
test ecx, ecx
jne 0x45744f
cmp dword [eax + 0x18], 0x41
jne 0x45744f
cmp byte [edx], 3
mov dword [ebp - 0x30], 1
je 0x458b89
mov esi, dword [ebp - 0x68]
jmp 0x457482
cmp dword [eax + 0x18], 0x13
mov dword [ebp - 0x30], 0
jne 0x457480
test ecx, ecx
je 0x457480
mov esi, dword [ebp + ecx*4 - 0xda4]
cmp dword [esi + 8], 4
jne 0x457480
mov esi, dword [esi]
mov al, byte [esi + 0x17]
test al, al
jne 0x45747c
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x457482
xor esi, esi
mov edx, dword [edi]
mov dword [ebp - 0x38], edx
test esi, esi
je 0x457555
mov eax, dword [0x4ce8c8]
mov ecx, dword [ebp - 0x18]
cmp dword [eax + 0xb4], ecx
jne 0x4574ac
mov al, byte [esi + 0x16]
and al, 0x22
cmp al, 2
je 0x457555
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
cmp ecx, edx
jne 0x4574c3
push dword [eax + 4]
push ecx
mov ecx, esi
call fcn.00476090
jmp 0x457521
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4574d0
sub ecx, edi
sar ecx, 1
cmp edx, dword [0x4d310c]
jne 0x45750b
cmp ecx, 0x40
jb 0x45750b
push ecx
push edx
mov ecx, esi
call fcn.00476090
mov dword [0x4d310c], 0
mov dword [0x4d3108], 0
jmp 0x457521
push 1
push 0
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.00475930
test eax, eax
je 0x458c33
cmp dword [ebp - 0x30], 0
jne 0x458c27
mov eax, dword [ebp - 0x34]
dec dword [ebp - 0x2c]
add eax, 0x10
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
mov dword [edi], esi
mov dword [edi + 8], 4
mov dword [ebp - 4], 6
jmp 0x4576dd
mov ecx, dword [edi + 0xc]
mov eax, 1
test ecx, ecx
je 0x457581
mov eax, dword [ebp - 0x3c]
cmp eax, 0xc8
je 0x458c63
mov dword [ebp + eax*4 - 0x5a0], ecx
inc eax
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp ecx, edx
setne al
mov ecx, dword [ebp - 0x6c]
mov dword [edi + 0xc], ecx
cmp word [edx], 0
jne 0x4575ad
mov dword [edi], 0x4ac22c
mov dword [edi + 8], 5
mov dword [edi + 4], 0
mov dword [ebp - 4], 8
jmp 0x4576dd
mov ecx, dword [ebp - 0x18]
cmp byte [ecx + 0x3d], 0
je 0x4575c3
mov esi, dword [ebp - 0x30]
xor esi, 1
test eax, eax
cmove esi, eax
jmp 0x4575f7
cmp edx, dword [0x4d310c]
jne 0x4575f2
xor esi, esi
cmp dword [ebp - 0x30], esi
jne 0x4575f7
mov ecx, dword [ebp - 0x34]
add ecx, 0x18
mov eax, dword [ecx]
cmp eax, 0x41
je 0x4575f7
nop
cmp eax, 0x3e
je 0x4575f2
mov eax, dword [ecx + 0x10]
add ecx, 0x10
cmp eax, 0x41
jne 0x4575e0
jmp 0x4575f7
mov esi, 1
mov dword [edi + 4], 0
mov dword [edi + 8], 5
test esi, esi
je 0x4576c5
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x457612
mov eax, dword [ebx + 0x18]
sub ecx, esi
sar ecx, 1
lea esi, [ecx + 1]
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [eax]
mov eax, dword [ebx + 0x1c]
sar ecx, 1
mov eax, dword [eax]
sub eax, ecx
cmp esi, eax
ja 0x45764f
add esi, esi
push esi
push edx
push dword [ebp - 0x4c]
call fcn.0048ea30
add esp, 0xc
mov dword [edi], eax
add dword [ebp - 0x4c], esi
jmp 0x4576c7
cmp esi, 0x1001
jae 0x457681
cmp dword [ebp - 0x58], 0x9c40
jae 0x457681
lea eax, [esi + esi]
call fcn.004a4700
mov ecx, esp
lea eax, [esi + esi]
push eax
push dword [ebp - 0x38]
push ecx
call fcn.0048ea30
add esp, 0xc
mov dword [edi], eax
add dword [ebp - 0x58], esi
jmp 0x4576c7
cmp dword [ebp - 0x3c], 0xc8
je 0x458c81
lea eax, [esi + esi]
push eax
call fcn.0048f3be
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x5a0], ecx
test ecx, ecx
je 0x458c81
lea eax, [esi + esi]
push eax
push dword [ebp - 0x38]
push ecx
call fcn.0048ea30
add esp, 0xc
mov dword [edi], eax
inc dword [ebp - 0x3c]
jmp 0x4576c7
mov dword [edi], edx
mov dword [ebp - 4], 0xa
jmp 0x4576dd
mov ecx, dword [ebp - 0x6c]
mov dword [edi + 0xc], ecx
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4576f3
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
call fcn.004762d0
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x45715a
cmp esi, 0x1f
jne 0x457738
cmp dword [edx + 0xc], 0
mov esi, dword [ebp - 0x2c]
je 0x458b71
test esi, esi
je 0x458b71
mov eax, dword [ebp + esi*4 - 0xda4]
dec esi
mov dword [ebp - 0x2c], esi
movups xmm0, xmmword [eax]
movups xmmword [edx], xmm0
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x14]
mov dword [edx + 0xc], eax
jmp 0x457164
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x457072
mov edi, dword [ebp + ecx*4 - 0xda4]
dec ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edi
cmp dword [edi + 8], 8
jge 0x457072
cmp esi, 0x20
jne 0x457786
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x457072
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
movups xmm0, xmmword [edi]
movups xmmword [edx], xmm0
mov dword [edi + 8], 1
jmp 0x457157
lea eax, [esi - 0x12]
cmp eax, 0x27
ja case.0x457795.20
movzx eax, byte [eax + 0x459098]
jmp dword [eax*4 + 0x459090]
mov ecx, edi
call fcn.0044e630
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov esi, dword [edx + 8]
lea eax, [esi - 9]
mov dword [ebp - 0x30], 0
cmp eax, 0x34
ja case.0x4577c9.11
movzx eax, byte [eax + 0x4590dc]
jmp dword [eax*4 + 0x4590c0]
mov edx, dword [ebp - 0x50]
mov ecx, edi
call fcn.0044e530
mov edi, dword [ebp - 0x14]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 1
jmp 0x45715a
mov edx, dword [ebp - 0x50]
mov ecx, edi
call fcn.0044e530
test eax, eax
jne 0x457814
mov edi, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
jmp 0x45715a
mov edi, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], 1
jmp 0x45715a
mov esi, dword [ebp - 0x50]
cmp esi, 1
jne 0x45785e
mov edx, esi
mov ecx, edi
call fcn.0044e6e0
mov edi, dword [ebp - 0x14]
neg eax
adc edx, 0
neg edx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x45715a
cmp esi, 2
jne 0x457a7e
push 1
xor edx, edx
mov ecx, edi
call fcn.0044e760
mov edi, dword [ebp - 0x14]
add esp, 4
xorps xmm0, xmmword [0x4c9700]
movsd qword [edi], xmm0
mov dword [edi + 8], esi
jmp 0x45715a
cmp dword [edi + 8], 4
jne 0x4579df
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x457987
cmp esi, 9
je 0x4578b1
mov dword [ebp - 0x18], 0xffffffff
cmp esi, 0x3c
jne 0x4578b8
mov dword [ebp - 0x18], 1
mov ecx, edi
cmp eax, 1
jne 0x4578f0
mov edx, eax
call fcn.0044e6e0
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 4], edx
cdq
add eax, dword [ecx]
adc edx, dword [ecx + 4]
mov ecx, dword [edi]
push edx
push eax
call fcn.00413560
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
jmp 0x457927
push 1
xor edx, edx
call fcn.0044e760
movd xmm1, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
cvtdq2pd xmm1, xmm1
movsd qword [edi], xmm0
mov ecx, dword [ecx]
movsd qword [ebp - 0x20], xmm1
addsd xmm1, xmm0
call fcn.00413580
movsd xmm1, qword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
cmp esi, 0x3c
jl 0x45797c
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov al, byte [ecx + 0x17]
test al, al
jne 0x45793e
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x457950
mov dword [edi], ecx
mov dword [edi + 8], 4
jmp 0x45715a
mov ecx, dword [ebp - 0x50]
cmp ecx, 1
jne 0x457968
mov eax, edx
mov dword [edi + 8], ecx
cdq
add dword [edi], eax
adc dword [edi + 4], edx
jmp 0x45715a
movsd xmm0, qword [edi]
addsd xmm0, xmm1
mov dword [edi + 8], ecx
movsd qword [edi], xmm0
jmp 0x45715a
mov eax, dword [ebp - 0x50]
mov dword [edi + 8], eax
jmp 0x45715a
mov ecx, dword [edi]
cmp byte [ecx + 0x17], 0
jne 0x457994
mov eax, dword [ecx + 0xc]
jmp 0x457996
mov eax, ecx
test byte [eax + 0x15], 4
je 0x4579a9
push ecx
mov ecx, 0x4d3ee0
call fcn.0042db20
mov ecx, dword [edi]
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.00475930
cmp esi, 0x3c
jl 0x4579df
mov ecx, dword [edi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x4579ca
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x4579df
mov edi, dword [ebp - 0x14]
mov dword [edi], ecx
mov dword [edi + 8], 4
jmp 0x45715a
mov edi, dword [ebp - 0x14]
mov dword [edi], 0x4ac22c
mov dword [edi + 8], 0
jmp 0x45715a
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x457a5b
mov ecx, dword [edi]
cmp byte [ecx + 0x17], 0
jne 0x457a09
mov eax, dword [ecx + 0xc]
jmp 0x457a0b
mov eax, ecx
test byte [eax + 0x15], 2
je 0x457a33
mov dword [edx + 8], 1
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x457a23
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edi, dword [ebp - 0x14]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x45715a
call fcn.00404ad0
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
push 0
push 1
mov dword [edi + 8], 1
mov ecx, dword [eax]
call fcn.00401c20
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x45715a
cmp eax, 6
jne 0x457a7e
mov dword [edx + 8], 1
mov eax, dword [edi]
mov edi, dword [ebp - 0x14]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x45715a
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x457a90
mov dword [edx], 0x4ac22c
mov dword [edx + 8], 0
jmp 0x457157
xor edx, edx
mov ecx, edi
cmp eax, 1
sete dl
call fcn.0044e6e0
mov edi, dword [ebp - 0x14]
cmp dword [edi + 8], 0x38
jne 0x457adf
test edx, edx
ja 0x457aca
jb 0x457ab3
cmp eax, 0xffffffff
ja 0x457aca
not eax
mov dword [edi + 4], 0
mov dword [edi], eax
mov dword [edi + 8], 1
jmp 0x45715a
not eax
mov dword [edi + 8], 1
not edx
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x45715a
cmp eax, 0x1000
jae 0x457b05
xorps xmm0, xmm0
mov dword [edi + 8], 1
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], edx
mov dword [edi], eax
jmp 0x45715a
movzx eax, byte [eax]
cdq
mov dword [edi + 4], edx
mov dword [edi], eax
mov dword [edi + 8], 1
jmp 0x45715a
test ecx, ecx
je 0x457072
mov eax, dword [ebp + ecx*4 - 0xda4]
dec ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 8]
cmp ecx, 8
jge 0x457072
cmp esi, 0x12
jne 0x457b67
movups xmm0, xmmword [eax]
mov eax, dword [ebp - 0x34]
movups xmmword [edx], xmm0
cmp dword [edx + 8], 6
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
jne 0x457157
mov eax, dword [edx]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x457157
mov eax, esi
cmp esi, 0x1e
jg 0x457ce9
cmp esi, 0x13
jl 0x457ce9
cmp ecx, 4
je 0x457b92
mov dword [edx], 0x4ac22c
mov dword [edx + 8], 0
jmp 0x457157
lea ecx, [esi - 0x13]
mov eax, esi
cmp ecx, 0xb
ja case.default.0x457ba0
jmp dword [ecx*4 + 0x459114]
mov esi, dword [ebp - 0x18]
push edi
mov ecx, dword [esi]
call fcn.00475220
test eax, eax
je 0x458eb1
mov ecx, dword [esi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x457bc9
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
jne 0x4579ce
movups xmm0, xmmword [edi]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
movups xmmword [edi], xmm0
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
jmp 0x45715a
mov ecx, dword [ebp - 0x18]
mov eax, 0x31
mov dword [edx + 8], 0x31
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x32
mov dword [edx + 8], 0x32
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x33
mov dword [edx + 8], 0x33
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x34
mov dword [edx + 8], 0x34
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x35
mov dword [edx + 8], 0x35
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x2c
mov dword [edx + 8], 0x2c
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x2d
mov dword [edx + 8], 0x2d
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x2e
mov dword [edx + 8], 0x2e
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x2f
mov dword [edx + 8], 0x2f
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
mov eax, 0x30
mov dword [edx + 8], 0x30
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov dword [edx + 8], 0x2b
mov eax, 0x2b
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
jmp 0x457cec
mov ecx, dword [ebp - 0x18]
cmp eax, 0x2b
je 0x4583eb
cmp dword [ebp - 0x50], 0
je 0x4583eb
call fcn.0044e630
mov esi, eax
test esi, esi
je 0x4583eb
mov ecx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x14]
cmp ecx, 1
jne 0x457d23
cmp esi, ecx
jne 0x457d23
cmp dword [edi + 8], 0x34
jne 0x457d32
mov eax, dword [edi + 8]
sub eax, 0x2c
cmp eax, 4
ja 0x45809a
xor edx, edx
cmp ecx, 1
mov ecx, dword [ebp - 0x28]
sete dl
call fcn.0044e6e0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
xor edx, edx
cmp esi, 1
mov dword [ebp - 0x24], eax
sete dl
call fcn.0044e6e0
mov ecx, eax
mov dword [ebp - 0x18], 1
mov eax, dword [edi + 8]
mov esi, edx
add eax, 0xffffffdc
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], esi
cmp eax, 0x17
ja case.default.0x457d7b
jmp dword [eax*4 + 0x459144]
add ecx, dword [ebp - 0x24]
mov dword [edi], ecx
adc esi, dword [ebp - 0x28]
mov dword [edi + 4], esi
mov eax, dword [ebp - 0x18]
jmp 0x458ad8
sub ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
sbb esi, dword [ebp - 0x28]
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x458ad8
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push esi
push ecx
call fcn.004a4680
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], edx
jmp 0x458ad8
cmp ecx, dword [ebp - 0x24]
jne 0x457de0
cmp esi, dword [ebp - 0x28]
jne 0x457de0
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
cmp ecx, dword [ebp - 0x24]
jne 0x457e20
cmp esi, dword [ebp - 0x28]
jne 0x457e20
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
cmp esi, dword [ebp - 0x28]
jl 0x457e54
jg 0x457e40
cmp ecx, dword [ebp - 0x24]
jbe 0x457e54
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
cmp esi, dword [ebp - 0x28]
jg 0x457e8f
jl 0x457e7b
cmp ecx, dword [ebp - 0x24]
jae 0x457e8f
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
cmp esi, dword [ebp - 0x28]
jl 0x457eca
jg 0x457eb6
cmp ecx, dword [ebp - 0x24]
jb 0x457eca
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
cmp esi, dword [ebp - 0x28]
jg 0x457f05
jl 0x457ef1
cmp ecx, dword [ebp - 0x24]
ja 0x457f05
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], ecx
jmp 0x458ad8
and ecx, dword [ebp - 0x24]
and esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x458ad8
or ecx, dword [ebp - 0x24]
or esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x458ad8
xor ecx, dword [ebp - 0x24]
xor esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp 0x458ad8
movq xmm1, qword [ebp - 0x80]
movd xmm0, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
psllq xmm1, xmm0
movq qword [edi], xmm1
jmp 0x458ad8
mov eax, ecx
mov edx, esi
mov ecx, dword [ebp - 0x24]
call fcn.004a4ce0
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], edx
jmp 0x458ad8
mov edx, dword [ebp - 0x24]
mov eax, edx
or eax, dword [ebp - 0x28]
je 0x458ad0
push dword [ebp - 0x28]
push edx
push esi
push ecx
call fcn.004a4730
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], edx
jmp 0x458ad8
mov eax, ecx
or eax, esi
jne 0x458052
cmp dword [ebp - 0x28], eax
jg 0x457fd0
jl 0x458ad0
cmp dword [ebp - 0x24], eax
jb 0x458ad0
mov dword [ebp - 0x6c], 0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
call fcn.004a50d0
mov ecx, dword [ebp - 0x38]
sub esp, 8
mov edx, esi
movsd qword [esp], xmm0
call fcn.004a50d0
sub esp, 8
movsd qword [esp], xmm0
call fcn.0042ee10
cmp dword [ebp - 0x6c], 0
mov esi, dword [ebp - 0x24]
fstp qword [ebp - 0x20]
movsd xmm0, qword [ebp - 0x20]
movsd qword [ebp - 0x20], xmm0
movsd qword [edi], xmm0
je 0x45803c
push 0
push 2
push dword [ebp - 0x28]
push esi
call fcn.004a48c0
or eax, edx
je 0x45803c
movsd xmm0, qword [ebp - 0x20]
xorps xmm0, xmmword [0x4c9700]
movsd qword [edi], xmm0
cmp dword [ebp - 0x28], 0
jg 0x45807a
jl 0x458048
test esi, esi
jae 0x45807a
mov eax, 2
jmp 0x458ad8
test esi, esi
jg 0x457fd0
jl 0x458064
test ecx, ecx
jae 0x457fd0
neg ecx
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x38], ecx
adc esi, 0
neg esi
jmp 0x457fd7
movsd xmm0, qword [edi]
call fcn.004a4f7f
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], edx
jmp 0x458ad8
mov eax, 1
jmp 0x458ad8
xor eax, eax
mov edx, 1
cmp ecx, 2
mov ecx, dword [ebp - 0x28]
sete al
push eax
call fcn.0044e760
mov ecx, dword [ebp - 0x18]
xor eax, eax
add esp, 4
movsd qword [ebp - 0x20], xmm0
cmp esi, 2
mov edx, 1
sete al
push eax
call fcn.0044e760
mov edx, dword [edi + 8]
mov ecx, 6
add esp, 4
movsd qword [ebp - 0x78], xmm0
lea eax, [edx - 0x24]
cmp ecx, eax
sbb ecx, ecx
neg ecx
inc ecx
mov dword [ebp - 0x54], ecx
mov esi, ecx
cmp eax, 0x17
ja case.0x4580fd.43
movzx eax, byte [eax + 0x4591d4]
jmp dword [eax*4 + 0x4591a4]
addsd xmm0, qword [ebp - 0x20]
mov esi, ecx
mov dword [edi + 8], esi
movsd qword [edi], xmm0
jmp 0x458adb
subsd xmm0, qword [ebp - 0x20]
mov esi, ecx
mov dword [edi + 8], esi
movsd qword [edi], xmm0
jmp 0x458adb
mulsd xmm0, qword [ebp - 0x20]
mov esi, ecx
mov dword [edi + 8], esi
movsd qword [edi], xmm0
jmp 0x458adb
movsd xmm1, qword [ebp - 0x20]
ucomisd xmm1, qword [0x4c9558]
lahf
test ah, 0x44
jp 0x458160
xor esi, esi
mov dword [edi], 0x4ac22c
mov dword [edi + 8], esi
jmp 0x458adb
mov esi, ecx
divsd xmm0, xmm1
movsd qword [edi], xmm0
cmp edx, 0x35
jne case.0x4580fd.43
sub esp, 8
movsd qword [esp], xmm0
call fcn.0042ee70
mov esi, dword [ebp - 0x54]
fstp qword [edi]
mov dword [edi + 8], esi
jmp 0x458adb
ucomisd xmm0, qword [ebp - 0x20]
lahf
test ah, 0x44
jp 0x4581ae
mov eax, 1
xor edx, edx
mov esi, ecx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
xorps xmm0, xmm0
mov esi, ecx
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
ucomisd xmm0, qword [ebp - 0x20]
lahf
test ah, 0x44
jnp 0x4581ec
mov eax, 1
xor edx, edx
mov esi, ecx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
xorps xmm0, xmm0
mov esi, ecx
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
comisd xmm0, xmmword [ebp - 0x20]
jbe 0x458226
mov eax, 1
xor edx, edx
mov esi, ecx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
xorps xmm0, xmm0
mov esi, ecx
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
movsd xmm1, qword [ebp - 0x20]
comisd xmm1, xmm0
jbe 0x458264
mov eax, 1
xor edx, edx
mov esi, ecx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
xorps xmm0, xmm0
mov esi, ecx
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
comisd xmm0, xmmword [ebp - 0x20]
jb 0x45829e
mov eax, 1
xor edx, edx
mov esi, ecx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
xorps xmm0, xmm0
mov esi, ecx
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
movsd xmm1, qword [ebp - 0x20]
comisd xmm1, xmm0
jb 0x4582dc
mov eax, 1
xor edx, edx
mov esi, ecx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
xorps xmm0, xmm0
mov esi, ecx
movlpd qword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
jmp 0x458adb
movsd xmm1, qword [ebp - 0x20]
xor ecx, ecx
xorps xmm2, xmm2
comisd xmm2, xmm0
seta cl
ucomisd xmm0, xmm2
mov dword [ebp - 0x38], ecx
lahf
test ah, 0x44
jp 0x45831d
comisd xmm2, xmm1
ja 0x458352
test ecx, ecx
je 0x45836e
movsd xmm0, qword [0x4c9598]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call fcn.0042eea0
fstp qword [ebp - 0x70]
movsd xmm0, qword [ebp - 0x70]
ucomisd xmm0, qword [0x4c9558]
lahf
test ah, 0x44
jnp 0x458362
xor esi, esi
mov dword [edi], 0x4ac22c
mov dword [edi + 8], esi
jmp 0x458adb
movsd xmm0, qword [ebp - 0x78]
xorps xmm0, xmmword [0x4c9700]
movsd xmm1, qword [ebp - 0x20]
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.0042ee10
cmp dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x54]
mov esi, eax
fstp qword [edi]
je case.0x4580fd.43
movsd xmm0, qword [0x4c95b0]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x20]
movsd qword [esp], xmm0
call fcn.0042eea0
sub esp, 8
fstp qword [esp]
call fcn.0042ee00
fstp qword [ebp - 0x20]
movsd xmm0, qword [ebp - 0x20]
ucomisd xmm0, qword [0x4c9598]
lahf
test ah, 0x44
jp case.0x4580fd.43
movsd xmm0, qword [edi]
xorps xmm0, xmmword [0x4c9700]
movsd qword [edi], xmm0
mov dword [edi + 8], esi
jmp 0x458adb
mov edi, dword [ebp - 0x14]
mov eax, dword [edi + 8]
add eax, 0xffffffdc
cmp eax, 2
ja 0x45845a
mov ecx, dword [ebp - 0x28]
call fcn.0044e9e0
mov ecx, dword [ebp - 0x18]
mov esi, eax
call fcn.0044e9e0
test esi, esi
jne 0x458413
test eax, eax
je 0x45845a
xor ecx, ecx
cmp esi, eax
sete cl
xor eax, eax
cmp dword [edi + 8], 0x26
setne al
cmp eax, ecx
jne 0x45843b
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
jmp 0x45715a
xorps xmm0, xmm0
mov dword [edi + 8], 1
movlpd qword [ebp - 0x20], xmm0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x45715a
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0xfa0]
call fcn.0044e820
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x280]
mov esi, eax
call fcn.0044e820
mov edi, eax
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
add eax, 0xffffffdc
cmp eax, 7
ja case.default.0x458493
jmp dword [eax*4 + 0x4591ec]
mov eax, dword [0x4ce8c8]
push esi
push edi
cmp byte [eax + 0xf2], 0
jne 0x4584b4
call fcn.0048f253
add esp, 8
jmp 0x4584ba
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4584d5
mov edi, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov edi, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov ax, word [edi]
cmp ax, word [esi]
jne 0x458519
test ax, ax
je 0x458515
mov ax, word [edi + 2]
cmp ax, word [esi + 2]
jne 0x458519
add edi, 4
add esi, 4
test ax, ax
jne case.0x458493.37
xor eax, eax
jmp 0x45851e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x458539
mov edi, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov edi, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov eax, dword [0x4ce8c8]
mov al, byte [eax + 0xf2]
test al, al
jne 0x458574
push esi
push edi
call fcn.0048f253
add esp, 8
mov ecx, eax
jmp 0x4585af
cmp al, 2
jne 0x458584
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, eax
jmp 0x4585af
mov ax, word [edi]
cmp ax, word [esi]
jne 0x4585aa
test ax, ax
je 0x4585a6
mov ax, word [edi + 2]
cmp ax, word [esi + 2]
jne 0x4585aa
add edi, 4
add esi, 4
test ax, ax
jne 0x458584
xor ecx, ecx
jmp 0x4585af
sbb ecx, ecx
or ecx, 1
mov edi, dword [ebp - 0x14]
xor eax, eax
test ecx, ecx
setne al
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], 0
jmp 0x458ad8
mov eax, dword [0x4ce8c8]
mov al, byte [eax + 0xf2]
test al, al
jne 0x4585e5
push esi
push edi
call fcn.0048f253
add esp, 8
jmp 0x45861e
cmp al, 2
jne 0x4585f3
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x45861e
mov ax, word [edi]
cmp ax, word [esi]
jne 0x458619
test ax, ax
je 0x458615
mov ax, word [edi + 2]
cmp ax, word [esi + 2]
jne 0x458619
add edi, 4
add esi, 4
test ax, ax
jne 0x4585f3
xor eax, eax
jmp 0x45861e
sbb eax, eax
or eax, 1
test eax, eax
jle 0x458639
mov edi, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov edi, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov eax, dword [0x4ce8c8]
mov al, byte [eax + 0xf2]
test al, al
jne 0x458672
push esi
push edi
call fcn.0048f253
add esp, 8
jmp 0x4586ab
cmp al, 2
jne 0x458680
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x4586ab
mov ax, word [edi]
cmp ax, word [esi]
jne 0x4586a6
test ax, ax
je 0x4586a2
mov ax, word [edi + 2]
cmp ax, word [esi + 2]
jne 0x4586a6
add edi, 4
add esi, 4
test ax, ax
jne 0x458680
xor eax, eax
jmp 0x4586ab
sbb eax, eax
or eax, 1
test eax, eax
jns 0x4586c6
mov edi, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov edi, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov eax, dword [0x4ce8c8]
mov al, byte [eax + 0xf2]
test al, al
jne 0x4586ff
push esi
push edi
call fcn.0048f253
add esp, 8
jmp 0x45873b
cmp al, 2
jne 0x458710
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x45873b
mov ax, word [edi]
cmp ax, word [esi]
jne 0x458736
test ax, ax
je 0x458732
mov ax, word [edi + 2]
cmp ax, word [esi + 2]
jne 0x458736
add edi, 4
add esi, 4
test ax, ax
jne 0x458710
xor eax, eax
jmp 0x45873b
sbb eax, eax
or eax, 1
cmp eax, 0xffffffff
jle 0x458757
mov edi, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov edi, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov eax, dword [0x4ce8c8]
mov al, byte [eax + 0xf2]
test al, al
jne 0x458790
push esi
push edi
call fcn.0048f253
add esp, 8
jmp 0x4587cb
cmp al, 2
jne 0x4587a0
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x4587cb
mov ax, word [edi]
cmp ax, word [esi]
jne 0x4587c6
test ax, ax
je 0x4587c2
mov ax, word [edi + 2]
cmp ax, word [esi + 2]
jne 0x4587c6
add edi, 4
add esi, 4
test ax, ax
jne 0x4587a0
xor eax, eax
jmp 0x4587cb
sbb eax, eax
or eax, 1
cmp eax, 1
jge 0x4587e7
mov edi, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov edi, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], ecx
jmp 0x458ad8
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 4
jne 0x45881c
mov ecx, dword [eax]
call fcn.00413b30
mov ecx, eax
mov dword [ebp - 0x74], eax
jmp 0x458833
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x458821
sub ecx, edx
sar ecx, 1
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x45885b
push ecx
push esi
mov ecx, eax
call fcn.00476000
test eax, eax
je 0x45885b
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov dword [edi], eax
mov dword [edi + 8], 4
jmp 0x45715a
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 4
jne 0x458872
mov ecx, dword [eax]
call fcn.00413b30
mov ecx, eax
mov dword [ebp - 0x54], eax
jmp 0x458889
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x458877
sub ecx, edx
sar ecx, 1
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x74]
add eax, ecx
cmp dword [ebp - 0x30], 0
mov dword [ebp - 0x38], eax
jne 0x4589e6
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
test edx, edx
je 0x4588c0
test ecx, ecx
jne 0x4588c0
cmp dword [eax + 0x18], 0x41
jne 0x4588c0
mov eax, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x6c], 1
jmp 0x458908
cmp dword [eax + 0x18], 0x13
jne 0x4589e6
test ecx, ecx
je 0x4589e6
mov eax, dword [ebp + ecx*4 - 0xda4]
cmp dword [eax + 8], 4
jne 0x4589e6
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4588f8
mov eax, dword [eax + 0xc]
mov cl, byte [eax + 0x17]
mov eax, dword [ebp - 0x24]
cmp cl, 1
jne 0x4589e6
mov dword [ebp - 0x6c], 0
test eax, eax
je 0x4589e6
push 0
push 0
mov ecx, eax
call fcn.00401c20
xor ecx, ecx
cmp eax, 0x4d3e58
cmove eax, ecx
cmp eax, edi
jne 0x458977
push dword [ebp - 0x74]
mov ecx, dword [ebp - 0x24]
push esi
call fcn.00476000
test eax, eax
je 0x4589e6
cmp dword [ebp - 0x6c], 0
jne case.0x458da9.6
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x14]
add eax, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + eax*4 - 0xda0]
mov eax, dword [eax]
mov dword [edi], eax
mov dword [edi + 8], 4
jmp 0x45715a
cmp eax, esi
je 0x4589e6
mov ecx, dword [ebp - 0x24]
push 1
push 0
push dword [ebp - 0x38]
push 0
call fcn.00475930
test eax, eax
je 0x458eb1
mov ecx, dword [ebp - 0x24]
push 0
push 1
call fcn.00401c20
mov ecx, eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], ecx
test eax, eax
je 0x4589bc
add eax, eax
push eax
push edi
push ecx
call fcn.0048ea30
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov eax, dword [ebp - 0x74]
lea eax, [eax*2 + 2]
push eax
mov eax, dword [ebp - 0x54]
push esi
lea eax, [ecx + eax*2]
push eax
call fcn.0048ea30
mov ecx, dword [ebp - 0x24]
add esp, 0xc
push 0
call fcn.00413c00
jmp 0x45893d
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [eax]
mov eax, dword [ebx + 0x1c]
sar ecx, 1
mov eax, dword [eax]
sub eax, ecx
mov ecx, dword [ebp - 0x38]
inc ecx
cmp ecx, eax
ja 0x458a12
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
lea edx, [edx + ecx*2]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x1c]
jmp 0x458a71
cmp ecx, 0x1001
jae 0x458a3b
cmp dword [ebp - 0x58], 0x9c40
jae 0x458a3b
lea eax, [ecx + ecx]
call fcn.004a4700
mov eax, dword [ebp - 0x14]
mov edx, esp
mov dword [eax], edx
mov eax, dword [ebp - 0x38]
inc eax
add dword [ebp - 0x58], eax
jmp 0x458a71
cmp dword [ebp - 0x3c], 0xc8
je 0x458e9d
lea eax, [ecx + ecx]
push eax
call fcn.0048f3be
mov ecx, dword [ebp - 0x3c]
mov edx, eax
mov eax, dword [ebp - 0x14]
add esp, 4
mov dword [ebp + ecx*4 - 0x5a0], edx
mov dword [eax], edx
test edx, edx
je 0x458e9d
inc ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x458a8a
add eax, eax
push eax
push edi
push edx
call fcn.0048ea30
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov edx, dword [eax]
mov eax, dword [ebp - 0x74]
lea eax, [eax*2 + 2]
push eax
mov eax, dword [ebp - 0x54]
push esi
lea eax, [edx + eax*2]
push eax
call fcn.0048ea30
mov eax, dword [ebp - 0x18]
add esp, 0xc
cmp dword [eax + 8], 0
je 0x458ac8
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 0
je 0x458ac8
mov edi, dword [ebp - 0x14]
mov eax, 5
mov dword [edi + 4], 0
jmp 0x458ad8
mov edi, dword [ebp - 0x14]
jmp 0x458ad6
mov edi, dword [ebp - 0x14]
mov dword [edi], 0x4ac22c
xor eax, eax
mov dword [edi + 8], eax
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x45715a
push edi
mov ecx, esi
call fcn.00475220
test eax, eax
je 0x458eb1
mov al, byte [esi + 0x17]
test al, al
jne 0x458b03
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
je 0x45715a
mov dword [edi], esi
mov dword [edi + 8], 4
jmp 0x45715a
test esi, esi
cmove edi, ecx
mov esi, dword [ebp - 0x2c]
add edi, 0x10
mov edx, dword [ebp - 0x4c]
jmp 0x456eee
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x64]
cmp eax, esi
jle 0x458b60
nop word [eax + eax]
dec eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + eax*4 - 0xda0]
cmp dword [eax + 8], 6
jne 0x458b59
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x64]
cmp eax, esi
jg 0x458b40
mov dword [ebp + esi*4 - 0xda0], edi
inc esi
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x64], esi
mov edx, dword [ebp - 0x4c]
add edi, 0x10
jmp 0x456eee
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
push dword [eax + 0x18]
jmp 0x458ea2
mov eax, dword [edi + 0xc]
test eax, eax
je 0x458b99
push eax
call fcn.004914e4
add esp, 4
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x458bb6
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
call fcn.004762d0
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov edi, 0x4ac22c
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x458be4
nop dword [eax]
push dword [ebp + esi*4 - 0x5a4]
dec esi
call fcn.004914e4
add esp, 4
test esi, esi
jne 0x458bd0
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x458c0a
nop dword [eax + eax]
mov eax, dword [ebp + esi*4 - 0xda4]
dec esi
cmp dword [eax + 8], 6
jne 0x458c06
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
test esi, esi
jne 0x458bf0
mov eax, edi
lea esp, [ebp - 0xfa8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x20
mov dword [ebp - 4], 5
jmp 0x458ba0
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x458c50
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
call fcn.004762d0
add esp, 4
mov eax, dword [ebx + 0xc]
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov dword [eax], edi
jmp case.0x458da9.3
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x5c]
push dword [eax + 4]
push 0
push str.Out_of_memory.
call fcn.0042d1e0
mov dword [ebp - 4], 7
jmp 0x458c3a
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x5c]
push dword [eax + 4]
push 0
push str.Out_of_memory.
call fcn.0042d1e0
mov dword [ebp - 4], 9
jmp 0x458c3a
xor eax, eax
mov dword [ebp - 4], 1
cmp dword [esi], 1
mov edi, 0x4ac22c
mov ecx, dword [ebp - 0x48]
cmovne edi, eax
test ecx, ecx
je 0x458cc9
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
call fcn.004762d0
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp case.0x458da9.3
mov eax, dword [ebp - 0x5c]
mov al, byte [eax]
cmp al, 3
je case.0x458da9.6
cmp esi, 1
jne 0x457072
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0xda0]
test ecx, ecx
je 0x458d0b
push esi
call fcn.00475220
test eax, eax
je 0x458eb1
jmp case.0x458da9.6
cmp al, 0x11
je 0x458fa5
cmp al, 0x6b
je 0x458fa5
cmp al, 0x6c
je 0x458fa5
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x458d95
mov eax, dword [esi + 8]
cmp eax, 1
je 0x458d7e
cmp eax, 2
je 0x458d7e
cmp eax, 6
je 0x458d7e
cmp eax, 4
jne 0x458d95
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
lea ecx, [eax + 0xc]
cmovne ecx, esi
mov eax, dword [ecx]
test byte [eax + 0x15], 2
je 0x458d95
mov dword [edx + 8], 6
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
lea ecx, [eax + 0xc]
cmovne ecx, esi
mov eax, dword [ecx]
mov ecx, dword [eax]
mov dword [edx], ecx
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x4ac22c
jmp 0x458c0c
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, 0x4ac22c
jmp 0x458c0c
mov eax, dword [ebx + 0x14]
mov edi, dword [eax]
mov eax, dword [esi + 8]
mov dword [ebp - 0x30], edi
cmp eax, 6
ja case.0x458da9.3
jmp dword [eax*4 + 0x45920c]
push dword [esi + 4]
mov ecx, edi
push dword [esi]
call fcn.00401a30
mov ecx, eax
add esp, 8
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x458dc4
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
mov ecx, dword [ebx + 0x14]
add dword [ecx], eax
jmp case.0x458da9.3
mov eax, dword [0x4ce8c8]
sub esp, 8
movsd xmm0, qword [esi]
add eax, 0x74
movsd qword [esp], xmm0
push eax
push pe_nt_image_headers32
push edi
call fcn.00472ce0
mov ecx, dword [ebx + 0x14]
add eax, eax
add eax, 2
add esp, 0x14
add dword [ecx], eax
jmp case.0x458da9.3
cmp eax, 4
jne 0x458e37
mov ecx, dword [esi]
push 0
push 1
call fcn.00401c20
mov ecx, dword [esi]
mov edi, eax
mov dword [ebp - 0x38], eax
call fcn.00413b30
lea esi, [eax + 1]
jmp 0x458e53
mov edi, dword [esi]
mov ecx, edi
mov dword [ebp - 0x38], edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x458e41
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebx + 8]
add ecx, ecx
mov dword [ebp - 0x6c], esi
mov eax, dword [eax + 8]
movzx eax, word [eax + ecx*8 + 2]
mov ecx, 0xff
cmp ax, cx
jb 0x458e72
mov ecx, eax
mov eax, dword [ebx + 0x24]
inc eax
add ecx, eax
cmp esi, ecx
jbe 0x458f7e
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax]
sub eax, ecx
add eax, esi
mov dword [ebp - 0x68], eax
add eax, eax
push eax
call fcn.0048f3be
mov edi, eax
add esp, 4
test edi, edi
jne 0x458ebd
push 0x4ac22c
mov ecx, dword [ebp - 0x5c]
push 0
push str.Out_of_memory.
call fcn.0042d1e0
mov eax, dword [ebx + 0xc]
xor edi, edi
mov dword [eax], edi
jmp case.0x458da9.3
cmp dword [ebp - 0x68], 0x400000
jbe 0x458ecc
inc dword [0x4d3104]
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax]
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
sub eax, ecx
sar eax, 1
mov dword [ebp - 0x1c], eax
je 0x458eef
add eax, eax
push eax
push ecx
push edi
call fcn.0048ea30
mov eax, dword [ebp - 0x1c]
add esp, 0xc
lea ecx, [edi + eax*2]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x30], ecx
mov dword [eax], ecx
lea eax, [esi + esi]
push eax
push dword [ebp - 0x38]
push ecx
call fcn.0048ea30
mov eax, dword [ebx + 0x18]
add esp, 0xc
push dword [eax]
call fcn.004914e4
mov eax, dword [ebx + 0x1c]
add esp, 4
mov ecx, dword [eax]
cmp ecx, 0x400000
jbe 0x458f2a
dec dword [0x4d3104]
mov edx, dword [ebx + 0x18]
mov eax, dword [edx]
lea eax, [eax + ecx*2]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebx + 8], ecx
jle 0x458f64
mov esi, dword [ebx + 0x20]
nop
mov eax, dword [esi + ecx*4]
mov edx, dword [edx]
cmp eax, edx
jb 0x458f58
cmp eax, dword [ebp - 0x1c]
jae 0x458f58
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2]
mov dword [esi + ecx*4], eax
mov edx, dword [ebx + 0x18]
inc ecx
cmp ecx, dword [ebx + 8]
jl 0x458f40
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebp - 0x68]
mov dword [edx], edi
mov edi, dword [ebp - 0x30]
mov dword [ecx], eax
lea eax, [esi + esi]
mov ecx, dword [ebx + 0x14]
add dword [ecx], eax
jmp case.0x458da9.3
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax]
cmp ecx, edi
je 0x458f95
lea eax, [esi + esi]
push eax
push edi
push ecx
call fcn.0048cfe0
add esp, 0xc
mov ecx, dword [ebx + 0x14]
lea eax, [esi + esi]
mov edi, dword [ebp - 0x30]
add dword [ecx], eax
jmp case.0x458da9.3
mov eax, dword [esi + 8]
cmp eax, 6
ja case.0x458fb1.3
jmp dword [eax*4 + 0x459228]
mov eax, dword [esi]
or eax, dword [esi + 4]
je 0x458fd8
mov eax, 1
mov edi, 0x4bf994
test eax, eax
mov ecx, 0x4ac22c
cmove edi, ecx
jmp case.0x458da9.3
xor eax, eax
mov edi, 0x4bf994
test eax, eax
mov ecx, 0x4ac22c
cmove edi, ecx
jmp case.0x458da9.3
movsd xmm0, qword [esi]
ucomisd xmm0, qword [0x4c9558]
lahf
test ah, 0x44
jnp 0x458fd8
mov eax, 1
mov edi, 0x4bf994
test eax, eax
mov ecx, 0x4ac22c
cmove edi, ecx
jmp case.0x458da9.3
mov ecx, dword [esi + 4]
test ecx, ecx
je case.0x458fb1.0
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x458fd8
mov eax, 1
mov edi, 0x4bf994
test eax, eax
mov ecx, 0x4ac22c
cmove edi, ecx
jmp case.0x458da9.3
mov ecx, dword [esi]
call fcn.0044e410
test eax, eax
mov edi, 0x4bf994
mov ecx, 0x4ac22c
cmove edi, ecx
jmp case.0x458da9.3
mov ecx, dword [esi]
call fcn.0044e490
test eax, eax
mov edi, 0x4bf994
mov ecx, 0x4ac22c
cmove edi, ecx
jmp case.0x458da9.3
mov eax, dword [ebp - 0x1c]
mov edi, 0x4bf994
test eax, eax
mov ecx, 0x4ac22c
cmove edi, ecx
jmp case.0x458da9.3