Function at 0x40a250
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x62bcc0]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebx + 0x108]
push 0x61551c
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x2c], eax
call fcn.00500b90
add esp, 8
test eax, eax
je 0x40a508
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, esi
mov dword [ebp - 8], 0
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x28]
adc edx, edi
push eax
mov dword [ebp - 0x44], edx
movups xmmword [ebp - 0x28], xmm0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
movss xmm1, dword [ebx + 0xcac]
lea eax, [ebp - 0x50]
movss xmm2, dword [ebx + 0xcb0]
movsd xmm0, qword [0x6182b0]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
inc esi
movsd qword [esp], xmm0
add edi, 0x76c
sub esp, 0x10
mov edx, esi
cvtps2pd xmm1, xmm1
mov ecx, edi
cvtps2pd xmm2, xmm2
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm2
push eax
lea eax, [ebp - 0x48]
push eax
push 1
push dword [ebp - 0x1c]
call fcn.00410410
movsd xmm1, qword [0x617f38]
add esp, 0x28
movsd xmm2, qword [0x618238]
test eax, eax
jne 0x40a373
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, xmm1
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
movsd xmm0, qword [ebp - 0x50]
addsd xmm0, xmm1
mov dword [ebp - 0x68], eax
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [ebp - 0x6c], eax
movsd xmm0, qword [0x6182e0]
lea eax, [ebp - 0x50]
sub esp, 0x18
mov edx, esi
mov ecx, edi
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [ebx + 0xcac]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0xcb0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x48]
push eax
push 0
push dword [ebp - 0x1c]
call fcn.00410410
add esp, 0x28
test eax, eax
jne 0x40a3fa
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [0x617f38]
mulsd xmm0, qword [0x618238]
cvttsd2si eax, xmm0
movsd xmm0, qword [ebp - 0x50]
addsd xmm0, qword [0x617f38]
mov dword [ebp - 0x70], eax
mulsd xmm0, qword [0x618238]
cvttsd2si eax, xmm0
mov dword [ebp - 0x74], eax
movsd xmm0, qword [0x6182f0]
lea eax, [ebp - 0x50]
sub esp, 0x18
mov edx, esi
mov ecx, edi
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [ebx + 0xcac]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0xcb0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x48]
push eax
push 0
push dword [ebp - 0x1c]
call fcn.00410410
add esp, 0x28
test eax, eax
jne 0x40a481
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [0x617f38]
mulsd xmm0, qword [0x618238]
cvttsd2si eax, xmm0
movsd xmm0, qword [ebp - 0x50]
addsd xmm0, qword [0x617f38]
mov dword [ebp - 0x78], eax
mulsd xmm0, qword [0x618238]
cvttsd2si eax, xmm0
mov dword [ebp - 0x7c], eax
movsd xmm0, qword [0x6182f8]
lea eax, [ebp - 0x50]
sub esp, 0x18
mov edx, esi
mov ecx, edi
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [ebx + 0xcac]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0xcb0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x48]
push eax
push 0
push dword [ebp - 0x1c]
call fcn.00410410
add esp, 0x28
test eax, eax
jne 0x40a508
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [0x617f38]
mulsd xmm0, qword [0x618238]
cvttsd2si eax, xmm0
movsd xmm0, qword [ebp - 0x50]
addsd xmm0, qword [0x617f38]
mov dword [ebp - 0x80], eax
mulsd xmm0, qword [0x618238]
cvttsd2si eax, xmm0
mov dword [ebp - 0x5c], eax
mov dword [ebx + 0x104], 0
lea edi, [ebx + 0x20c]
mov byte [edi], 0
mov ax, word [0x615520]
mov word [ebp - 0x54], ax
mov al, byte [0x615522]
push 0
mov byte [ebp - 0x52], al
call fcn.0050e3e0
mov ecx, dword [0x63575c]
add esp, 4
sub eax, dword [ebx + 0xce0]
mov esi, edx
mov dword [ebp - 0x44], eax
mov eax, ecx
sbb esi, dword [ebx + 0xce4]
shl eax, 4
sub eax, ecx
shl eax, 2
cdq
cmp esi, edx
jg 0x40a56e
jl 0x40a564
cmp dword [ebp - 0x44], eax
ja 0x40a56e
mov eax, dword [ebx + 0xcc0]
mov dl, 1
jmp 0x40a575
xor dl, dl
mov eax, 0x4a
mov esi, dword [ebp - 0x2c]
mov dword [ebx + 0xcc4], eax
mov byte [ebp - 0x31], dl
mov cl, byte [esi]
test cl, cl
je 0x40c0ba
movsd xmm6, qword [0x618070]
movsd xmm1, qword [0x618080]
movsd xmm5, qword [0x6180a8]
movsd xmm4, qword [0x618148]
movsd xmm3, qword [0x618068]
movss xmm2, dword [0x6182a0]
cmp cl, 0xd
jne 0x40a5f8
cmp byte [esi + 1], 0xa
jne 0x40a5f8
mov byte [edi], 0
add esi, 2
mov eax, dword [ebx + 0x104]
inc eax
mov dword [ebp - 0x2c], esi
mov dword [ebx + 0x104], eax
cmp eax, 8
jge 0x40c0b0
imul edi, eax, 0x104
add edi, 0x20c
add edi, ebx
jmp 0x40c0a2
cmp byte [esi], 0x23
jne 0x40c099
mov cl, byte [esi + 1]
cmp cl, 0x43
jne 0x40a7a3
mov al, byte [esi + 2]
cmp al, cl
jne 0x40a663
cmp byte [esi + 3], 0x49
jne 0x40a6b3
push 0xffffffffffffffff
lea eax, [ebx + 0xa6c]
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a650
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x53
jne 0x40a6b3
cmp byte [esi + 3], 0x54
jne 0x40a703
push 0xffffffffffffffff
lea eax, [ebx + 0xba0]
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a6a0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x43
jne 0x40a74b
cmp byte [esi + 3], 0x4f
jne 0x40a707
push 0xffffffffffffffff
lea eax, [ebx + 0xb34]
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a6f0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x43
jne 0x40a74b
cmp byte [esi + 3], 0x43
jne 0x40a74b
push 0xffffffffffffffff
lea eax, [ebx + 0xb98]
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a738
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov al, byte [esi + 2]
cmp al, 0x49
jne 0x40a813
cmp byte [esi + 3], 0x43
jne 0x40a813
push 0xffffffffffffffff
lea eax, [ebx + 0xca2]
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a790
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp cl, 0x54
jne 0x40a8c3
mov al, byte [esi + 2]
cmp al, cl
jne 0x40a813
cmp byte [esi + 3], 0x4d
jne 0x40a813
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
cdq
add eax, dword [ebp - 0x38]
push 0xffffffffffffffff
adc edx, dword [ebp - 0x3c]
push ecx
push edx
push eax
call fcn.00409c80
add esp, 0xc
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a800
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp cl, 0x54
jne 0x40a8c3
cmp al, 0x32
jne 0x40a8c3
cmp byte [esi + 3], 0x34
jne 0x40a8c3
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x84], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
push dword [ebp - 0x24]
push dword [ebp - 0x20]
push str._02d:_02d
push 0x104
push 0xa14f70
call fcn.00407c20
imul eax, dword [ebx + 0x104], 0x104
add esp, 0x1c
push 0xffffffffffffffff
sub eax, edi
add eax, 0x310
push 0xa14f70
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a8b0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov al, byte [esi + 1]
cmp al, 0x54
jne 0x40aa03
mov al, byte [esi + 2]
cmp al, 0x41
jne 0x40a9b3
cmp byte [esi + 3], 0x50
jne 0x40a9b3
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x90]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x8c], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
mov ecx, dword [ebp - 0x20]
add esp, 8
cmp ecx, 0x17
ja 0x40a948
xor edx, edx
mov eax, 0xc
cmp ecx, 0xb
setg dl
test ecx, ecx
cmove ecx, eax
mov eax, ecx
cmp eax, 0xc
lea ecx, [eax - 0xc]
cmovle ecx, eax
jmp 0x40a94b
or edx, 0xffffffff
test edx, edx
mov eax, 0x6154cc
mov edx, 0x6154d0
cmovne eax, edx
push eax
push dword [ebp - 0x24]
push ecx
push str._02d:_02d__s
push 0x104
push 0xa14f70
call fcn.00407c20
imul eax, dword [ebx + 0x104], 0x104
push 0xffffffffffffffff
push 0xa14f70
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x28
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a9a0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x54
jne 0x40ace3
cmp byte [esi + 3], 0x5a
jne 0x40ace3
push 0xffffffffffffffff
lea eax, [ebx + 0xc9a]
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a9f0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x44
jne 0x40ace3
cmp byte [esi + 2], al
jne 0x40aae3
cmp byte [esi + 3], 0x54
jne 0x40aae3
mov eax, dword [ebp - 0x64]
xorps xmm0, xmm0
cmp dword [0x635528], 1
movups xmmword [ebp - 0x28], xmm0
sete bl
mov dword [ebp - 8], 0
mov eax, dword [eax + 0xcb8]
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x98]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x94], edx
push eax
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
add eax, 0x76c
mov ecx, dword [ebp - 0x1c]
inc edx
push eax
test bl, bl
mov eax, edx
cmovne eax, ecx
cmovne ecx, edx
push eax
push ecx
mov ecx, str._02d._02d._04d
mov eax, str._02d__02d__04d
cmove eax, ecx
push eax
push 0x104
push 0xa14d60
call fcn.00407c20
mov ebx, dword [ebp - 0x64]
push 0xffffffffffffffff
push 0xa14d60
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x30
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aad0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov al, byte [esi + 2]
cmp al, 0x44
jne 0x40ab93
cmp byte [esi + 3], al
jne 0x40ac43
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa0]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x9c], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
mov eax, dword [ebp - 0x14]
add eax, 0x76c
push eax
mov eax, dword [ebp - 0x18]
inc eax
push eax
push dword [ebp - 0x1c]
push str._02d._02d._04d
push 0x104
push 0xa14d60
call fcn.00407c20
imul eax, dword [ebx + 0x104], 0x104
push 0xffffffffffffffff
push 0xa14d60
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x30
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ab80
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x4d
jne 0x40ac43
cmp byte [esi + 3], al
jne 0x40ace3
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa8]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0xa4], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
mov eax, dword [ebp - 0x14]
add eax, 0x76c
push eax
push dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
inc eax
push eax
push str._02d__02d__04d
push 0x104
push 0xa14d60
call fcn.00407c20
imul eax, dword [ebx + 0x104], 0x104
push 0xffffffffffffffff
push 0xa14d60
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x30
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac30
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x44
jne 0x40ace3
cmp byte [esi + 3], 0x59
jne 0x40ace3
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb0]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0xac], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
push dword [ebp - 0x1c]
push str._02d
push 0x104
push 0xa15078
call fcn.00407c20
imul eax, dword [ebx + 0x104], 0x104
push 0xffffffffffffffff
push 0xa15078
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x28
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40acd0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov cl, byte [esi + 1]
cmp cl, 0x44
jne 0x40af8a
mov al, byte [esi + 2]
cmp al, 0x4d
jne 0x40ad94
cmp byte [esi + 3], 0x4f
jne 0x40ae3a
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xb8]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0xb4], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
mov eax, dword [ebp - 0x18]
inc eax
push eax
push str._02d
push 0x104
push 0xa15078
call fcn.00407c20
imul eax, dword [ebx + 0x104], 0x104
push 0xffffffffffffffff
push 0xa15078
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x28
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ad81
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x59
jne 0x40ae3a
cmp byte [esi + 3], 0x52
jne 0x40aee3
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xc0]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0xbc], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
mov eax, dword [ebp - 0x14]
add eax, 0x76c
push eax
push str._04d
push 0x104
push 0xa15078
call fcn.00407c20
imul eax, dword [ebx + 0x104], 0x104
push 0xffffffffffffffff
push 0xa15078
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x28
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ae27
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x57
jne 0x40aee3
cmp byte [esi + 3], 0x33
jne 0x40aee3
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xc8]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0xc4], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
mov edx, dword [ebp - 0x18]
add esp, 8
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
add eax, 0x76c
push 0xffffffffffffffff
push 0
push eax
lea edx, [edx + 1]
call fcn.00409d50
add esp, 8
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aed0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov al, byte [esi + 2]
cmp al, 0x57
jne 0x40b003
cmp byte [esi + 3], 0x44
jne 0x40b003
mov eax, dword [ebx + 0xcb8]
xorps xmm0, xmm0
cdq
add eax, dword [ebp - 0x38]
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xd0]
adc edx, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0xcc], edx
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
call fcn.005098ae
mov edx, dword [ebp - 0x18]
add esp, 8
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
add eax, 0x76c
push 0xffffffffffffffff
push 1
push eax
lea edx, [edx + 1]
call fcn.00409d50
add esp, 8
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40af77
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp cl, 0x53
jne 0x40b074
mov al, byte [esi + 2]
cmp al, cl
jne 0x40b003
cmp byte [esi + 3], 0x52
jne 0x40b003
mov edx, dword [ebp - 0x68]
test edx, edx
je 0x40afc6
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
add eax, edx
cdq
push edx
push eax
call fcn.00409c80
add esp, 8
jmp 0x40afcb
mov eax, 0x615524
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aff0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp cl, 0x53
jne 0x40b074
cmp al, cl
jne 0x40b074
cmp byte [esi + 3], cl
jne 0x40b074
mov edx, dword [ebp - 0x6c]
test edx, edx
je 0x40b037
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
add eax, edx
cdq
push edx
push eax
call fcn.00409c80
add esp, 8
jmp 0x40b03c
mov eax, 0x615524
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b061
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 1], 0x53
jne 0x40b325
mov al, byte [esi + 2]
cmp al, 0x43
jne 0x40b163
cmp byte [esi + 3], 0x52
jne 0x40b0f3
mov edx, dword [ebp - 0x70]
test edx, edx
je 0x40b0b5
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
add eax, edx
cdq
push edx
push eax
call fcn.00409c80
add esp, 8
jmp 0x40b0ba
mov eax, 0x615524
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b0e0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 3], 0x53
jne 0x40b1d3
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x40b123
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
add eax, edx
cdq
push edx
push eax
call fcn.00409c80
add esp, 8
jmp 0x40b128
mov eax, 0x615524
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b150
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x4e
jne 0x40b1d3
cmp byte [esi + 3], 0x52
jne 0x40b1d3
mov edx, dword [ebp - 0x78]
test edx, edx
je 0x40b193
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
add eax, edx
cdq
push edx
push eax
call fcn.00409c80
add esp, 8
jmp 0x40b198
mov eax, 0x615524
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b1c0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov al, byte [esi + 2]
cmp al, 0x4e
jne 0x40b247
cmp byte [esi + 3], 0x53
jne 0x40b2b8
mov edx, dword [ebp - 0x7c]
test edx, edx
je 0x40b20a
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
add eax, edx
cdq
push edx
push eax
call fcn.00409c80
add esp, 8
jmp 0x40b20f
mov eax, 0x615524
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b234
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x41
jne 0x40b325
cmp byte [esi + 3], 0x52
jne 0x40b2bc
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x40b27b
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
add eax, edx
cdq
push edx
push eax
call fcn.00409c80
add esp, 8
jmp 0x40b280
mov eax, 0x615524
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b2a5
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x41
jne 0x40b325
cmp byte [esi + 3], 0x53
jne 0x40b325
mov edx, dword [ebp - 0x5c]
test edx, edx
je 0x40b2e8
cmp dword [0x635524], 1
mov eax, dword [ebx + 0xcb8]
sete cl
add eax, edx
cdq
push edx
push eax
call fcn.00409c80
add esp, 8
jmp 0x40b2ed
mov eax, 0x615524
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b312
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 1], 0x57
jne 0x40b9f3
cmp byte [esi + 2], 0x54
jne 0x40b4d3
cmp byte [esi + 3], 0x50
jne 0x40b3e7
test dl, dl
je 0x40b3aa
movss xmm0, dword [ebx + 0xcbc]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40b35d
movaps xmm0, xmm2
jmp 0x40b37f
mov eax, dword [0x635758]
test eax, eax
je 0x40b37f
cmp eax, 1
jne 0x40b37c
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
jmp 0x40b37f
xorps xmm0, xmm0
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40b3af
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b3d4
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 3], 0x55
jne 0x40b446
mov ecx, dword [0x635758]
test ecx, ecx
jne 0x40b3fe
mov eax, 0x616c94
jmp 0x40b40e
cmp ecx, 1
mov eax, 0x616c98
mov ecx, 0x615266
cmovne eax, ecx
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b433
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 3], 0x43
jne 0x40b4d3
test dl, dl
je 0x40b493
movss xmm0, dword [ebx + 0xcbc]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40b468
movaps xmm0, xmm2
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40b498
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b4c0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov al, byte [esi + 2]
cmp al, 0x54
jne 0x40b579
cmp byte [esi + 3], 0x46
jne 0x40b5d9
test dl, dl
je 0x40b53c
movss xmm0, dword [ebx + 0xcbc]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40b502
movaps xmm0, xmm2
jmp 0x40b511
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40b541
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b566
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x44
jne 0x40b635
cmp byte [esi + 3], 0x53
jne 0x40b5dd
test dl, dl
je 0x40b59c
imul eax, dword [ebx + 0xcc4], 0xa4
add eax, 0x63248c
jmp 0x40b5a1
mov eax, 0x61552c
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b5c6
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x44
jne 0x40b635
cmp byte [esi + 3], 0x4c
jne 0x40b635
test dl, dl
je 0x40b5f8
imul eax, dword [ebx + 0xcc4], 0xa4
add eax, str.Thunderstorm_with_light_rain
jmp 0x40b5fd
mov eax, 0x61552c
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b622
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 1], 0x57
jne 0x40b9f3
cmp byte [esi + 2], 0x57
jne 0x40b9f3
cmp byte [esi + 3], 0x49
jne 0x40b71b
test dl, dl
je 0x40b6de
movss xmm0, dword [ebx + 0xcc8]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40b671
movaps xmm0, xmm2
jmp 0x40b6b3
mov eax, dword [0x63552c]
test eax, eax
je 0x40b6b3
cmp eax, 1
jne 0x40b68c
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm5
cvtpd2ps xmm0, xmm0
jmp 0x40b6b3
cmp eax, 2
jne 0x40b69e
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
jmp 0x40b6b3
cmp eax, 3
jne 0x40b6b0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
jmp 0x40b6b3
xorps xmm0, xmm0
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40b6e3
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b708
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 3], 0x55
jne 0x40b796
mov ecx, dword [0x63552c]
test ecx, ecx
jne 0x40b736
mov eax, 0x616c9c
jmp 0x40b75e
cmp ecx, 1
jne 0x40b742
mov eax, str.km_h
jmp 0x40b75e
cmp ecx, 2
jne 0x40b74e
mov eax, 0x616ca8
jmp 0x40b75e
cmp ecx, 3
mov eax, str.knots
mov ecx, 0x615266
cmovne eax, ecx
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b783
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 3], 0x31
jne 0x40b823
test dl, dl
je 0x40b7e3
movss xmm0, dword [ebx + 0xcc8]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40b7b8
movaps xmm0, xmm2
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40b7e8
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b810
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 2], 0x57
jne 0x40b9f3
cmp byte [esi + 3], 0x32
jne 0x40b8c4
test dl, dl
je 0x40b887
movss xmm0, dword [ebx + 0xcc8]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40b851
movaps xmm0, xmm2
jmp 0x40b85c
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm5
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40b88c
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b8b1
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 3], 0x33
jne 0x40b95b
test dl, dl
je 0x40b91e
movss xmm0, dword [ebx + 0xcc8]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40b8e8
movaps xmm0, xmm2
jmp 0x40b8f3
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40b923
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b948
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 3], 0x34
jne 0x40b9f3
test dl, dl
je 0x40b9b5
movss xmm0, dword [ebx + 0xcc8]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40b97f
movaps xmm0, xmm2
jmp 0x40b98a
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40b9ba
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b9e0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov cl, byte [esi + 1]
cmp cl, 0x57
jne 0x40bd13
mov al, byte [esi + 2]
cmp al, cl
jne 0x40bc03
cmp byte [esi + 3], 0x44
jne 0x40ba88
test dl, dl
je 0x40ba4b
movss xmm0, dword [ebx + 0xccc]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40ba50
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ba75
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp byte [esi + 3], 0x43
jne 0x40bc89
test dl, dl
je 0x40bbc3
movss xmm0, dword [ebx + 0xcc8]
movss xmm1, dword [ebx + 0xcbc]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40bab8
movaps xmm0, xmm2
jmp 0x40bac3
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm5
cvtpd2ps xmm0, xmm0
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x40bb65
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x40bb65
cvtps2pd xmm0, xmm0
cvtps2pd xmm3, xmm1
comisd xmm0, xmmword [0x6180b8]
movsd qword [ebp - 0x48], xmm3
jbe 0x40bb57
movss xmm5, dword [0x618270]
comiss xmm5, xmm1
jb 0x40bb57
movsd xmm1, qword [0x617fa8]
call fcn.00514b30
movsd xmm3, qword [ebp - 0x48]
movaps xmm1, xmm0
mulsd xmm1, qword [0x618100]
movaps xmm2, xmm3
mulsd xmm2, qword [0x617fe0]
mulsd xmm3, qword [0x617fc0]
movsd xmm4, qword [0x618148]
addsd xmm2, qword [0x618110]
mulsd xmm3, xmm0
subsd xmm2, xmm1
addsd xmm3, xmm2
movss xmm2, dword [0x6182a0]
cvtpd2ps xmm0, xmm3
movsd xmm3, qword [0x618068]
jmp 0x40bb68
movaps xmm0, xmm2
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x40bb76
movaps xmm0, xmm2
jmp 0x40bb98
mov eax, dword [0x635758]
test eax, eax
je 0x40bb98
cmp eax, 1
jne 0x40bb95
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
jmp 0x40bb98
xorps xmm0, xmm0
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 1
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40bbc8
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bbf0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp al, 0x48
jne 0x40bc89
cmp byte [esi + 3], 0x55
jne 0x40bc89
test dl, dl
je 0x40bc4c
movss xmm0, dword [ebx + 0xcd0]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40bc51
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bc76
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov al, byte [esi + 2]
cmp al, 0x41
jne 0x40bd65
cmp byte [esi + 3], 0x50
jne 0x40bd65
test dl, dl
je 0x40bcd5
movss xmm0, dword [ebx + 0xcd4]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0
push str._.f
push 0x104
push 0xa14e68
call fcn.00407c20
add esp, 0x18
mov eax, 0xa14e68
jmp 0x40bcda
mov eax, 0x615528
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bd00
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp cl, 0x4c
jne 0x40bdb3
mov al, byte [esi + 2]
cmp al, 0x48
jne 0x40bd65
cmp byte [esi + 3], 0x4d
jne 0x40bd65
imul eax, dword [ebx + 0x104], 0x104
push 0xffffffffffffffff
push 0x615530
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bd52
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
cmp cl, 0x4c
jne 0x40bdb3
cmp al, 0x48
jne 0x40bdb3
cmp byte [esi + 3], 0x50
jne 0x40bdb3
imul eax, dword [ebx + 0x104], 0x104
push 0xffffffffffffffff
push 0x615534
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bda0
sub ecx, edx
add edi, ecx
add esi, 4
jmp 0x40c09f
mov al, byte [esi + 1]
cmp al, 0x4c
jne 0x40be13
cmp byte [esi + 2], 0x4a
jne 0x40c099
cmp byte [esi + 3], al
jne 0x40bdf5
imul eax, dword [ebx + 0x104], 0x104
mov byte [eax + ebx + 0x30f], 1
imul eax, dword [ebx + 0x104], 0x104
add esi, 4
mov byte [eax + ebx + 0x30e], 0
jmp 0x40c09f
cmp byte [esi + 3], 0x52
jne 0x40c099
imul eax, dword [ebx + 0x104], 0x104
mov byte [eax + ebx + 0x30f], 2
jmp 0x40bddb
cmp al, 0x57
jne 0x40beed
cmp byte [esi + 2], 0x53
jne 0x40c099
cmp byte [esi + 3], 0x53
jne 0x40c099
movsx eax, byte [esi + 4]
push eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
call fcn.00504b20
add esp, 4
test eax, eax
je 0x40be5f
movsx eax, byte [esi + 4]
sub eax, 0x30
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x2c], eax
movsx eax, byte [esi + 5]
push eax
call fcn.00504b20
add esp, 4
test eax, eax
je 0x40be86
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 5]
lea eax, [eax + ecx*2]
add eax, 0xffffffd0
inc dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
movsx eax, byte [esi + 6]
push eax
call fcn.00504b20
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x2c]
je 0x40beaa
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 6]
lea eax, [eax + ecx*2]
add eax, 0xffffffd0
inc dword [ebp - 0x30]
mov byte [ebp - 0x53], al
lea eax, [ebp - 0x54]
push 0xffffffffffffffff
push eax
imul eax, dword [ebx + 0x104], 0x104
sub eax, edi
add eax, 0x310
add eax, ebx
push eax
push edi
call fcn.00509970
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bed5
mov eax, dword [ebp - 0x30]
sub ecx, edx
add eax, 4
add edi, ecx
add esi, eax
jmp 0x40c09f
cmp al, 0x4d
jne 0x40c099
cmp byte [esi + 2], 0x45
jne 0x40c099
cmp byte [esi + 3], 0x54
jne 0x40c099
movsx eax, byte [esi + 4]
push eax
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x4c], 0x63
call fcn.00504b20
add esp, 4
test eax, eax
je 0x40bf43
movsx eax, byte [esi + 4]
sub eax, 0x30
mov dword [ebp - 0x58], eax
mov eax, 5
mov dword [ebp - 0x30], eax
jmp 0x40bf48
mov eax, 4
movsx eax, byte [eax + esi]
push eax
call fcn.00504b20
mov edx, dword [ebp - 0x30]
add esp, 4
test eax, eax
je 0x40bf70
mov eax, dword [ebp - 0x58]
lea ecx, [eax + eax*4]
movsx eax, byte [edx + esi]
lea eax, [eax + ecx*2]
add eax, 0xffffffd0
inc edx
mov dword [ebp - 0x58], eax
cmp byte [edx + esi], 0x2d
jne 0x40c099
movsx eax, byte [edx + esi + 1]
inc edx
push eax
mov dword [ebp - 0x30], edx
call fcn.00504b20
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x30]
je 0x40bfa1
movsx ecx, byte [eax + esi]
sub ecx, 0x30
inc eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x30], eax
movsx eax, byte [eax + esi]
push eax
call fcn.00504b20
add esp, 4
test eax, eax
je 0x40bfcc
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x30]
lea ecx, [eax + eax*4]
movsx eax, byte [edx + esi]
lea eax, [eax + ecx*2]
add eax, 0xffffffd0
inc edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x30], edx
cmp byte [ebp - 0x31], 0
je 0x40c08c
mov eax, dword [ebp - 0x58]
lea ecx, [ebx + 0xcf0]
mov dword [ebp - 0x44], ecx
cmp eax, 1
jle 0x40c008
lea esi, [eax - 1]
nop word [eax + eax]
push 0x615308
push ecx
call fcn.0042f230
add esp, 8
mov ecx, eax
sub esi, 1
jne 0x40bff0
mov dword [ebp - 0x44], eax
mov esi, dword [ebp - 0x4c]
lea ecx, [ebx + 0xcf0]
test esi, esi
jle 0x40c03e
push 0x615308
push ecx
call fcn.0042f230
add esp, 8
mov ecx, eax
mov edx, ecx
sub esi, 1
jne 0x40c015
lea eax, [ebx + 0xcf0]
cmp edx, eax
jbe 0x40c03e
cmp byte [edx], 0
je 0x40c03e
lea ecx, [edx - 1]
mov edx, dword [ebp - 0x44]
sub ecx, edx
imul esi, dword [ebx + 0x104], 0x104
mov eax, ecx
sub eax, ebx
sub eax, esi
add eax, 0xfffffdf4
add eax, edi
cmp eax, 0x104
jb 0x40c06d
mov ecx, ebx
sub ecx, edi
add ecx, 0x30f
add ecx, esi
xor esi, esi
test ecx, ecx
cmovns esi, ecx
push esi
push edx
push edi
call fcn.005010e0
add edi, esi
mov esi, dword [ebp - 0x2c]
add esp, 0xc
add esi, dword [ebp - 0x30]
mov byte [edi], 0
jmp 0x40c09f
mov word [edi], 0x3f
add edi, 2
add esi, dword [ebp - 0x30]
jmp 0x40c09f
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
mov dword [ebp - 0x2c], esi
mov cl, byte [esi]
test cl, cl
je 0x40c0ba
mov dl, byte [ebp - 0x31]
jmp 0x40a58b
mov dword [ebx + 0x104], 7
mov byte [edi], 0
xor edi, edi
movsx eax, byte [ebx + 0xf19]
mov dword [ebx + 0xce8], 0
mov dword [ebx + 0xcec], eax
cmp dword [ebx + 0x104], edi
jl 0x40c150
lea eax, [ebx + 0x20c]
lea esi, [ebx + 0xa4c]
mov dword [ebp - 0x44], eax
push ebx
lea ecx, [ebp - 0x60]
xor edx, edx
push ecx
push eax
xor ecx, ecx
call fcn.00409e10
mov eax, dword [ebp - 0x5c]
add esp, 0xc
test eax, eax
jne 0x40c11d
movsx eax, byte [ebx + 0xf19]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebx + 0xce8]
jle 0x40c12e
mov dword [ebx + 0xce8], ecx
mov dword [esi], eax
inc edi
mov dword [esi - 0x20], ecx
add esi, 4
add dword [ebx + 0xcec], eax
mov eax, dword [ebp - 0x44]
add eax, 0x104
mov dword [ebp - 0x44], eax
cmp edi, dword [ebx + 0x104]
jle 0x40c0f1
movsx eax, byte [ebx + 0xf19]
mov ecx, dword [ebp - 4]
add dword [ebx + 0xce8], eax
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004ff23c
mov esp, ebp
pop ebp
ret