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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x108
mov eax, dword [0x1020f0c0]
xor eax, esp
mov dword [esp + 0x104], eax
mov eax, dword [0x1022ccc4]
push esi
push edi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 4]
cmp dword [0x10520ee8], eax
je 0x1008092d
mov dword [0x10520ee8], eax
mov eax, dword [0x1022ccd0]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
test eax, eax
je 0x1007f508
mov ecx, dword [eax]
push 0
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x34], ecx
mov ecx, eax
call dword [esp + 0x34]
fmul dword [0x102011fc]
xor ecx, ecx
fstp dword [esp + 0x30]
cvttss2si eax, dword [esp + 0x30]
test eax, eax
cmovs eax, ecx
jmp 0x1007f50a
xor eax, eax
mov ecx, 0x1044cdd0
xchg dword [ecx], eax
push 0x1045943c
call fcn.101a144b
add esp, 4
test eax, eax
jne 0x10080941
cmp dword [0x10459468], 0x7fffffff
je 0x10080948
mov eax, dword [0x10520eec]
cmp eax, dword [0x10520ef0]
je 0x1007f548
mov dword [0x10520ef0], eax
mov esi, dword [0x10520edc]
mov edi, dword [0x10520ee0]
cmp esi, edi
je 0x1007f573
mov ecx, esi
call fcn.10089af0
add esi, 0x90
cmp esi, edi
jne 0x1007f558
mov eax, dword [0x10520edc]
mov dword [0x10520ee0], eax
mov eax, dword [0x10520db4]
cmp eax, dword [0x10520db8]
je 0x1007f585
mov dword [0x10520db8], eax
mov eax, dword [0x10520dc0]
cmp eax, dword [0x10520dc4]
je 0x1007f597
mov dword [0x10520dc4], eax
mov esi, dword [0x10520da8]
mov edi, dword [0x10520dac]
cmp esi, edi
je 0x1007f5c0
lea ecx, [esi + 0xc]
call fcn.10087bf0
add esi, 0x18
cmp esi, edi
jne 0x1007f5a7
mov eax, dword [0x10520da8]
mov dword [0x10520dac], eax
mov eax, dword [0x10520f3c]
cmp eax, dword [0x10520f40]
je 0x1007f5d2
mov dword [0x10520f40], eax
call fcn.10080a20
call fcn.100872c0
cmp byte [0x1044cd28], 0
jne 0x1007fb08
xor ecx, ecx
mov dword [esp + 0x34], 0x1022d020
mov dword [esp + 0x1c], ecx
xor edi, edi
nop dword [eax]
mov eax, dword [0x1022ccd0]
lea esi, [esp + 0xa5]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x30], eax
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [esp + 0x10]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1007f617
push ecx
lea eax, [esp + 0xa9]
push eax
push esi
lea ecx, [esp + 0xbc]
call fcn.1002d3c0
lea eax, [esp + 0xb0]
mov edx, str.RankName_
push eax
lea ecx, [esp + 0xe0]
call fcn.10025630
cmp dword [eax + 0x14], 0xf
jbe 0x1007f67a
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xbc]
call edx
mov ecx, dword [esp + 0xf0]
mov esi, eax
cmp ecx, 0xf
jbe 0x1007f6c7
mov edx, dword [esp + 0xdc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f6bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080959
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0xf
mov byte [esp + 0xdc], 0
cmp ecx, 0xf
jbe 0x1007f721
mov edx, dword [esp + 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f717
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080959
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, esi
mov dword [esp + 0xc0], 0
xorps xmm0, xmm0
mov dword [esp + 0xc4], 0xf
mov byte [esp + 0xb0], 0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa0], 0
lea edx, [ecx + 1]
mov dword [esp + 0xa4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007f765
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x98]
call fcn.10028880
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call fcn.100217c0
mov ecx, dword [esp + 0xa4]
cmp ecx, 0xf
jbe 0x1007f7cb
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f7c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080959
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [esp + 0x1c]
add edi, 0x18
inc ecx
add esi, 0x18
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], esi
cmp edi, 0x1c8
jb 0x1007f600
xor ecx, ecx
mov dword [esp + 0xc], 0x1022d1e8
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], ecx
nop dword [eax]
mov eax, dword [0x1022ccd0]
lea esi, [esp + 0xa5]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x30], eax
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [esp + 0x10]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1007f817
push ecx
lea eax, [esp + 0xa9]
push eax
push esi
lea ecx, [esp + 0xe8]
call fcn.1002d3c0
lea eax, [esp + 0xdc]
mov edx, str.skillgroup_
push eax
lea ecx, [esp + 0xf8]
call fcn.10025630
mov esi, eax
mov ecx, dword [esi + 0x14]
mov eax, ecx
mov edi, dword [esi + 0x10]
sub eax, edi
cmp eax, 0xa
jb 0x1007f8b7
mov dword [esp + 0x1c], esi
lea eax, [edi + 0xa]
mov dword [esi + 0x10], eax
mov eax, esi
cmp ecx, 0xf
jbe 0x1007f89a
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
push 0xa
add eax, edi
push str.dangerzone
push eax
call fcn.101a3550
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [eax + edi + 0xa], 0
jmp 0x1007f8cd
push 0xa
push str.dangerzone
push dword [esp + 0x20]
mov ecx, esi
push 0xa
call fcn.10029490
mov esi, eax
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0xb0]
mov dword [esp + 0xc0], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc4], 0
movups xmm0, xmmword [esi]
movups xmmword [esp + 0xb0], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [esp + 0xc0], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
cmp dword [esp + 0xc4], 0xf
mov eax, dword [ecx]
cmova edx, dword [esp + 0xb0]
push edx
mov eax, dword [eax + 0xbc]
call eax
mov ecx, dword [esp + 0xc4]
mov esi, eax
cmp ecx, 0xf
jbe 0x1007f97c
mov edx, dword [esp + 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f972
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080959
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0xf
mov byte [esp + 0xb0], 0
cmp ecx, 0xf
jbe 0x1007f9d6
mov edx, dword [esp + 0xf4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f9cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080959
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0xf
mov byte [esp + 0xf4], 0
cmp ecx, 0xf
jbe 0x1007fa30
mov edx, dword [esp + 0xdc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007fa26
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080959
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, esi
mov dword [esp + 0xec], 0
xorps xmm0, xmm0
mov dword [esp + 0xf0], 0xf
mov byte [esp + 0xdc], 0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa0], 0
lea edx, [ecx + 1]
mov dword [esp + 0xa4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007fa74
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x98]
call fcn.10028880
mov edi, dword [esp + 0xc]
lea eax, [esp + 0x90]
push eax
mov ecx, edi
call fcn.100217c0
mov ecx, dword [esp + 0xa4]
cmp ecx, 0xf
jbe 0x1007fada
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007fad0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080959
push ecx
push edx
call fcn.101a201e
add esp, 8
mov edx, dword [esp + 0x14]
add edi, 0x18
mov ecx, dword [esp + 0x34]
add edx, 0x18
inc ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0xc], edi
cmp edx, 0x180
jb 0x1007f800
mov byte [0x1044cd28], 1
mov eax, dword [0x1022ee74]
cmp dword [eax], 0
jne 0x1007fb98
mov esi, dword [0x10520dcc]
mov edi, dword [0x10520dd0]
cmp esi, edi
je 0x1007fb41
mov ecx, esi
call fcn.10089b90
add esi, 0x148
cmp esi, edi
jne 0x1007fb26
mov eax, dword [0x10520dcc]
mov dword [0x10520dd0], eax
mov edi, dword [0x102326b0]
mov dword [0x102326b0], 0
test edi, edi
je 0x1007fb73
mov esi, dword [edi]
lea ecx, [edi + 0x78]
call fcn.10087b90
push 0x84
push edi
call fcn.101a201e
add esp, 8
mov edi, esi
test esi, esi
jne 0x1007fb55
cmp dword [0x1022d37c], 0xf
mov eax, 0x1022d368
mov dword [0x1022d378], 0
cmova eax, dword [0x1022d368]
mov byte [eax], 0
jmp 0x10080920
mov eax, dword [0x1022ccc4]
push 0
mov eax, dword [eax + 0x230]
call eax
mov edx, eax
lea esi, [edx + 1]
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x1007fbb0
sub edx, esi
mov ecx, 0x1022d368
push edx
push eax
call fcn.10023b60
mov eax, dword [0x1022ccd0]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
call eax
movups xmm0, xmmword [eax]
movups xmmword [0x1044cba8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [0x1044cbb8], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [0x1044cbc8], xmm0
movups xmm0, xmmword [eax + 0x30]
mov eax, dword [0x1022ee74]
movups xmmword [0x1044cbd8], xmm0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x498]
call eax
cmp eax, 4
jne 0x1007fc31
mov eax, dword [0x1022ee74]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x49c]
call eax
mov esi, eax
mov dword [esp + 0x30], eax
jmp 0x1007fc37
xor esi, esi
mov dword [esp + 0x30], esi
mov eax, dword [0x1022ccd0]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], edx
cmp eax, edx
jl 0x10080630
mov eax, dword [0x1022e69c]
mov dword [esp + 0x34], eax
mov eax, dword fs:[0x2c]
mov dword [esp + 0x1c], eax
nop
mov eax, dword [0x1022ccd0]
push edx
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x10080619
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x278]
call eax
test al, al
je 0x1007fdc9
mov eax, dword [0x1022ee74]
cmp edi, dword [eax]
je 0x10080619
cmp edi, esi
je 0x10080619
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x10520dcc]
mov edx, dword [eax]
mov eax, dword [0x10520dd0]
cmp ecx, eax
je 0x1007fcf3
cmp dword [ecx + 0x84], edx
je 0x1007fce3
add ecx, 0x148
cmp ecx, eax
jne 0x1007fcd1
cmp ecx, eax
je 0x1007fcf3
test ecx, ecx
je 0x1007fcf3
push edi
call fcn.100818d0
jmp 0x1007fd1e
cmp eax, dword [0x10520dd4]
je 0x1007fd0f
push edi
mov ecx, eax
call fcn.10081640
add dword [0x10520dd0], 0x148
jmp 0x1007fd1e
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.10088070
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x10080619
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x270]
call eax
test al, al
jne 0x10080619
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x49c]
call eax
mov esi, eax
mov dword [esp + 0xc], esi
test esi, esi
je 0x10080619
mov ecx, dword [0x1022ee74]
mov eax, dword [0x10520ef0]
mov dword [esp + 0x38], eax
cmp esi, dword [ecx]
sete byte [esp + 0x2b]
cmp eax, dword [0x10520ef4]
je 0x1007fdaf
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
mov edi, dword [esp + 0x38]
mov ecx, esi
mov eax, dword [eax]
mov dword [edi], eax
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov cl, byte [esp + 0x2b]
mov eax, dword [eax]
mov byte [edi + 8], cl
mov dword [edi + 4], eax
add dword [0x10520ef0], 0xc
jmp 0x10080619
lea ecx, [esp + 0x2b]
push ecx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.100882c0
jmp 0x10080619
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x10080619
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x298]
call eax
test al, al
je 0x1007fe89
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1044cce8]
cmp eax, dword [ecx + 4]
jle 0x1007fe46
push 0x1044cce8
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cce8], 0xffffffff
jne 0x1007fe46
mov edx, 0xc60bf9f2
mov ecx, 0x101f06e1
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cce8
mov dword [0x1044ccfc], eax
call fcn.101a2267
add esp, 4
mov eax, dword [0x1044ccfc]
cmp dword [edi + eax], 0xffffffff
jne 0x10080619
mov eax, dword [0x10520ee0]
cmp eax, dword [0x10520ee4]
je 0x1007fe79
push edi
mov ecx, eax
call fcn.10086890
add dword [0x10520ee0], 0x90
jmp 0x10080619
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.100884b0
jmp 0x10080619
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x38], eax
add eax, 0xfffffff7
cmp eax, 0x98
ja case.0x1007feb0.10
movzx eax, byte [eax + 0x1008097c]
jmp dword [eax*4 + 0x10080960]
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne case.0x1007feb0.29
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x102326b0]
test ecx, ecx
je case.0x1007feb0.10
mov eax, dword [eax]
nop
cmp dword [ecx + 0x54], eax
je 0x1007fef0
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1007fee0
jmp case.0x1007feb0.10
mov byte [ecx + 0x50], 1
jmp case.0x1007feb0.10
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
mov esi, dword [0x102326b0]
test esi, esi
je 0x1007ff1b
mov eax, dword [eax]
nop
cmp dword [esi + 0x54], eax
je 0x1007ff46
mov esi, dword [esi]
test esi, esi
jne 0x1007ff10
push 0x84
call fcn.101a2031
add esp, 4
mov esi, eax
push edi
lea ecx, [esi + 4]
call fcn.10081240
mov ecx, dword [0x102326b0]
mov dword [esi], ecx
mov dword [0x102326b0], esi
jmp case.0x1007feb0.10
push edi
lea ecx, [esp + 0x44]
call fcn.10080f80
movups xmm0, xmmword [esp + 0x40]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x14]
movups xmmword [esi + 4], xmm0
movups xmm0, xmmword [esp + 0x50]
movups xmmword [esi + 0x14], xmm0
movups xmm0, xmmword [esp + 0x60]
movups xmmword [esi + 0x24], xmm0
movups xmm0, xmmword [esp + 0x70]
movups xmmword [esi + 0x34], xmm0
movq xmm0, qword [esp + 0x80]
movq qword [esi + 0x44], xmm0
mov dword [esi + 0x4c], eax
mov eax, dword [0x1022ccc4]
mov dword [esp + 0xc], eax
mov edi, dword [eax + 0x10]
call fcn.1007ed90
movss xmm0, dword [edi + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, edi
subss xmm0, dword [eax]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10200e0c]
cvttss2si eax, xmm0
mov dword [esi + 0x64], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esi + 0x7c]
mov edx, eax
mov eax, dword [esi + 0x78]
sub ecx, eax
sar ecx, 4
mov dword [esp + 0xc], edx
cmp ecx, 1
jb 0x10080023
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
ucomiss xmm0, dword [edx]
lahf
test ah, 0x44
jp 0x10080023
mov eax, dword [esi + 0x78]
movss xmm0, dword [eax + ecx*8 - 8]
ucomiss xmm0, dword [edx + 4]
lahf
test ah, 0x44
jp 0x10080023
mov eax, dword [esi + 0x78]
movss xmm0, dword [eax + ecx*8 - 4]
ucomiss xmm0, dword [edx + 8]
lahf
test ah, 0x44
jnp case.0x1007feb0.10
mov ecx, edi
call fcn.1007eee0
lea ecx, [esi + 0x78]
movq xmm0, qword [eax]
movq qword [esi + 0x58], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x60], eax
mov eax, dword [0x1022ccc4]
mov edx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
cmp edx, dword [ecx + 8]
je 0x10080070
mov eax, dword [eax]
mov dword [edx], eax
mov eax, dword [esp + 0xc]
movq xmm0, qword [eax]
movq qword [edx + 4], xmm0
mov eax, dword [eax + 8]
mov dword [edx + 0xc], eax
add dword [ecx + 4], 0x10
jmp case.0x1007feb0.10
mov eax, dword [esp + 0xc]
push eax
push dword [esp + 0x24]
push edx
call fcn.10088e00
jmp case.0x1007feb0.10
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je case.0x1007feb0.10
add eax, 4
push str.challenge_coin
push eax
call fcn.101a2be0
add esp, 8
test eax, eax
je case.0x1007feb0.10
mov eax, dword [0x10520db8]
cmp eax, dword [0x10520dbc]
je 0x100800ce
push edi
mov ecx, eax
call fcn.100810b0
add dword [0x10520db8], 0x50
jmp case.0x1007feb0.10
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.100886e0
jmp 0x1008012f
mov eax, dword [0x10520dc4]
cmp eax, dword [0x10520dc8]
je 0x100800f9
push edi
mov ecx, eax
call fcn.100871d0
add dword [0x10520dc4], 0x50
jmp case.0x1007feb0.10
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.100888a0
jmp 0x1008012f
mov eax, dword [0x10520dac]
cmp eax, dword [0x10520db0]
je 0x10080124
push edi
mov ecx, eax
call fcn.10087740
add dword [0x10520dac], 0x18
jmp case.0x1007feb0.10
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.10088a60
mov edi, dword [esp + 0x14]
mov eax, dword [0x1022cccc]
mov ecx, dword [esp + 0x38]
cmp ecx, dword [eax]
jne 0x10080571
mov esi, dword [0x1022ccc8]
cmp byte [esi + 0x16a3], 0
jne 0x10080571
cmp byte [esi + 0x16c0], 0
je 0x1008028b
mov eax, dword [0x1022ccc4]
mov dword [esp + 0x24], 0xff
mov dword [esp + 0x20], 0
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
mulss xmm0, dword [esi + 0x16bc]
movss dword [esp + 0xc], xmm0
cvtps2pd xmm0, xmm0
call fcn.101c9ff0
cvtsd2ss xmm0, xmm0
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x20]
mulss xmm0, dword [0x10200e0c]
addss xmm0, dword [0x10200e0c]
mulss xmm0, dword [0x10201190]
cvttss2si edx, xmm0
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x10200f50]
test edx, edx
mov dword [esp + 0x2c], edx
cmovns ecx, eax
lea eax, [esp + 0x24]
cmp edx, 0xff
cvtps2pd xmm0, xmm0
cmovle eax, ecx
mov al, byte [eax]
mov byte [esp + 0x10], al
mov dword [esp + 0x20], 0xff
mov dword [esp + 0x24], 0
call fcn.101c9ff0
cvtsd2ss xmm0, xmm0
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x24]
mulss xmm0, dword [0x10200e0c]
addss xmm0, dword [0x10200e0c]
mulss xmm0, dword [0x10201190]
cvttss2si edx, xmm0
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x10200fdc]
test edx, edx
mov dword [esp + 0x2c], edx
cmovns ecx, eax
lea eax, [esp + 0x20]
cmp edx, 0xff
cvtps2pd xmm0, xmm0
cmovle eax, ecx
mov al, byte [eax]
mov byte [esp + 0x11], al
mov dword [esp + 0x20], 0xff
mov dword [esp + 0x24], 0
call fcn.101c9ff0
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x10200e0c]
addss xmm0, dword [0x10200e0c]
mulss xmm0, dword [0x10201190]
jmp 0x10080337
movss xmm1, dword [0x10201190]
lea eax, [esp + 0x2c]
movss xmm0, dword [esi + 0x16b0]
lea ecx, [esp + 0x24]
mulss xmm0, xmm1
mov dword [esp + 0x20], 0xff
mov dword [esp + 0x24], 0
cvttss2si edx, xmm0
movss xmm0, dword [esi + 0x16b4]
test edx, edx
mulss xmm0, xmm1
mov dword [esp + 0x2c], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x20]
cmovle eax, ecx
lea ecx, [esp + 0x24]
cvttss2si edx, xmm0
mov al, byte [eax]
mov byte [esp + 0x10], al
lea eax, [esp + 0x2c]
mov dword [esp + 0x20], 0xff
mov dword [esp + 0x24], 0
movss xmm0, dword [esi + 0x16b8]
test edx, edx
mov dword [esp + 0x2c], edx
mulss xmm0, xmm1
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x20]
cmovle eax, ecx
mov al, byte [eax]
mov byte [esp + 0x11], al
mov dword [esp + 0x20], 0xff
mov dword [esp + 0x24], 0
cvttss2si edx, xmm0
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x24]
test edx, edx
mov dword [esp + 0x2c], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x20]
cmovle eax, ecx
mov ecx, dword [esp + 0x1c]
mov al, byte [eax]
mov byte [esp + 0x12], al
xor eax, eax
cmp byte [esi + 0x16c1], al
setne al
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1044cd98]
cmp eax, dword [esi + 4]
jle 0x100803c4
push 0x1044cd98
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cd98], 0xffffffff
jne 0x100803c4
mov edx, 0xc60bf9f2
mov ecx, 0x101f0a39
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cd98
mov dword [0x1044ccd0], eax
call fcn.101a2267
add esp, 4
mov eax, dword [0x1044ccd0]
mov ecx, dword [esp + 0x24]
mov dword [eax + edi], ecx
mov eax, dword [0x1022ccc8]
movss xmm0, dword [eax + 0x16a4]
mov eax, dword [0x1044cca8]
movss dword [esp + 0xc], xmm0
cmp eax, dword [esi + 4]
jle 0x10080434
push 0x1044cca8
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cca8], 0xffffffff
jne 0x1008042e
mov edx, 0xc60bf9f2
mov ecx, 0x101f0a59
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cca8
mov dword [0x1044cdc0], eax
call fcn.101a2267
add esp, 4
movss xmm0, dword [esp + 0xc]
mov eax, dword [0x1044cdc0]
movss dword [eax + edi], xmm0
mov eax, dword [0x1022ccc8]
movss xmm0, dword [eax + 0x16a8]
mov eax, dword [0x1044cd2c]
movss dword [esp + 0xc], xmm0
cmp eax, dword [esi + 4]
jle 0x100804a2
push 0x1044cd2c
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cd2c], 0xffffffff
jne 0x1008049c
mov edx, 0xc60bf9f2
mov ecx, 0x101f0a75
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cd2c
mov dword [0x1044cca0], eax
call fcn.101a2267
add esp, 4
movss xmm0, dword [esp + 0xc]
mov eax, dword [0x1044cca0]
movss dword [eax + edi], xmm0
mov eax, dword [0x1022ccc8]
movss xmm0, dword [eax + 0x16ac]
mov eax, dword [0x1044cdc4]
movss dword [esp + 0xc], xmm0
cmp eax, dword [esi + 4]
jle 0x10080510
push 0x1044cdc4
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cdc4], 0xffffffff
jne 0x1008050a
mov edx, 0xc60bf9f2
mov ecx, 0x101f0a91
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cdc4
mov dword [0x1044cdd8], eax
call fcn.101a2267
add esp, 4
movss xmm0, dword [esp + 0xc]
mov eax, dword [0x1044cdd8]
movss dword [eax + edi], xmm0
mov eax, dword [0x1044cd04]
cmp eax, dword [esi + 4]
jle 0x10080565
push 0x1044cd04
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cd04], 0xffffffff
jne 0x10080565
mov edx, 0xc60bf9f2
mov ecx, 0x101f0ab5
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cd04
mov dword [0x1044cd68], eax
call fcn.101a2267
add esp, 4
mov eax, dword [0x1044cd68]
mov ecx, dword [esp + 0x10]
mov dword [eax + edi], ecx
cmp dword [esp + 0x38], 0x9d
jne 0x10080619
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1044ce04]
cmp eax, dword [ecx + 4]
jle 0x100805d5
push 0x1044ce04
call fcn.101a22b8
add esp, 4
cmp dword [0x1044ce04], 0xffffffff
jne 0x100805d5
mov edx, 0xc60bf9f2
mov ecx, 0x101f061d
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044ce04
mov dword [0x1044cd64], eax
call fcn.101a2267
add esp, 4
mov eax, dword [0x1044cd64]
cmp byte [eax + edi], 0
je 0x10080619
mov esi, dword [0x10520f40]
cmp esi, dword [0x10520f44]
je 0x1008060e
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [esi], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
add dword [0x10520f40], 0xc
jmp 0x10080619
lea eax, [esp + 0x14]
push eax
push esi
call fcn.10088c30
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
inc edx
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x18]
jle 0x1007fc70
mov esi, dword [0x10520dd0]
mov eax, 0x63e7063f
mov ecx, dword [0x10520dcc]
sub esi, ecx
imul esi
mov byte [esp + 0x18], 0
push dword [esp + 0x18]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x10520dd0]
push eax
call fcn.100890b0
mov esi, dword [0x10520ee0]
mov eax, 0x38e38e39
mov ecx, dword [0x10520edc]
sub esi, ecx
imul esi
mov byte [esp + 0x18], 0
push dword [esp + 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x10520ee0]
push eax
call fcn.10089340
mov esi, dword [0x10520db8]
mov eax, 0x66666667
mov ecx, dword [0x10520db4]
sub esi, ecx
imul esi
mov byte [esp + 0x18], 0
push dword [esp + 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x10520db8]
push eax
call fcn.10089520
mov esi, dword [0x10520dc4]
mov eax, 0x66666667
mov ecx, dword [0x10520dc0]
sub esi, ecx
imul esi
mov byte [esp + 0x18], 0
push dword [esp + 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x10520dc4]
push eax
call fcn.10089520
mov esi, dword [0x102326b0]
test esi, esi
je 0x10080736
nop word [eax + eax]
mov eax, dword [0x1022ccd0]
push dword [esi + 0x54]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
jne 0x1008072a
mov byte [esi + 0x50], 1
mov esi, dword [esi]
test esi, esi
jne 0x10080710
mov esi, dword [0x102326b0]
mov dword [esp + 0x90], 0x102326b0
lea eax, [esp + 0x94]
mov dword [esp + 0x94], 0
mov edi, 0x102326b0
mov dword [esp + 0x98], eax
test esi, esi
je 0x100807d9
mov eax, dword [0x1022ccd0]
push dword [esi + 0x54]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
jne 0x100807c8
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x78]
sub eax, ecx
sar eax, 4
cmp eax, 1
jb 0x100807aa
add eax, eax
movss xmm1, dword [ecx + eax*8 - 0x10]
mov eax, dword [0x1022ccc4]
addss xmm1, dword [0x102010d0]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
comiss xmm0, xmm1
jbe 0x100807c8
mov ecx, dword [edi]
mov esi, dword [ecx]
mov dword [ecx], 0
mov dword [edi], esi
mov eax, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [esp + 0x98], ecx
jmp 0x100807cc
mov edi, esi
mov esi, dword [esi]
test esi, esi
jne 0x10080763
mov edi, dword [esp + 0x94]
jmp 0x100807db
xor edi, edi
test edi, edi
je 0x100807fe
nop
mov esi, dword [edi]
lea ecx, [edi + 0x78]
call fcn.10087b90
push 0x84
push edi
call fcn.101a201e
add esp, 8
mov edi, esi
test esi, esi
jne 0x100807e0
mov esi, dword [0x10520dcc]
mov edi, dword [0x10520dd0]
mov dword [esp + 0x10], esi
cmp esi, edi
je 0x100808fb
nop word [eax + eax]
mov eax, dword [0x1022ccd0]
push dword [esi + 0x84]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
je 0x10080843
add esi, 0x148
cmp esi, edi
jne 0x10080820
mov dword [esp + 0x10], esi
cmp esi, edi
je 0x100808fb
lea edx, [esi + 0x148]
mov dword [esp + 0x1c], edx
cmp edx, edi
je 0x100808a4
nop dword [eax]
mov eax, dword [0x1022ccd0]
push dword [edx + 0x84]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
je 0x1008088a
push dword [esp + 0x1c]
mov ecx, esi
call fcn.10089850
add esi, 0x148
mov edx, dword [esp + 0x1c]
add edx, 0x148
mov dword [esp + 0x1c], edx
cmp edx, edi
jne 0x10080860
mov dword [esp + 0x10], esi
cmp esi, edi
je 0x100808fb
mov eax, dword [0x10520dd0]
mov dword [esp + 0x18], eax
cmp edi, eax
je 0x100808cf
push edi
mov ecx, esi
call fcn.10089850
add edi, 0x148
add esi, 0x148
cmp edi, dword [esp + 0x18]
jne 0x100808b1
mov dword [esp + 0x10], esi
mov eax, dword [0x10520dd0]
mov edi, esi
cmp esi, eax
je 0x100808f5
mov esi, eax
nop dword [eax]
mov ecx, edi
call fcn.10089b90
add edi, 0x148
cmp edi, esi
jne 0x100808e0
mov esi, dword [esp + 0x10]
mov dword [0x10520dd0], esi
mov eax, dword [0x1022ccc4]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
comiss xmm0, dword [0x1044ccac]
jb 0x10080920
addss xmm0, dword [0x10200d94]
movss dword [0x1044ccac], xmm0
push 0x1045943c
call fcn.101a147d
add esp, 4
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
xor ecx, esp
call fcn.101a1d25
mov esp, ebp
pop ebp
ret
push 5
call fcn.101a168c
push 6
mov dword [0x10459468], 0x7ffffffe
call fcn.101a168c
call fcn.101a7156
nop
mov bh, 0xfe
pop es
adc cl, bh
inc byte [edi]
adc byte [eax - 0x7beff800], dh
add byte [eax], cl
adc byte [esi], al
add dword [eax], ecx
adc bl, bl
add byte [eax], cl
adc byte [ebx], dh
add dword [eax], ecx
adc byte [eax], al
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
add dword [esi], eax
push es
push es
add dword [esi], eax
push es
add al, byte [esi]
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
add dword [esi], eax
add al, byte [esi]
add eax, dword [edx]
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
add al, byte [esi]
push es
add al, 6
push es
push es
push es
add al, byte [esi]
push es
push es
push es
push es
push es
push es
push es
add dword [esi], eax
push es
push es
push es
push es
push es
push es
push es
push es
push es
add al, byte [100795906]
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
push es
add dword [esi], eax
push es
push es
add dword [esi], eax
push es
add al, byte [ecx]
int3