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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x108
mov eax, dword [0x1020c0c0]
xor eax, esp
mov dword [esp + 0x104], eax
mov eax, dword [0x10229c74]
push esi
push edi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 4]
cmp dword [0x1051df28], eax
je 0x1008061d
mov dword [0x1051df28], eax
mov eax, dword [0x10229c80]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
test eax, eax
je 0x1007f1e8
mov ecx, dword [eax]
push 0
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, eax
call dword [esp + 0x2c]
fmul dword [0x102023e4]
xor ecx, ecx
fstp dword [esp + 0x28]
cvttss2si eax, dword [esp + 0x28]
test eax, eax
cmovs eax, ecx
jmp 0x1007f1ea
xor eax, eax
mov ecx, 0x10449e18
xchg dword [ecx], eax
push 0x1045647c
call fcn.1019f887
add esp, 4
test eax, eax
jne 0x10080631
mov ecx, dword [0x1051df30]
cmp dword [0x1051df2c], ecx
mov esi, dword [0x1051df1c]
cmovne ecx, dword [0x1051df2c]
mov edi, dword [0x1051df20]
mov dword [0x1051df30], ecx
cmp esi, edi
je 0x1007f24b
nop
mov ecx, esi
call fcn.10089ae0
add esi, 0x90
cmp esi, edi
jne 0x1007f230
mov eax, dword [0x1051df1c]
mov dword [0x1051df20], eax
mov ecx, dword [0x1051ddf8]
cmp dword [0x1051ddf4], ecx
mov esi, dword [0x1051dde8]
cmovne ecx, dword [0x1051ddf4]
mov edi, dword [0x1051ddec]
mov dword [0x1051ddf8], ecx
mov ecx, dword [0x1051de04]
cmp dword [0x1051de00], ecx
cmovne ecx, dword [0x1051de00]
mov dword [0x1051de04], ecx
cmp esi, edi
je 0x1007f2a9
nop dword [eax]
lea ecx, [esi + 0xc]
call fcn.100878a0
add esi, 0x18
cmp esi, edi
jne 0x1007f290
mov eax, dword [0x1051dde8]
mov dword [0x1051ddec], eax
mov ecx, dword [0x1051df80]
cmp dword [0x1051df7c], ecx
cmovne ecx, dword [0x1051df7c]
mov dword [0x1051df80], ecx
call fcn.10080700
call fcn.100870a0
cmp byte [0x10449d70], 0
jne 0x1007f7f8
xor ecx, ecx
mov dword [esp + 0x34], 0x10229fd0
mov dword [esp + 0x18], ecx
xor edi, edi
nop dword [eax]
mov eax, dword [0x10229c80]
lea esi, [esp + 0xa5]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x28], 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 0x1007f307
push ecx
lea eax, [esp + 0xa9]
push eax
push esi
lea ecx, [esp + 0xbc]
call fcn.1002c640
lea eax, [esp + 0xb0]
mov edx, str.RankName_
push eax
lea ecx, [esp + 0xe0]
call fcn.10024be0
cmp dword [eax + 0x14], 0x10
jb 0x1007f36a
mov eax, dword [eax]
mov ecx, dword [esp + 0x28]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xbc]
call edx
mov ecx, dword [esp + 0xf0]
mov esi, eax
cmp ecx, 0x10
jb 0x1007f3b7
mov edx, dword [esp + 0xdc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f3ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080637
push ecx
push edx
call fcn.101a043c
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, 0x10
jb 0x1007f411
mov edx, dword [esp + 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f407
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080637
push ecx
push edx
call fcn.101a043c
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 0x1007f455
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x98]
call fcn.10027e90
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call fcn.10020950
mov ecx, dword [esp + 0xa4]
cmp ecx, 0x10
jb 0x1007f4bb
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f4b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080637
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x18]
add edi, 0x18
inc ecx
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x34], esi
cmp edi, 0x1c8
jb 0x1007f2f0
xor ecx, ecx
mov dword [esp + 0xc], 0x1022a198
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], ecx
nop dword [eax]
mov eax, dword [0x10229c80]
lea esi, [esp + 0xa5]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x28], 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 0x1007f507
push ecx
lea eax, [esp + 0xa9]
push eax
push esi
lea ecx, [esp + 0xe8]
call fcn.1002c640
lea eax, [esp + 0xdc]
mov edx, str.skillgroup_
push eax
lea ecx, [esp + 0xf8]
call fcn.10024be0
mov esi, eax
mov ecx, dword [esi + 0x14]
mov eax, ecx
mov edi, dword [esi + 0x10]
sub eax, edi
cmp eax, 0xa
jb 0x1007f5a7
mov dword [esp + 0x18], esi
lea eax, [edi + 0xa]
mov dword [esi + 0x10], eax
mov eax, esi
cmp ecx, 0x10
jb 0x1007f58a
mov eax, dword [esi]
mov dword [esp + 0x18], eax
push 0xa
add eax, edi
push str.dangerzone
push eax
call fcn.101a1ab0
mov eax, dword [esp + 0x24]
add esp, 0xc
mov byte [eax + edi + 0xa], 0
jmp 0x1007f5bd
push 0xa
push str.dangerzone
push dword [esp + 0x30]
mov ecx, esi
push 0xa
call fcn.100285e0
mov esi, eax
mov ecx, dword [esp + 0x28]
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], 0x10
mov eax, dword [ecx]
cmovae edx, dword [esp + 0xb0]
push edx
mov eax, dword [eax + 0xbc]
call eax
mov ecx, dword [esp + 0xc4]
mov esi, eax
cmp ecx, 0x10
jb 0x1007f66c
mov edx, dword [esp + 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f662
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080637
push ecx
push edx
call fcn.101a043c
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, 0x10
jb 0x1007f6c6
mov edx, dword [esp + 0xf4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f6bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080637
push ecx
push edx
call fcn.101a043c
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, 0x10
jb 0x1007f720
mov edx, dword [esp + 0xdc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f716
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080637
push ecx
push edx
call fcn.101a043c
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 0x1007f764
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x98]
call fcn.10027e90
mov edi, dword [esp + 0xc]
lea eax, [esp + 0x90]
push eax
mov ecx, edi
call fcn.10020950
mov ecx, dword [esp + 0xa4]
cmp ecx, 0x10
jb 0x1007f7ca
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007f7c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10080637
push ecx
push edx
call fcn.101a043c
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 0x1007f4f0
mov byte [0x10449d70], 1
mov eax, dword [0x1022bebc]
cmp dword [eax], 0
jne 0x1007f888
mov esi, dword [0x1051de0c]
mov edi, dword [0x1051de10]
cmp esi, edi
je 0x1007f831
mov ecx, esi
call fcn.10089b80
add esi, 0x148
cmp esi, edi
jne 0x1007f816
mov eax, dword [0x1051de0c]
mov dword [0x1051de10], eax
mov edi, dword [0x1022dd2c]
mov dword [0x1022dd2c], 0
test edi, edi
je 0x1007f863
mov esi, dword [edi]
lea ecx, [edi + 0x78]
call fcn.10087840
push 0x84
push edi
call fcn.101a043c
add esp, 8
mov edi, esi
test esi, esi
jne 0x1007f845
cmp dword [0x1022a32c], 0x10
mov eax, 0x1022a318
mov dword [0x1022a328], 0
cmovae eax, dword [0x1022a318]
mov byte [eax], 0
jmp 0x10080610
mov eax, dword [0x10229c74]
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 0x1007f8a0
sub edx, esi
mov ecx, 0x1022a318
push edx
push eax
call fcn.10022c30
mov eax, dword [0x10229c80]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
call eax
movups xmm0, xmmword [eax]
movups xmmword [0x10449be0], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [0x10449bf0], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [0x10449c00], xmm0
movups xmm0, xmmword [eax + 0x30]
mov eax, dword [0x1022bebc]
movups xmmword [0x10449c10], xmm0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x498]
call eax
cmp eax, 4
jne 0x1007f921
mov eax, dword [0x1022bebc]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x49c]
call eax
mov esi, eax
mov dword [esp + 0x28], eax
jmp 0x1007f927
xor esi, esi
mov dword [esp + 0x28], esi
mov eax, dword [0x10229c80]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], edx
cmp eax, edx
jl 0x10080320
mov eax, dword [0x1022b6ec]
mov dword [esp + 0x34], eax
mov eax, dword fs:[0x2c]
mov dword [esp + 0x18], eax
nop
mov eax, dword [0x10229c80]
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 0x10080309
mov ecx, dword [edi]
mov edx, dword [ecx + 0x278]
mov ecx, edi
call edx
test al, al
je 0x1007fab9
mov eax, dword [0x1022bebc]
cmp edi, dword [eax]
je 0x10080309
cmp edi, esi
je 0x10080309
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x1051de0c]
mov edx, dword [eax]
mov eax, dword [0x1051de10]
cmp ecx, eax
je 0x1007f9e3
cmp dword [ecx + 0x84], edx
je 0x1007f9d3
add ecx, 0x148
cmp ecx, eax
jne 0x1007f9c1
cmp ecx, eax
je 0x1007f9e3
test ecx, ecx
je 0x1007f9e3
push edi
call fcn.10081600
jmp 0x1007fa0e
cmp eax, dword [0x1051de14]
je 0x1007f9ff
push edi
mov ecx, eax
call fcn.10081360
add dword [0x1051de10], 0x148
jmp 0x1007fa0e
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.10087eb0
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 0x10080309
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x270]
call eax
test al, al
jne 0x10080309
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 0x10080309
mov ecx, dword [0x1022bebc]
mov eax, dword [0x1051df30]
mov dword [esp + 0x38], eax
cmp esi, dword [ecx]
sete byte [esp + 0x2f]
cmp eax, dword [0x1051df34]
je 0x1007fa9f
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 + 0x2f]
mov eax, dword [eax]
mov byte [edi + 8], cl
mov dword [edi + 4], eax
add dword [0x1051df30], 0xc
jmp 0x10080309
lea ecx, [esp + 0x2f]
push ecx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.10088100
jmp 0x10080309
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x10080309
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x298]
call eax
test al, al
je 0x1007fb79
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10449d30]
cmp eax, dword [ecx + 4]
jle 0x1007fb36
push 0x10449d30
call fcn.101a0794
add esp, 4
cmp dword [0x10449d30], 0xffffffff
jne 0x1007fb36
mov edx, 0xc60bf9f2
mov ecx, 0x101f1ef9
call fcn.1007e710
mov ecx, eax
call fcn.100d2ad0
push 0x10449d30
mov dword [0x10449d44], eax
call fcn.101a074a
add esp, 4
mov eax, dword [0x10449d44]
cmp dword [eax + edi], 0xffffffff
jne 0x10080309
mov eax, dword [0x1051df20]
cmp eax, dword [0x1051df24]
je 0x1007fb69
push edi
mov ecx, eax
call fcn.10086670
add dword [0x1051df20], 0x90
jmp 0x10080309
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.100882f0
jmp 0x10080309
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.0x1007fba0.10
movzx eax, byte [eax + 0x10080658]
jmp dword [eax*4 + 0x1008063c]
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne case.0x1007fba0.29
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x1022dd2c]
test ecx, ecx
je case.0x1007fba0.10
mov eax, dword [eax]
nop
cmp dword [ecx + 0x54], eax
je 0x1007fbe0
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1007fbd0
jmp case.0x1007fba0.10
mov byte [ecx + 0x50], 1
jmp case.0x1007fba0.10
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
mov esi, dword [0x1022dd2c]
test esi, esi
je 0x1007fc0b
mov eax, dword [eax]
nop
cmp dword [esi + 0x54], eax
je 0x1007fc36
mov esi, dword [esi]
test esi, esi
jne 0x1007fc00
push 0x84
call fcn.101a044f
add esp, 4
mov esi, eax
lea ecx, [esi + 4]
push edi
call fcn.10080f60
mov ecx, dword [0x1022dd2c]
mov dword [esi], ecx
mov dword [0x1022dd2c], esi
jmp case.0x1007fba0.10
push edi
lea ecx, [esp + 0x44]
call fcn.10080c90
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 [0x10229c74]
mov dword [esp + 0xc], eax
mov edi, dword [eax + 0x10]
call fcn.1007ea70
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 [0x10201ff4]
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 0x1007fd13
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
ucomiss xmm0, dword [edx]
lahf
test ah, 0x44
jp 0x1007fd13
mov eax, dword [esi + 0x78]
movss xmm0, dword [eax + ecx*8 - 8]
ucomiss xmm0, dword [edx + 4]
lahf
test ah, 0x44
jp 0x1007fd13
mov eax, dword [esi + 0x78]
movss xmm0, dword [eax + ecx*8 - 4]
ucomiss xmm0, dword [edx + 8]
lahf
test ah, 0x44
jnp case.0x1007fba0.10
mov ecx, edi
call fcn.1007ebc0
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 [0x10229c74]
mov edx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
cmp edx, dword [ecx + 8]
je 0x1007fd60
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.0x1007fba0.10
mov eax, dword [esp + 0xc]
push eax
push dword [esp + 0x20]
push edx
call fcn.10088c50
jmp case.0x1007fba0.10
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je case.0x1007fba0.10
add eax, 4
push str.challenge_coin
push eax
call fcn.101a1130
add esp, 8
test eax, eax
je case.0x1007fba0.10
mov eax, dword [0x1051ddf8]
cmp eax, dword [0x1051ddfc]
je 0x1007fdbe
push edi
mov ecx, eax
call fcn.10080dc0
add dword [0x1051ddf8], 0x50
jmp case.0x1007fba0.10
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.10088520
jmp 0x1007fe1f
mov eax, dword [0x1051de04]
cmp eax, dword [0x1051de08]
je 0x1007fde9
push edi
mov ecx, eax
call fcn.10086fb0
add dword [0x1051de04], 0x50
jmp case.0x1007fba0.10
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.100886e0
jmp 0x1007fe1f
mov eax, dword [0x1051ddec]
cmp eax, dword [0x1051ddf0]
je 0x1007fe14
push edi
mov ecx, eax
call fcn.10087520
add dword [0x1051ddec], 0x18
jmp case.0x1007fba0.10
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.100888a0
mov edi, dword [esp + 0x14]
mov eax, dword [0x10229c7c]
mov ecx, dword [esp + 0x38]
cmp ecx, dword [eax]
jne 0x10080261
mov esi, dword [0x10229c78]
cmp byte [esi + 0x1543], 0
jne 0x10080261
cmp byte [esi + 0x1560], 0
je 0x1007ff7b
mov eax, dword [0x10229c74]
mov dword [esp + 0x20], 0xff
mov dword [esp + 0x1c], 0
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
mulss xmm0, dword [esi + 0x155c]
movss dword [esp + 0xc], xmm0
cvtps2pd xmm0, xmm0
call fcn.101c9130
cvtsd2ss xmm0, xmm0
lea eax, [esp + 0x30]
lea ecx, [esp + 0x1c]
mulss xmm0, dword [0x10201ff4]
addss xmm0, dword [0x10201ff4]
mulss xmm0, dword [0x10202378]
cvttss2si edx, xmm0
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x10202138]
test edx, edx
mov dword [esp + 0x30], edx
cmovns ecx, eax
lea eax, [esp + 0x20]
cmp edx, 0xff
cvtps2pd xmm0, xmm0
cmovle eax, ecx
mov al, byte [eax]
mov byte [esp + 0x10], al
mov dword [esp + 0x1c], 0xff
mov dword [esp + 0x20], 0
call fcn.101c9130
cvtsd2ss xmm0, xmm0
lea eax, [esp + 0x30]
lea ecx, [esp + 0x20]
mulss xmm0, dword [0x10201ff4]
addss xmm0, dword [0x10201ff4]
mulss xmm0, dword [0x10202378]
cvttss2si edx, xmm0
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x102021c4]
test edx, edx
mov dword [esp + 0x30], edx
cmovns ecx, eax
lea eax, [esp + 0x1c]
cmp edx, 0xff
cvtps2pd xmm0, xmm0
cmovle eax, ecx
mov al, byte [eax]
mov byte [esp + 0x11], al
mov dword [esp + 0x1c], 0xff
mov dword [esp + 0x20], 0
call fcn.101c9130
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x10201ff4]
addss xmm0, dword [0x10201ff4]
mulss xmm0, dword [0x10202378]
jmp 0x10080027
movss xmm1, dword [0x10202378]
lea eax, [esp + 0x30]
movss xmm0, dword [esi + 0x1550]
lea ecx, [esp + 0x20]
mulss xmm0, xmm1
mov dword [esp + 0x1c], 0xff
mov dword [esp + 0x20], 0
cvttss2si edx, xmm0
movss xmm0, dword [esi + 0x1554]
test edx, edx
mulss xmm0, xmm1
mov dword [esp + 0x30], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x1c]
cmovle eax, ecx
lea ecx, [esp + 0x20]
cvttss2si edx, xmm0
mov al, byte [eax]
mov byte [esp + 0x10], al
lea eax, [esp + 0x30]
mov dword [esp + 0x1c], 0xff
mov dword [esp + 0x20], 0
movss xmm0, dword [esi + 0x1558]
test edx, edx
mov dword [esp + 0x30], edx
mulss xmm0, xmm1
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x1c]
cmovle eax, ecx
mov al, byte [eax]
mov byte [esp + 0x11], al
mov dword [esp + 0x1c], 0xff
mov dword [esp + 0x20], 0
cvttss2si edx, xmm0
lea eax, [esp + 0x30]
lea ecx, [esp + 0x20]
test edx, edx
mov dword [esp + 0x30], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x1c]
cmovle eax, ecx
mov ecx, dword [esp + 0x18]
mov al, byte [eax]
mov byte [esp + 0x12], al
xor eax, eax
cmp byte [esi + 0x1561], al
setne al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10449de0]
cmp eax, dword [esi + 4]
jle 0x100800b4
push 0x10449de0
call fcn.101a0794
add esp, 4
cmp dword [0x10449de0], 0xffffffff
jne 0x100800b4
mov edx, 0xc60bf9f2
mov ecx, 0x101f2251
call fcn.1007e710
mov ecx, eax
call fcn.100d2ad0
push 0x10449de0
mov dword [0x10449d18], eax
call fcn.101a074a
add esp, 4
mov eax, dword [0x10449d18]
mov ecx, dword [esp + 0x20]
mov dword [eax + edi], ecx
mov eax, dword [0x10229c78]
movss xmm0, dword [eax + 0x1544]
mov eax, dword [0x10449cf0]
movss dword [esp + 0xc], xmm0
cmp eax, dword [esi + 4]
jle 0x10080124
push 0x10449cf0
call fcn.101a0794
add esp, 4
cmp dword [0x10449cf0], 0xffffffff
jne 0x1008011e
mov edx, 0xc60bf9f2
mov ecx, 0x101f2271
call fcn.1007e710
mov ecx, eax
call fcn.100d2ad0
push 0x10449cf0
mov dword [0x10449e08], eax
call fcn.101a074a
add esp, 4
movss xmm0, dword [esp + 0xc]
mov eax, dword [0x10449e08]
movss dword [eax + edi], xmm0
mov eax, dword [0x10229c78]
movss xmm0, dword [eax + 0x1548]
mov eax, dword [0x10449d74]
movss dword [esp + 0xc], xmm0
cmp eax, dword [esi + 4]
jle 0x10080192
push 0x10449d74
call fcn.101a0794
add esp, 4
cmp dword [0x10449d74], 0xffffffff
jne 0x1008018c
mov edx, 0xc60bf9f2
mov ecx, 0x101f228d
call fcn.1007e710
mov ecx, eax
call fcn.100d2ad0
push 0x10449d74
mov dword [0x10449ce8], eax
call fcn.101a074a
add esp, 4
movss xmm0, dword [esp + 0xc]
mov eax, dword [0x10449ce8]
movss dword [eax + edi], xmm0
mov eax, dword [0x10229c78]
movss xmm0, dword [eax + 0x154c]
mov eax, dword [0x10449e0c]
movss dword [esp + 0xc], xmm0
cmp eax, dword [esi + 4]
jle 0x10080200
push 0x10449e0c
call fcn.101a0794
add esp, 4
cmp dword [0x10449e0c], 0xffffffff
jne 0x100801fa
mov edx, 0xc60bf9f2
mov ecx, 0x101f22a9
call fcn.1007e710
mov ecx, eax
call fcn.100d2ad0
push 0x10449e0c
mov dword [0x10449e20], eax
call fcn.101a074a
add esp, 4
movss xmm0, dword [esp + 0xc]
mov eax, dword [0x10449e20]
movss dword [eax + edi], xmm0
mov eax, dword [0x10449d4c]
cmp eax, dword [esi + 4]
jle 0x10080255
push 0x10449d4c
call fcn.101a0794
add esp, 4
cmp dword [0x10449d4c], 0xffffffff
jne 0x10080255
mov edx, 0xc60bf9f2
mov ecx, 0x101f22cd
call fcn.1007e710
mov ecx, eax
call fcn.100d2ad0
push 0x10449d4c
mov dword [0x10449db0], eax
call fcn.101a074a
add esp, 4
mov eax, dword [0x10449db0]
mov ecx, dword [esp + 0x10]
mov dword [eax + edi], ecx
cmp dword [esp + 0x38], 0x9d
jne 0x10080309
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10449e4c]
cmp eax, dword [ecx + 4]
jle 0x100802c5
push 0x10449e4c
call fcn.101a0794
add esp, 4
cmp dword [0x10449e4c], 0xffffffff
jne 0x100802c5
mov edx, 0xc60bf9f2
mov ecx, 0x101f1e35
call fcn.1007e710
mov ecx, eax
call fcn.100d2ad0
push 0x10449e4c
mov dword [0x10449dac], eax
call fcn.101a074a
add esp, 4
mov eax, dword [0x10449dac]
cmp byte [eax + edi], 0
je 0x10080309
mov esi, dword [0x1051df80]
cmp esi, dword [0x1051df84]
je 0x100802fe
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 [0x1051df80], 0xc
jmp 0x10080309
lea eax, [esp + 0x14]
push eax
push esi
call fcn.10088a70
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
inc edx
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x24]
jle 0x1007f960
mov esi, dword [0x1051de10]
mov eax, 0x63e7063f
mov ecx, dword [0x1051de0c]
sub esi, ecx
imul esi
mov byte [esp + 0x24], 0
push dword [esp + 0x24]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x1051de10]
push eax
call fcn.10088ea0
mov esi, dword [0x1051df20]
mov eax, 0x38e38e39
mov ecx, dword [0x1051df1c]
sub esi, ecx
imul esi
mov byte [esp + 0x24], 0
push dword [esp + 0x24]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x1051df20]
push eax
call fcn.10089120
mov esi, dword [0x1051ddf8]
mov eax, 0x66666667
mov ecx, dword [0x1051ddf4]
sub esi, ecx
imul esi
mov byte [esp + 0x24], 0
push dword [esp + 0x24]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x1051ddf8]
push eax
call fcn.10089510
mov esi, dword [0x1051de04]
mov eax, 0x66666667
mov ecx, dword [0x1051de00]
sub esi, ecx
imul esi
mov byte [esp + 0x24], 0
push dword [esp + 0x24]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x1051de04]
push eax
call fcn.10089510
mov esi, dword [0x1022dd2c]
test esi, esi
je 0x10080426
nop word [eax + eax]
mov eax, dword [0x10229c80]
push dword [esi + 0x54]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
jne 0x1008041a
mov byte [esi + 0x50], 1
mov esi, dword [esi]
test esi, esi
jne 0x10080400
mov esi, dword [0x1022dd2c]
mov dword [esp + 0x90], 0x1022dd2c
lea eax, [esp + 0x94]
mov dword [esp + 0x94], 0
mov edi, 0x1022dd2c
mov dword [esp + 0x98], eax
test esi, esi
je 0x100804c9
mov eax, dword [0x10229c80]
push dword [esi + 0x54]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
jne 0x100804b8
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x78]
sub eax, ecx
sar eax, 4
cmp eax, 1
jb 0x1008049a
add eax, eax
movss xmm1, dword [ecx + eax*8 - 0x10]
mov eax, dword [0x10229c74]
addss xmm1, dword [0x102022b8]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
comiss xmm0, xmm1
jbe 0x100804b8
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 0x100804bc
mov edi, esi
mov esi, dword [esi]
test esi, esi
jne 0x10080453
mov edi, dword [esp + 0x94]
jmp 0x100804cb
xor edi, edi
test edi, edi
je 0x100804ee
nop
mov esi, dword [edi]
lea ecx, [edi + 0x78]
call fcn.10087840
push 0x84
push edi
call fcn.101a043c
add esp, 8
mov edi, esi
test esi, esi
jne 0x100804d0
mov edi, dword [0x1051de0c]
mov esi, dword [0x1051de10]
mov dword [esp + 0x10], edi
cmp edi, esi
je 0x100805eb
nop word [eax + eax]
mov eax, dword [0x10229c80]
push dword [edi + 0x84]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
je 0x10080533
add edi, 0x148
cmp edi, esi
jne 0x10080510
mov dword [esp + 0x10], edi
cmp edi, esi
je 0x100805eb
lea edx, [edi + 0x148]
mov dword [esp + 0x18], edx
cmp edx, esi
je 0x10080594
nop dword [eax]
mov eax, dword [0x10229c80]
push dword [edx + 0x84]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
je 0x1008057a
push dword [esp + 0x18]
mov ecx, edi
call fcn.10089840
add edi, 0x148
mov edx, dword [esp + 0x18]
add edx, 0x148
mov dword [esp + 0x18], edx
cmp edx, esi
jne 0x10080550
mov dword [esp + 0x10], edi
cmp edi, esi
je 0x100805eb
mov eax, dword [0x1051de10]
mov dword [esp + 0x24], eax
cmp esi, eax
je 0x100805bf
push esi
mov ecx, edi
call fcn.10089840
add esi, 0x148
add edi, 0x148
cmp esi, dword [esp + 0x24]
jne 0x100805a1
mov dword [esp + 0x10], edi
mov eax, dword [0x1051de10]
mov esi, edi
cmp edi, eax
je 0x100805e5
mov edi, eax
nop dword [eax]
mov ecx, esi
call fcn.10089b80
add esi, 0x148
cmp esi, edi
jne 0x100805d0
mov edi, dword [esp + 0x10]
mov dword [0x1051de10], edi
mov eax, dword [0x10229c74]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
comiss xmm0, dword [0x10449cf4]
jb 0x10080610
addss xmm0, dword [0x10201f7c]
movss dword [0x10449cf4], xmm0
push 0x1045647c
call fcn.1019f8ce
add esp, 4
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
xor ecx, esp
call fcn.101a0143
mov esp, ebp
pop ebp
ret
push eax
call fcn.1019f9be
call fcn.101a56c6
cmpsd dword [esi], dword es:[edi]
sti
pop es
adc cl, ch
sti
pop es
adc byte [eax + 0x741007fd], ah
std
pop es
adc dh, dh
std
pop es
adc bl, cl
std
pop es
adc byte [ebx], ah
inc byte [edi]
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