Function at 0x4810e0
Capabilities:
Resolve function by parsing pe exports

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 0x5f7aed
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc0
mov eax, dword [0x681c40]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [0x688710]
mov ecx, esi
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x80], eax
mov eax, dword [ecx + 0x1c4c]
mov dword [ebp - 0x74], ecx
mov byte [eax + 0xc1], 1
mov eax, dword [ecx + 0x1c4c]
mov dword [ebp - 0xb8], eax
cmp byte [eax + 0xc4], 0
jne 0x483608
mov ecx, dword [eax + 0xf8]
xor edx, edx
mov eax, dword [eax + 0x100]
push dword [eax + ecx*4 - 4]
mov ecx, str.Passowrd
call fcn.00449030
mov ecx, eax
add esp, 4
mov eax, esi
mov dword [ebp - 0x84], ecx
cmp dword [eax + 0x1c88], ecx
jne 0x481192
mov dword [eax + 0x1c8c], ecx
cmp dword [eax + 0x1cc4], ecx
jne 0x4811a1
mov byte [eax + 0x1cc8], 1
cmp dword [eax + 0x1c70], ecx
jne 0x4811c2
push ecx
push str.Passowrd
mov edx, 0xb
call fcn.00466ba0
mov esi, dword [0x688710]
add esp, 8
mov ecx, str.Passowrd
mov eax, ecx
cmp eax, 0xffffffff
jae 0x4811e6
nop
mov dl, byte [ecx]
test dl, dl
je 0x4811e6
cmp dl, 0x23
jne 0x4811e0
cmp byte [ecx + 1], dl
je 0x4811e6
inc ecx
cmp ecx, 0xffffffff
jb 0x4811d0
movss xmm0, dword [esi + 0x19e4]
cmp ecx, str.Passowrd
jne 0x481203
xorps xmm6, xmm6
movss dword [ebp - 0xd0], xmm6
jmp 0x481255
movss xmm3, dword [0x672ee4]
lea eax, [ebp - 0x30]
push 0
push ecx
push str.Passowrd
push ecx
mov ecx, dword [esi + 0x19e0]
movaps xmm2, xmm0
mov dword [esp], 0xbf800000
push eax
call fcn.00476080
movss xmm0, dword [ebp - 0x30]
xorps xmm6, xmm6
addss xmm0, dword [0x672dc0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0x2c]
test byte [esi + 0x1cdc], 1
mov eax, dword [ebp - 0x74]
movss xmm7, dword [edi]
movss xmm5, dword [edi + 4]
mov ecx, dword [esi + 0x1c4c]
movss xmm2, dword [eax + 0x15e0]
addss xmm2, xmm2
movss dword [ebp - 0xb4], xmm7
movss dword [ebp - 0x8c], xmm5
addss xmm2, xmm0
je 0x48129a
movss xmm0, dword [esi + 0x1ce0]
jmp 0x4812a2
movss xmm0, dword [ecx + 0x1ac]
comiss xmm6, xmm0
jbe 0x4812e1
cmp dword [ecx + 0x19c], 0
movss xmm1, dword [ecx + 0x234]
jne 0x4812c1
cmp dword [esi + 0x206c], 0
je 0x4812c9
movss xmm1, dword [ecx + 0x204]
subss xmm1, dword [ecx + 0x104]
addss xmm1, xmm0
movss xmm0, dword [0x672dc8]
maxss xmm0, xmm1
comiss xmm6, xmm7
mov edx, ecx
cvttss2si eax, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x4812fe
comiss xmm6, xmm5
jbe 0x481328
cmp dword [ecx + 0x19c], 0
movss xmm0, dword [ecx + 0x234]
movss xmm1, dword [ecx + 0x238]
jne 0x481320
cmp dword [esi + 0x206c], 0
je 0x481328
movss xmm0, dword [ecx + 0x204]
movss xmm3, dword [0x672e2c]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x48133e
movaps xmm7, xmm4
jmp 0x481356
comiss xmm6, xmm7
jbe 0x48135e
subss xmm0, dword [edx + 0x104]
addss xmm0, xmm7
movaps xmm7, xmm3
maxss xmm7, xmm0
movss dword [ebp - 0xb4], xmm7
ucomiss xmm5, xmm6
lahf
test ah, 0x44
jp 0x48136c
movaps xmm5, xmm2
jmp 0x481384
comiss xmm6, xmm5
jbe 0x48138c
subss xmm1, dword [edx + 0x108]
addss xmm1, xmm5
movaps xmm5, xmm3
maxss xmm5, xmm1
movss dword [ebp - 0x8c], xmm5
movss xmm0, dword [ebp - 0xd0]
comiss xmm0, xmm6
mov esi, dword [ebp - 0x74]
jbe 0x4813a9
movaps xmm4, xmm0
addss xmm4, dword [esi + 0x15f4]
jmp 0x4813ac
xorps xmm4, xmm4
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0x30]
movaps xmm1, xmm7
movaps xmm0, xmm5
movss xmm3, dword [eax + 0x104]
movss xmm2, dword [eax + 0x108]
addss xmm1, xmm3
addss xmm0, xmm2
movss dword [ebp - 0x68], xmm3
movss dword [ebp - 0x64], xmm2
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x60], xmm1
movaps xmm1, xmm7
addss xmm1, xmm4
movss dword [ebp - 0x5c], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
addss xmm1, xmm3
movss dword [ebp - 0x18], xmm0
subss xmm0, xmm2
movss dword [ebp - 0x1c], xmm1
subss xmm1, xmm3
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x30], xmm1
movss xmm1, dword [esi + 0x15e0]
call fcn.00456820
mov edi, dword [ebp - 0x84]
lea eax, [ebp - 0x68]
push 0x100
push eax
mov edx, edi
lea ecx, [ebp - 0x24]
call fcn.00456950
add esp, 8
test al, al
je 0x483608
mov eax, dword [esi + 0x1cf8]
lea ecx, [ebp - 0x68]
mov edx, edi
mov dword [ebp - 0x88], eax
call fcn.0044b690
mov dl, al
mov byte [ebp - 0x75], dl
test dl, dl
je 0x481479
mov dword [esi + 0x1fc8], 1
mov edi, dword [0x688710]
xor eax, eax
mov ecx, dword [ebp - 0x84]
add edi, 0x20fc
cmp dword [edi], ecx
cmovne edi, eax
mov eax, dword [ebp - 0x88]
shr eax, 8
and al, 1
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0x88], eax
cmp dword [esi + 0x1c88], ecx
je 0x4814ce
cmp dword [esi + 0x1e74], ecx
je 0x4814ca
cmp dword [esi + 0x1e68], ecx
jne 0x4814ce
cmp dword [esi + 0x1e90], 2
jne 0x4814ce
mov ch, 1
jmp 0x4814d0
xor ch, ch
mov byte [ebp - 0x69], ch
test dl, dl
je 0x4814e4
cmp byte [esi + 0x3e0], 0
je 0x4814e4
mov dl, 1
jmp 0x4814e6
xor dl, dl
mov byte [ebp - 0x78], dl
mov byte [ebp - 0x94], 0
mov byte [ebp - 0x6a], 0
test edi, edi
je 0x481502
cmp byte [edi + 0x53], 1
je 0x481502
mov cl, 1
jmp 0x481504
xor cl, cl
mov byte [ebp - 0x79], cl
test dl, dl
jne 0x481518
test ch, ch
jne 0x481518
test al, al
jne 0x481518
mov byte [ebp - 0x6d], al
jmp 0x48152a
mov eax, dword [ebp - 0x84]
mov byte [ebp - 0x6d], 1
cmp dword [esi + 0x1c88], eax
jne 0x481532
test cl, cl
je 0x481720
mov ecx, dword [ebp - 0x80]
lea edi, [esi + 0x20fc]
mov dword [ebp - 0xb0], edi
mov dword [edi + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x481550
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x48158d
test eax, eax
je 0x481576
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x48157e
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00467ac0
push esi
push dword [ebp - 0x80]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [edi + 0x10]
lea eax, [edi + 0xc]
add esp, 0xc
cmp esi, 0x100
jge 0x4815d9
test esi, esi
je 0x4815be
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x4815c3
mov ecx, 8
mov eax, 0x100
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00467b30
lea eax, [edi + 0xc]
mov dword [eax], 0x100
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x4815ff
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.00467ac0
mov eax, dword [ebp - 0x80]
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [ebp - 0x44], edx
lea ecx, [edx + 0x1fc]
cmp edx, ecx
jae 0x481663
mov edi, eax
cmp byte [edi], 0
je 0x481651
push 0
mov edx, edi
lea ecx, [ebp - 0x18]
call fcn.004492e0
mov edx, dword [ebp - 0x44]
add edi, eax
mov eax, dword [ebp - 0x18]
add esp, 4
test eax, eax
je 0x481651
mov word [esi], ax
add esi, 2
lea eax, [edx + 0x1fc]
cmp esi, eax
jb 0x481621
mov dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x80]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x84]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x4816a7
cmp byte [ebp - 0x79], cl
jne 0x4816a7
cmp dword [edi + 0x3c], esi
mov ecx, esi
mov dl, 1
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
jmp 0x4816e4
xor dl, dl
mov dword [edi], eax
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe5a], 0x630000
mov dword [edi + 0xe60], ecx
mov dword [edi + 0xe64], 0x3e7
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov word [edi + 0x51], 1
mov dword [edi + 0x58], ecx
mov byte [edi + 0x50], cl
mov byte [edi + 0x53], 1
mov byte [edi + 0x48], cl
mov dword [edi + 0x4c], ecx
cmp byte [ebp - 0x69], 0
mov dword [edi + 0x40], ecx
je 0x481701
test dl, dl
je 0x4816fd
mov eax, dword [ebp - 0x74]
test byte [eax + 0x1e78], 4
jne 0x481701
mov byte [ebp - 0x6a], 1
mov eax, dword [ebp - 0x88]
test al, al
jne 0x48171c
cmp byte [ebp - 0x78], al
je 0x481720
mov eax, dword [ebp - 0x74]
cmp byte [eax + 0x100], 0
je 0x481720
mov byte [ebp - 0x6a], 1
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x84]
cmp dword [edx + 0x1c88], esi
je 0x48177f
cmp byte [ebp - 0x6d], 0
je 0x481777
mov edx, dword [ebp - 0xb8]
mov ecx, esi
call fcn.0044b3c0
call fcn.004581c0
mov ecx, edx
call fcn.00456310
mov edx, dword [ebp - 0x74]
or dword [edx + 0x1c9c], 3
or dword [edx + 0x1ca0], 2
mov eax, dword [edx + 0x1cac]
or dword [edx + 0x1ca8], 0x180
mov dword [edx + 0x1cac], eax
cmp dword [edx + 0x1c88], esi
jne 0x48178b
test edi, edi
jne 0x48178b
call fcn.0044b490
mov edx, dword [ebp - 0x74]
mov ecx, 1
cmp dword [edx + 0x1c88], esi
jne 0x4817bb
cmp byte [edx + 0x3e0], 0
je 0x4817b7
mov eax, dword [ebp - 0x94]
cmp byte [ebp - 0x6d], 0
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0x94], eax
mov ch, cl
jmp 0x4817bd
xor ch, ch
mov cl, byte [ebp - 0x6a]
mov byte [ebp - 0x76], ch
test edi, edi
je 0x4817e1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4817d3
test cl, cl
je 0x4817e1
test ch, ch
je 0x4817e1
mov byte [ebp - 0x6b], 1
mov byte [ebp - 0x6c], 0
jmp 0x4817fc
mov byte [ebp - 0x6c], 0
mov byte [ebp - 0x6b], 0
test ch, ch
jne 0x4817f8
mov byte [ebp - 0x6b], ch
cmp dword [edx + 0x1c88], esi
jne 0x481809
test edi, edi
je 0x481809
cmp byte [edi + 0x30], 0
mov byte [ebp - 0xaa], 1
jne 0x481810
mov byte [ebp - 0xaa], 0
cmp dword [edx + 0x1c88], esi
jne 0x481ceb
mov byte [edi + 0xe6e], 0
mov dword [edi + 0x34], 0xff
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [edx + 0xec], 0
movss xmm2, dword [edx + 0x19e4]
mulss xmm2, dword [0x672d84]
sete al
mov byte [edx + 0x1c95], al
mov dword [edx + 0x333c], 1
movss xmm7, dword [edx + 0xe4]
mov ah, byte [edx + 0xb9]
mov byte [ebp - 0x6a], ah
subss xmm7, dword [ebp - 0x68]
subss xmm7, dword [edx + 0x15dc]
addss xmm7, dword [edi + 0x38]
test cl, cl
je 0x4818b9
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6d], 1
jmp 0x481bfd
mov al, byte [ebp - 0x75]
test al, al
je 0x481b2d
cmp word [edx + 0x3ea], 2
jb 0x481b2d
cmp byte [edx + 0x101], 0
jne 0x481b2d
cmp byte [edi + 0x53], 0
je 0x4818f9
push 0
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.0047f850
movss xmm2, dword [ebp - 0x34]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.0047fbc0
mov edx, eax
mov byte [edi + 0x52], 0
mov eax, dword [ebp - 0x74]
mov dword [edi + 0x3c], edx
mov dword [edi + 0x40], edx
mov dword [edi + 0x44], edx
movzx ecx, word [eax + 0x3ea]
sub ecx, 2
test cl, 1
jne 0x481ac9
test edx, edx
je 0x48193b
mov eax, dword [edi + 0x14]
cmp word [eax + edx*2 - 2], 0xa
je 0x48193b
xor cl, cl
jmp 0x48193d
mov cl, 1
test cl, cl
jne 0x481964
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0047ffa0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x481982
mov eax, dword [edi + 0x44]
cmp dword [edi + 0x40], eax
jne 0x48197f
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
jmp 0x481982
mov dword [edi + 0x3c], eax
mov ecx, dword [edi + 0x3c]
mov edx, dword [edi + 4]
inc ecx
cmp ecx, edx
jge 0x481a8a
mov esi, dword [edi + 0xe70]
and esi, 0x8000
mov dword [ebp - 0x9c], 0x3000
test esi, esi
jne 0x481a7f
test ecx, ecx
jle 0x481a88
mov eax, dword [edi + 0x14]
movzx eax, word [eax + ecx*2 - 2]
cmp eax, 0x20
je 0x481a79
cmp eax, 9
je 0x481a79
cmp ax, word [ebp - 0x9c]
je 0x481a79
cmp eax, 0x2c
je 0x481a79
cmp eax, 0x3b
je 0x481a79
cmp eax, 0x28
je 0x481a79
cmp eax, 0x29
je 0x481a79
cmp eax, 0x7b
je 0x481a79
cmp eax, 0x7d
je 0x481a79
cmp eax, 0x5b
je 0x481a79
cmp eax, 0x5d
je 0x481a79
cmp eax, 0x7c
je 0x481a79
cmp eax, 0xa
je 0x481a79
cmp eax, 0xd
je 0x481a79
mov eax, dword [edi + 0x14]
movzx eax, word [eax + ecx*2]
cmp eax, 0x20
je 0x481a72
cmp eax, 9
je 0x481a72
cmp ax, word [ebp - 0x9c]
je 0x481a72
cmp eax, 0x2c
je 0x481a72
cmp eax, 0x3b
je 0x481a72
cmp eax, 0x28
je 0x481a72
cmp eax, 0x29
je 0x481a72
cmp eax, 0x7b
je 0x481a72
cmp eax, 0x7d
je 0x481a72
cmp eax, 0x5b
je 0x481a72
cmp eax, 0x5d
je 0x481a72
cmp eax, 0x7c
je 0x481a72
cmp eax, 0xa
je 0x481a72
cmp eax, 0xd
jne 0x481a79
mov eax, 1
jmp 0x481a7b
xor eax, eax
test eax, eax
jne 0x481a88
inc ecx
cmp ecx, edx
jl 0x4819a7
cmp ecx, edx
mov eax, dword [edi + 4]
cmovg ecx, edx
mov edx, ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x44], ecx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
je 0x481ab8
cmp ecx, eax
jle 0x481aa8
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x481ab1
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x481ab8
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x481bf0
mov dword [edi + 0x3c], eax
jmp 0x481bf0
push 0x200004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0047ffa0
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x600005
call fcn.0047ffa0
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x600001
call fcn.0047ffa0
add esp, 4
mov byte [edi + 0xe6c], 0
jmp 0x481bf0
cmp byte [edx + 0x3e0], 0
je 0x481b7a
cmp byte [edi + 0xe6d], 0
jne 0x481b7a
test al, al
je 0x481c00
cmp byte [edi + 0x53], 0
je 0x481b61
push 0
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.0047f850
movss xmm2, dword [ebp - 0x34]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.0047fbc0
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x52], 0
jmp 0x481bf0
cmp byte [edx + 0xec], 0
je 0x481c00
cmp byte [edi + 0xe6d], 0
jne 0x481c09
movss xmm0, dword [edx + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x481bb1
movss xmm0, dword [edx + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x481bfd
cmp byte [edi + 0x53], 0
je 0x481bcb
push 0
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.0047f850
movss xmm2, dword [ebp - 0x34]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x481bd9
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.0047fbc0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe6c], 1
mov edx, dword [ebp - 0x74]
mov dword [edi + 0xe68], 0xbe99999a
mov ah, byte [ebp - 0x6a]
cmp byte [edi + 0xe6d], 0
je 0x481c19
cmp byte [edx + 0xec], 0
jne 0x481c19
mov byte [edi + 0xe6d], 0
cmp byte [edx + 0x100], 0
je 0x481c2b
cmp byte [edx + 0x102], 0
je 0x481c38
test ah, ah
je 0x481c3c
cmp byte [edx + 0x103], 0
je 0x481c3c
mov al, 1
jmp 0x481c3e
xor al, al
cmp dword [edx + 0x151c], 0
jle 0x481ceb
test al, al
jne 0x481cba
cmp byte [ebp - 0x69], al
jne 0x481cba
xor esi, esi
nop word [eax + eax]
mov eax, dword [edx + 0x1524]
movzx ecx, word [eax + esi*2]
cmp ecx, 9
jne 0x481c78
cmp byte [edx + 0x101], 0
jne 0x481cb1
cmp ecx, 0x20
jb 0x481cb1
cmp ecx, 0x7f
je 0x481cb1
lea eax, [ecx - 0xe000]
cmp eax, 0x18ff
jbe 0x481cb1
push ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0047ffa0
mov edx, dword [ebp - 0x74]
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
inc esi
cmp esi, dword [edx + 0x151c]
jl 0x481c60
mov ecx, dword [edx + 0x1520]
lea esi, [edx + 0x151c]
test ecx, ecx
jns 0x481ce5
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00467b30
mov edx, dword [ebp - 0x74]
mov dword [esi], 0
mov esi, dword [ebp - 0x84]
xor cl, cl
mov byte [ebp - 0x69], cl
cmp dword [edx + 0x1c88], esi
jne 0x48253c
cmp byte [edx + 0x1c94], cl
jne 0x48253c
cmp byte [ebp - 0x94], cl
jne 0x48253c
movss xmm0, dword [ebp - 0x8c]
mov ecx, 1
subss xmm0, dword [edx + 0x15e0]
divss xmm0, dword [edx + 0x19e4]
cvttss2si eax, xmm0
cmp eax, ecx
cmovge ecx, eax
xor esi, esi
mov dword [edi + 0x4c], ecx
mov eax, 0x400000
cmp byte [edx + 0x101], 0
cmovne esi, eax
mov al, byte [edx + 0xb9]
mov byte [ebp - 0xa9], al
test al, al
je 0x481d73
cmp dword [edx + 0x380], 0xa
jne 0x481d73
mov byte [ebp - 0x77], 1
jmp 0x481d7b
mov byte [ebp - 0x77], 0
test al, al
je 0x481da0
cmp byte [edx + 0x103], 0
mov al, byte [edx + 0x102]
mov byte [ebp - 0x6d], al
je 0x481dad
cmp byte [edx + 0x100], 0
jne 0x481dad
test al, al
jne 0x481dad
mov byte [ebp - 0x78], 1
jmp 0x481db1
mov al, byte [edx + 0x100]
mov byte [ebp - 0x6d], al
mov byte [ebp - 0x77], 0
mov byte [ebp - 0x78], 0
cmp byte [edx + 0xb9], 0
mov eax, dword [edx + 0x380]
mov dword [ebp - 0x18], eax
je 0x481dc8
cmp eax, 8
jmp 0x481dcb
cmp eax, 1
mov edx, dword [0x688710]
sete cl
mov byte [ebp - 0x6a], cl
test cl, cl
je 0x481df7
mov ecx, dword [edx + 0x80]
test ecx, ecx
js 0x481df7
call fcn.00450110
test al, al
jne 0x481e0c
mov eax, dword [ebp - 0x18]
mov edx, dword [0x688710]
cmp eax, 2
jne 0x481e12
mov ecx, dword [edx + 0x5c]
test ecx, ecx
js 0x481e12
call fcn.00450110
test al, al
je 0x481e12
mov byte [ebp - 0x79], 1
jmp 0x481e16
mov byte [ebp - 0x79], 0
cmp byte [ebp - 0x6a], 0
mov eax, dword [0x688710]
je 0x481e36
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x481e36
call fcn.00450110
test al, al
jne 0x481e52
mov eax, dword [0x688710]
mov ecx, dword [ebp - 0x74]
cmp dword [ecx + 0x380], 1
jne 0x481e5b
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x481e5b
call fcn.00450110
test al, al
je 0x481e5b
mov byte [ebp - 0x98], 1
jmp 0x481e62
mov byte [ebp - 0x98], 0
cmp byte [ebp - 0x6a], 0
mov eax, dword [0x688710]
je 0x481e82
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x481e82
call fcn.00450110
test al, al
jne 0x481e9e
mov eax, dword [0x688710]
mov ecx, dword [ebp - 0x74]
cmp dword [ecx + 0x380], 2
jne 0x481ea4
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x481ea4
call fcn.00450110
test al, al
je 0x481ea4
mov byte [ebp - 0x75], 1
jmp 0x481ea8
mov byte [ebp - 0x75], 0
mov al, byte [ebp - 0x6a]
test al, al
je 0x481ed4
mov ecx, dword [0x688710]
mov ecx, dword [ecx + 0x88]
test ecx, ecx
js 0x481ed4
call fcn.00450110
test al, al
je 0x481ed1
mov byte [ebp - 0x97], 1
jmp 0x481edf
mov al, byte [ebp - 0x6a]
mov byte [ebp - 0x97], 0
test al, al
je 0x481ef7
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x481efc
call fcn.00450110
test al, al
jne 0x481f15
mov eax, dword [0x688710]
cmp byte [ebp - 0x77], 0
je 0x481f1e
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x481f1e
call fcn.00450110
test al, al
je 0x481f1e
mov byte [ebp - 0x8d], 1
jmp 0x481f25
mov byte [ebp - 0x8d], 0
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x481f3f
call fcn.00450110
test al, al
jne 0x481f4f
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x481f55
call fcn.00450110
test al, al
je 0x481f55
mov byte [ebp - 0x77], 1
jmp 0x481f59
mov byte [ebp - 0x77], 0
mov edx, 1
xor ecx, ecx
call fcn.004591f0
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x481f82
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x64]
test ecx, ecx
js 0x481f9b
call fcn.00450110
test al, al
je 0x481f9b
mov edx, 1
lea ecx, [edx + 1]
call fcn.004591f0
comiss xmm0, xmm5
mov byte [ebp - 0x95], 0
jbe 0x481fa2
mov byte [ebp - 0x95], 1
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x481fb7
call fcn.00450110
test al, al
jne 0x481fcf
mov edx, 1
mov ecx, edx
call fcn.004591f0
comiss xmm0, xmm5
mov byte [ebp - 0x96], 0
jbe 0x481fd6
mov byte [ebp - 0x96], 1
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x482030
call fcn.00450110
test al, al
je 0x48202b
cmp byte [ebp - 0x78], 0
je 0x482008
mov eax, 0x200004
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.0047ffa0
jmp 0x482505
cmp byte [ebp - 0x6d], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.0047ffa0
jmp 0x482505
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x482085
call fcn.00450110
test al, al
je 0x482080
cmp byte [ebp - 0x78], 0
je 0x48205d
mov eax, 0x200005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.0047ffa0
jmp 0x482505
cmp byte [ebp - 0x6d], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.0047ffa0
jmp 0x482505
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x4820c4
call fcn.00450110
test al, al
je 0x4820bf
mov ecx, dword [ebp - 0x74]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x200004
or eax, 0x200006
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.0047ffa0
jmp 0x482505
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x482103
call fcn.00450110
test al, al
je 0x4820fe
mov ecx, dword [ebp - 0x74]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x200005
or eax, 0x200007
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.0047ffa0
jmp 0x482505
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x48212e
call fcn.00450110
test al, al
je 0x482129
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.0047ffa0
jmp 0x482505
mov eax, dword [0x688710]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x4821b3
call fcn.00450110
test al, al
je 0x4821b3
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x48219d
cmp byte [ebp - 0x6d], 0
je 0x482153
push 0x60000c
jmp 0x48217f
cmp byte [ebp - 0xa9], 0
je 0x48219d
mov eax, dword [ebp - 0x74]
cmp byte [eax + 0x103], 0
je 0x48219d
cmp byte [eax + 0x102], 0
jne 0x48219d
cmp byte [eax + 0x100], 0
jne 0x48219d
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0047ffa0
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
or esi, 0x200009
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.0047ffa0
jmp 0x482505
cmp byte [ebp - 0x77], 0
je 0x4821c5
mov byte [ebp - 0x94], 1
jmp 0x482519
cmp byte [ebp - 0x95], 0
je 0x4821da
mov byte [ebp - 0x94], 1
jmp 0x482519
cmp byte [ebp - 0x96], 0
je 0x4821f0
mov cl, 1
mov byte [ebp - 0x94], cl
jmp 0x48251c
mov al, byte [ebp - 0x97]
test al, al
jne 0x4824e6
cmp byte [ebp - 0x8d], al
jne 0x4824e6
mov esi, dword [0x688710]
cmp byte [ebp - 0x6a], al
je 0x48223e
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x48223e
call fcn.00450110
test al, al
je 0x48223e
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x482512
mov al, byte [ebp - 0x79]
test al, al
jne 0x4823d3
cmp byte [ebp - 0x98], al
jne 0x4823d3
cmp byte [ebp - 0x75], al
je 0x482519
mov eax, dword [esi + 0xd8]
test eax, eax
je 0x48227e
push dword [esi + 0xe0]
call eax
mov esi, eax
add esp, 4
test esi, esi
jne 0x482283
jmp 0x482519
mov esi, 0x66c6ba
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x482288
mov eax, dword [0x688710]
sub ecx, edx
test eax, eax
je 0x4822a0
inc dword [eax + 0x370]
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
add esp, 4
mov dword [ebp - 0xbc], eax
cmp byte [esi], 0
mov dword [ebp - 0x9c], 0
je 0x482316
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x18]
call fcn.004492e0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x482304
cmp eax, 0x20
jb 0x4822ff
cmp eax, 0xffff
ja 0x4822ff
mov ecx, dword [ebp - 0xbc]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x4822d0
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x9c]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x4823af
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x9c], edx
mov edx, dword [edi + 0x40]
cmp edx, dword [edi + 0x44]
je 0x482360
cmp edx, ecx
jle 0x482347
mov dword [edi + 0x40], ecx
mov edx, ecx
cmp dword [edi + 0x44], ecx
jle 0x482355
mov dword [edi + 0x44], ecx
mov dword [ebp - 0x9c], ecx
cmp edx, dword [ebp - 0x9c]
jne 0x482360
mov dword [edi + 0x3c], edx
cmp dword [edi + 0x3c], ecx
jle 0x482368
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0047ff10
mov edx, dword [edi + 0x3c]
mov ecx, edi
push esi
push dword [ebp - 0xbc]
call fcn.0047fa70
add esp, 8
test al, al
je 0x4823a2
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push esi
push 0
call fcn.00480df0
add esp, 8
mov byte [edi + 0x52], 0
add dword [edi + 0x3c], esi
mov eax, dword [ebp - 0xbc]
mov byte [edi + 0xe6c], 1
test eax, eax
je 0x4823c3
mov ecx, dword [0x688710]
test ecx, ecx
je 0x4823c3
dec dword [ecx + 0x370]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call eax
add esp, 4
jmp 0x482519
mov ecx, dword [ebp - 0x74]
cmp dword [ecx + 0xdc], 0
je 0x4824a7
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x4823f7
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x4823fc
mov ecx, dword [edi + 4]
xor esi, esi
mov al, byte [ebp - 0x6b]
mov byte [ebp - 0x6b], al
mov al, byte [ebp - 0x6c]
mov byte [ebp - 0x6c], al
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x88], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.00449580
mov ecx, dword [0x688710]
inc eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x482436
inc dword [ecx + 0x370]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x88]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x44]
push ecx
mov ecx, esi
call fcn.00449510
mov eax, dword [0x688710]
add esp, 8
mov ecx, dword [eax + 0xdc]
test ecx, ecx
je 0x48248b
push esi
push dword [eax + 0xe0]
call ecx
mov eax, dword [0x688710]
add esp, 8
test esi, esi
je 0x482499
test eax, eax
je 0x482499
dec dword [eax + 0x370]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov al, byte [ebp - 0x79]
add esp, 4
test al, al
je 0x482519
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4824c7
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x482519
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0047ff10
mov byte [edi + 0x52], 0
jmp 0x482519
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.0047ffa0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
add esp, 4
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
mov cl, byte [ebp - 0x69]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x48252e
cmp byte [ebp - 0x76], 0
je 0x48252e
mov al, 1
jmp 0x482530
xor al, al
or byte [ebp - 0x6b], al
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x84]
mov al, byte [ebp - 0x6c]
mov byte [ebp - 0x75], al
cmp dword [edx + 0x1c88], esi
jne 0x4828a9
test cl, cl
je 0x482753
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x44], esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x482581
test dl, dl
je 0x48257d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x482581
add eax, 2
add ecx, 2
test dl, dl
jne 0x482561
xor eax, eax
jmp 0x482586
sbb eax, eax
or eax, 1
test eax, eax
je 0x482882
mov eax, dword [edi + 0x24]
xor edx, edx
dec eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 4], edx
test eax, eax
jle 0x4826b0
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0x9c], eax
test edi, edi
je 0x4825c5
cmp esi, edi
jae 0x4825e9
cmp byte [esi], 0
je 0x4825e9
push edi
mov edx, esi
lea ecx, [ebp - 0x18]
call fcn.004492e0
add esi, eax
add esp, 4
cmp dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x9c]
je 0x4825e9
inc eax
jmp 0x4825b7
mov edi, dword [ebp - 0xb0]
lea edx, [eax + 1]
mov dword [ebp - 0xc4], edx
test edx, edx
jle 0x482634
mov eax, 8
mov esi, edx
cmp edx, eax
cmovl esi, eax
test esi, esi
jle 0x482634
mov eax, dword [0x688710]
test eax, eax
je 0x48261b
inc dword [eax + 0x370]
lea eax, [esi + esi]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [ebp - 0xc4]
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x44]
add ecx, esi
mov dword [ebp - 0x18], ecx
lea ecx, [eax - 2]
mov dword [ebp - 0x34], edx
lea ecx, [ecx + edx*2]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xbc], ecx
cmp eax, ecx
jae 0x4826ab
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x482669
cmp esi, edi
jae 0x48269f
cmp byte [esi], 0
je 0x48269f
push edi
mov edx, esi
lea ecx, [ebp - 0x18]
call fcn.004492e0
mov ecx, dword [ebp - 0x18]
add esi, eax
mov eax, dword [ebp - 0x9c]
add esp, 4
test ecx, ecx
je 0x48269f
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xbc]
jb 0x482661
mov edi, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc4]
xor ecx, ecx
mov word [eax], cx
mov esi, dword [edi + 4]
lea eax, [edx - 1]
xor ecx, ecx
cmp dword [ebp - 0x88], ecx
cmovle eax, ecx
lea ecx, [edi + 0x5c]
push eax
push esi
xor edx, edx
mov dword [ebp - 0x18], eax
call fcn.00480df0
mov edx, eax
add esp, 8
test edx, edx
je 0x4826f0
xor ecx, ecx
test esi, esi
jle 0x4826f0
nop
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x4826e0
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.0047fa10
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
jle 0x482721
push esi
push dword [ebp - 0x2c]
xor edx, edx
mov ecx, edi
call fcn.0047fa70
add esp, 8
test al, al
je 0x482721
mov dword [edi + 0x3c], esi
mov byte [edi + 0x52], 0
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x482741
mov eax, dword [0x688710]
test eax, eax
je 0x482737
dec dword [eax + 0x370]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, dword [ebp - 0x88]
mov dword [ebp - 4], 0xffffffff
jmp 0x48284c
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x18], esi
cmp esi, eax
jle 0x48279b
test eax, eax
je 0x482781
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x482789
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00467ac0
lea ecx, [edi + 0x18]
mov edx, dword [ebp - 0x18]
mov dword [ecx], esi
mov esi, dword [edi + 0x20]
add edx, esi
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x9c], edx
lea eax, [edx - 1]
mov dl, byte [ebp - 0x75]
mov byte [ebp - 0x6c], dl
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x18], eax
cmp esi, eax
jae 0x48280d
mov al, byte [ebp - 0x75]
mov edi, dword [ebp - 0x18]
mov byte [ebp - 0x6c], al
nop dword [eax]
movzx eax, word [ecx]
test ax, ax
je 0x482807
add ecx, 2
mov dword [ebp - 0x18], ecx
cmp eax, 0x80
jae 0x4827ea
mov byte [esi], al
inc esi
jmp 0x482803
sub edx, esi
mov ecx, esi
push eax
dec edx
call fcn.00449450
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edx, dword [ebp - 0x9c]
add esi, eax
cmp esi, edi
jb 0x4827d0
mov edi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x80]
mov byte [esi], 0
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x44], eax
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x482840
test dl, dl
je 0x48283c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x482840
add eax, 2
add ecx, 2
test dl, dl
jne 0x482820
xor eax, eax
jmp 0x482845
sbb eax, eax
or eax, 1
test eax, eax
je 0x482882
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x482882
inc eax
mov esi, 0xff
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x48287e
jbe 0x482876
lea eax, [esi - 1]
push eax
push ecx
push dword [ebp - 0x80]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov eax, dword [ebp - 0x80]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0x6c], 1
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x84]
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebp - 0x94], 0
je 0x4828bf
cmp dword [edx + 0x1c88], esi
jne 0x4828bf
call fcn.0044b490
push 1
mov edx, esi
lea ecx, [ebp - 0x68]
call fcn.0044a620
mov eax, dword [ebp - 0x74]
add esp, 4
mov ecx, dword [ebp - 0x5c]
mov esi, dword [0x688710]
movss xmm1, dword [0x672dc8]
movss xmm0, dword [eax + 0x15e4]
mov eax, dword [ebp - 0x60]
mov edx, dword [esi + 0x1c4c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x64]
push 0
push ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x44], ecx
mov ecx, 7
movss dword [ebp - 0x9c], xmm0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x18], edx
movss dword [esp], xmm0
call fcn.00449850
mov ecx, dword [edx + 0x278]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00472280
movss xmm1, dword [esi + 0x15e8]
xorps xmm5, xmm5
comiss xmm1, xmm5
movss xmm7, dword [ebp - 0x64]
movss dword [ebp - 0x88], xmm1
jbe 0x482a35
movss xmm2, dword [0x672dc8]
sub esp, 0x10
movss xmm0, dword [ebp - 0x60]
mov ecx, 6
addss xmm0, xmm2
movss dword [esp + 0xc], xmm1
movaps xmm1, xmm2
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x5c]
addss xmm0, xmm2
movss dword [ebp - 0xc4], xmm0
movss xmm0, dword [ebp - 0x68]
addss xmm0, xmm2
movss dword [ebp - 0xc0], xmm0
movaps xmm0, xmm7
addss xmm0, xmm2
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0x9c]
movss dword [esp + 4], xmm0
call fcn.00449850
mov esi, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [esi + 0x278]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.004721a0
movss xmm0, dword [ebp - 0x88]
sub esp, 0x10
movss xmm1, dword [0x672dc8]
mov ecx, 5
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ebp - 0x9c]
movss dword [esp + 4], xmm0
call fcn.00449850
mov ecx, dword [esi + 0x278]
add esp, 4
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004721a0
movss xmm7, dword [ebp - 0x64]
xorps xmm5, xmm5
cmp byte [ebp - 0xaa], 0
movaps xmm4, xmm7
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [ebp - 0x68]
mov esi, dword [ebp - 0x74]
movss xmm6, dword [ebp - 0x68]
addss xmm6, dword [esi + 0x15dc]
addss xmm4, dword [esi + 0x15e0]
movss dword [ebp - 0xbc], xmm0
movaps xmm0, xmm7
addss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x18], xmm6
movss dword [ebp - 0x9c], xmm4
movss dword [ebp - 0x30], xmm6
movss dword [ebp - 0xcc], xmm0
movss dword [ebp - 0x2c], xmm4
movss dword [ebp - 0x58], xmm6
movss dword [ebp - 0x54], xmm4
je 0x482aaa
mov edx, dword [edi + 0x20]
mov dword [ebp - 0x80], edx
jmp 0x482aad
mov edx, dword [ebp - 0x80]
mov ch, byte [ebp - 0x76]
mov cl, byte [ebp - 0x6b]
test ch, ch
jne 0x482c9c
test cl, cl
jne 0x482c9c
mov eax, dword [ebp - 0x84]
cmp dword [esi + 0x1c88], eax
jne 0x482ad8
mov eax, dword [edi + 8]
add eax, edx
jmp 0x482aef
mov ecx, edx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x482ae0
sub ecx, edx
mov edx, dword [ebp - 0x80]
lea eax, [edx + ecx]
mov dword [ebp - 0x84], eax
sub eax, edx
cmp eax, 0x200000
jge 0x482bf1
movss xmm1, dword [0x672dc8]
xor ecx, ecx
call fcn.00449850
mov edx, dword [ebp - 0xb8]
mov edi, eax
mov eax, dword [ebp - 0x74]
mov esi, dword [esi + 0x19e0]
mov edx, dword [edx + 0x278]
movss xmm2, dword [eax + 0x19e4]
mov eax, dword [ebp - 0x84]
mov ecx, eax
test edi, 0xff000000
je 0x482bf1
test eax, eax
jne 0x482b62
mov ecx, dword [ebp - 0x80]
lea eax, [ecx + 1]
mov dword [ebp - 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x482b51
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x80]
add ecx, eax
jmp 0x482b65
mov eax, dword [ebp - 0x80]
cmp eax, ecx
je 0x482bf1
test esi, esi
jne 0x482b77
mov eax, dword [edx + 0x2c]
mov esi, dword [eax + 8]
ucomiss xmm2, dword [0x672d30]
lahf
test ah, 0x44
jp 0x482b8c
mov eax, dword [edx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [edx + 0x60]
lea eax, [ebp - 0x24]
push dword [ebp - 0x2c]
movups xmmword [ebp - 0x24], xmm0
maxss xmm0, dword [ebp - 0x68]
push dword [ebp - 0x30]
push 1
push ecx
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x20]
maxss xmm0, xmm7
mov dword [esp], 0
push ecx
push dword [ebp - 0x80]
mov ecx, esi
push eax
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x1c]
minss xmm0, dword [ebp - 0xbc]
push edi
push edx
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
minss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0x18], xmm0
call fcn.00476390
mov esi, dword [ebp - 0x74]
cmp byte [esi + 0x30e4], 0
je 0x482c2a
mov eax, dword [0x688710]
lea ecx, [ebp - 0x58]
push dword [ebp - 0x84]
mov edx, dword [ebp - 0x80]
mov dword [eax + 0x30fc], 0x671028
mov dword [eax + 0x3100], 0x671024
call fcn.0045bf10
add esp, 4
movss xmm0, dword [ebp - 0xd0]
comiss xmm0, dword [0x672d30]
jbe 0x482c76
movss xmm0, dword [ebp - 0x60]
xor edx, edx
addss xmm0, dword [esi + 0x15f4]
mov ecx, str.Passowrd
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x64]
addss xmm0, dword [esi + 0x15e0]
movss dword [ebp - 0x2c], xmm0
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push 1
call fcn.00449af0
add esp, 0xc
mov al, byte [ebp - 0x6c]
test al, al
je 0x48360a
mov ecx, dword [0x688710]
or dword [ecx + 0x1cf8], 4
mov word [ecx + 0x1c98], 0x101
jmp 0x48360a
mov eax, dword [edi + 8]
xorps xmm3, xmm3
add eax, edx
movss dword [ebp - 0x88], xmm3
xor edx, edx
mov dword [ebp - 0x84], eax
mov eax, dword [edi + 0x14]
xorps xmm7, xmm7
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xc4], 0xfffffc18
mov dword [ebp - 0x94], 0xfffffc18
test ch, ch
je 0x482d00
mov esi, dword [edi + 0x14]
mov edx, 1
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xc4], 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0x44], eax
mov eax, esi
test cl, cl
je 0x482d25
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [edi + 0x14]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x94], 0xffffffff
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x8c], ecx
mov ecx, eax
xor esi, esi
movzx eax, word [eax]
test ax, ax
je 0x482d83
mov edi, eax
cmp di, 0xa
jne 0x482d6f
inc esi
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x482d53
cmp ecx, dword [ebp - 0x44]
jb 0x482d53
dec edx
mov dword [ebp - 0xc4], esi
test edx, edx
jle 0x482d7d
cmp dword [ebp - 0x94], 0xffffffff
jne 0x482d6f
cmp ecx, dword [ebp - 0x8c]
jb 0x482d6f
dec edx
mov dword [ebp - 0x94], esi
test edx, edx
jle 0x482d7d
movzx eax, word [ecx + 2]
add ecx, 2
mov edi, eax
test ax, ax
jne 0x482d33
mov edi, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x94]
inc esi
cmp dword [ebp - 0xc4], 0xffffffff
mov ecx, esi
mov edx, dword [ebp - 0x44]
cmovne ecx, dword [ebp - 0xc4]
cmp eax, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov ecx, edx
cmove eax, esi
mov esi, dword [edi + 0x14]
mov dword [ebp - 0x94], eax
cmp edx, esi
jbe 0x482dc3
cmp word [ecx - 2], 0xa
je 0x482dc3
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x482db5
mov eax, dword [0x688710]
movaps xmm4, xmm5
movss dword [ebp - 0xc4], xmm4
movaps xmm1, xmm5
mov esi, dword [eax + 0x19e0]
movss xmm2, dword [eax + 0x19e4]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x482e4a
mov edi, dword [ebp - 0x44]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x482e06
maxss xmm4, xmm1
movaps xmm1, xmm5
jmp 0x482e28
cmp edx, 0xd
je 0x482e28
mov edx, eax
cmp edx, dword [esi]
jge 0x482e1b
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x482e20
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x482df0
comiss xmm1, xmm4
mov edi, dword [ebp - 0xb0]
movss dword [ebp - 0xc4], xmm4
jbe 0x482e4a
movaps xmm4, xmm1
movss dword [ebp - 0xc4], xmm1
cmp dword [ebp - 0x94], 0
movd xmm0, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x74]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x19e4]
movss dword [ebp - 0x44], xmm0
jl 0x482f2f
mov eax, dword [ebp - 0x8c]
mov ecx, eax
mov edx, dword [edi + 0x14]
cmp eax, edx
jbe 0x482e8e
nop
cmp word [ecx - 2], 0xa
je 0x482e8e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x482e80
movaps xmm3, xmm5
mov eax, dword [0x688710]
movaps xmm1, xmm5
movss dword [ebp - 0x88], xmm3
mov esi, dword [eax + 0x19e0]
movss xmm2, dword [eax + 0x19e4]
divss xmm2, dword [esi + 0x10]
cmp ecx, dword [ebp - 0x8c]
jae 0x482f19
mov edi, dword [ebp - 0x8c]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x482ed8
maxss xmm3, xmm1
movaps xmm1, xmm5
jmp 0x482efa
cmp edx, 0xd
je 0x482efa
mov edx, eax
cmp edx, dword [esi]
jge 0x482eed
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x482ef2
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x482ec2
comiss xmm1, xmm3
mov edi, dword [ebp - 0xb0]
movss dword [ebp - 0x88], xmm3
jbe 0x482f19
movss dword [ebp - 0x88], xmm1
movd xmm7, dword [ebp - 0x94]
mov eax, dword [ebp - 0x74]
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [eax + 0x19e4]
cmp byte [ebp - 0x76], 0
je 0x482fb6
cmp byte [edi + 0xe6c], 0
je 0x482fb6
movss xmm3, dword [ebp - 0xb4]
movaps xmm1, xmm4
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x672d70]
subss xmm3, dword [eax + 0x15dc]
jbe 0x482f7b
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x482f88
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x482f98
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
mov byte [edi + 0xe6c], 0
movss xmm0, dword [ebp - 0x54]
movss xmm6, dword [ebp - 0x58]
movss dword [ebp - 0x9c], xmm0
movss dword [ebp - 0x18], xmm6
cmp byte [ebp - 0x6b], 0
movss xmm5, dword [edi + 0x38]
movss dword [ebp - 0x8c], xmm5
je 0x483262
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [edi + 0x14]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x76], 0
lea esi, [esi + eax*2]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*2]
mov dword [ebp - 0xb4], eax
je 0x482fff
movss xmm1, dword [0x672dc8]
jmp 0x483007
movss xmm1, dword [0x672d8c]
mov ecx, 0x31
call fcn.00449850
movss xmm4, dword [ebp - 0x9c]
movss xmm6, dword [ebp - 0x18]
addss xmm4, xmm7
movss xmm5, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xb4]
addss xmm5, xmm6
mov dword [ebp - 0x2c], eax
subss xmm4, dword [0x672d30]
subss xmm5, dword [ebp - 0x8c]
movss dword [ebp - 0x18], xmm4
cmp esi, ecx
jae 0x48325a
movss xmm3, dword [ebp - 0xcc]
mov edi, dword [ebp - 0x74]
nop
movaps xmm0, xmm3
addss xmm0, dword [edi + 0x19e4]
comiss xmm4, xmm0
ja 0x483245
movss xmm7, dword [ebp - 0x64]
comiss xmm7, xmm4
jbe 0x4830b2
cmp esi, ecx
jae 0x483225
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x483225
cmp esi, ecx
jb 0x483086
movss xmm4, dword [ebp - 0x54]
movss xmm5, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xb0]
jmp 0x48326a
mov eax, dword [0x688710]
xorps xmm0, xmm0
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x19e0]
movss xmm2, dword [eax + 0x19e4]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x483123
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x483110
cmp ecx, 0xd
je 0x483104
cmp ecx, dword [edx]
jge 0x4830f7
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x4830fc
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0xb4]
cmp esi, ecx
jb 0x4830d7
jmp 0x483120
mov ecx, dword [ebp - 0xb4]
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x48315c
mov eax, dword [edi + 0x19e0]
cmp dword [eax], 0x20
jle 0x483144
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x483149
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x672d84]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [0x672ef4]
addss xmm1, xmm5
subss xmm2, dword [edi + 0x19e4]
addss xmm5, dword [0x672d30]
movss xmm3, dword [ebp - 0xcc]
movaps xmm0, xmm4
addss xmm0, dword [0x672e00]
minss xmm1, dword [ebp - 0xbc]
addss xmm2, xmm4
maxss xmm5, dword [ebp - 0x68]
minss xmm0, xmm3
movss dword [ebp - 0xa0], xmm1
maxss xmm2, xmm7
movss dword [ebp - 0xa8], xmm5
comiss xmm0, xmm7
movss dword [ebp - 0xa4], xmm2
movss dword [ebp - 0x9c], xmm0
jbe 0x483225
comiss xmm3, xmm2
jbe 0x483225
comiss xmm1, dword [ebp - 0x68]
jbe 0x483225
movss xmm0, dword [ebp - 0xbc]
comiss xmm0, xmm5
jbe 0x483225
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xa0]
push dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x278]
call fcn.00472280
movss xmm6, dword [ebp - 0x58]
movss xmm4, dword [ebp - 0x18]
movss xmm3, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb4]
movaps xmm5, xmm6
addss xmm4, dword [edi + 0x19e4]
subss xmm5, dword [ebp - 0x8c]
movss dword [ebp - 0x18], xmm4
cmp esi, ecx
jb 0x483060
movss xmm4, dword [ebp - 0x54]
movss xmm5, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xb0]
jmp 0x48326a
movss xmm5, dword [ebp - 0x8c]
movss xmm4, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
xorps xmm7, xmm7
sub eax, dword [ebp - 0x80]
cmp eax, 0x200000
jge 0x48345a
mov eax, dword [0x688710]
movups xmm1, xmmword [eax + 0x1668]
comiss xmm7, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x15a0]
movups xmmword [ebp - 0x38], xmm1
jbe 0x4832aa
xorps xmm0, xmm0
jmp 0x4832b6
movss xmm0, dword [0x672dc8]
minss xmm0, xmm1
movss xmm1, dword [0x672eb0]
movss xmm3, dword [ebp - 0x34]
comiss xmm7, xmm3
mulss xmm0, xmm1
addss xmm0, dword [0x672d84]
cvttss2si ecx, xmm0
jbe 0x4832dd
xorps xmm0, xmm0
jmp 0x4832e9
movss xmm0, dword [0x672dc8]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x30]
mulss xmm0, xmm1
addss xmm0, dword [0x672d84]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm3
jbe 0x48330d
xorps xmm0, xmm0
jmp 0x483319
movss xmm0, dword [0x672dc8]
minss xmm0, xmm3
movss xmm3, dword [0x672d84]
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x48333c
xorps xmm0, xmm0
jmp 0x483348
movss xmm0, dword [0x672dc8]
minss xmm0, xmm2
mov eax, dword [ebp - 0xb8]
subss xmm6, xmm5
mulss xmm0, xmm1
subss xmm4, xmm7
mov esi, dword [eax + 0x278]
mov eax, dword [ebp - 0x74]
addss xmm0, xmm3
movss dword [ebp - 0x1c], xmm6
movss dword [ebp - 0x18], xmm4
movss xmm2, dword [eax + 0x19e4]
mov eax, dword [eax + 0x19e0]
cvttss2si edx, xmm0
mov dword [ebp - 0x9c], eax
shl edx, 0x18
or edx, ecx
mov ecx, dword [ebp - 0x84]
test edx, 0xff000000
je 0x48345a
test ecx, ecx
jne 0x4833c3
mov ecx, dword [ebp - 0x80]
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4833b0
sub ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x80], ecx
je 0x48345a
test eax, eax
jne 0x4833dc
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x9c], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x4833ed
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
lea eax, [ebp - 0x38]
push dword [ebp - 0x18]
movups xmmword [ebp - 0x38], xmm0
maxss xmm0, dword [ebp - 0x68]
push dword [ebp - 0x1c]
push 1
push ecx
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x34]
maxss xmm0, dword [ebp - 0x64]
mov dword [esp], 0
push ecx
push dword [ebp - 0x80]
mov ecx, dword [ebp - 0x9c]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x30]
minss xmm0, dword [ebp - 0xbc]
push eax
push edx
push esi
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x2c]
minss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0x2c], xmm0
call fcn.00476390
xorps xmm7, xmm7
cmp byte [ebp - 0x76], 0
je 0x482bf1
mov esi, dword [ebp - 0x74]
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0xba], 0
je 0x4834bd
comiss xmm7, xmm0
jae 0x4834bd
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x30], xmm0
fld qword [ebp - 0x30]
fld qword [0x672df8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x672dac]
fstp qword [ebp - 0x30]
movsd xmm1, qword [ebp - 0x30]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x4834bd
xor cl, cl
jmp 0x4834bf
mov cl, 1
movss xmm0, dword [ebp - 0xc4]
movss xmm6, dword [0x672dc8]
addss xmm0, dword [ebp - 0x58]
subss xmm0, dword [ebp - 0x8c]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x54]
addss xmm0, dword [ebp - 0x44]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x672d30]
movss dword [ebp - 0x2c], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0x50], xmm1
addss xmm4, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0x48], xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
subss xmm2, dword [esi + 0x19e4]
subss xmm3, dword [0x672dec]
addss xmm2, dword [0x672d84]
movss dword [ebp - 0x44], xmm3
movss dword [ebp - 0x4c], xmm2
test cl, cl
je 0x4835d8
comiss xmm3, dword [ebp - 0x64]
jbe 0x4835d8
movss xmm5, dword [ebp - 0xcc]
comiss xmm5, xmm2
jbe 0x4835d8
comiss xmm4, dword [ebp - 0x68]
jbe 0x4835d8
movss xmm2, dword [ebp - 0xbc]
comiss xmm2, xmm1
jbe 0x4835d8
sub esp, 8
movss dword [ebp - 0xa0], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x9c], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.00449850
add esp, 4
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x278]
call fcn.00472080
movss xmm1, dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x18]
movss xmm6, dword [0x672dc8]
subss xmm0, dword [esi + 0x19e4]
mov eax, dword [ebp - 0xb8]
subss xmm1, xmm6
movss dword [esi + 0x3060], xmm0
movss dword [esi + 0x305c], xmm1
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x306c], eax
jmp 0x482bf4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005f582b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret