Function at 0x474e10
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 0x5c4577
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1070
call fcn.00559130
mov eax, dword [0x62a780]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x101c], edi
mov esi, dword [ebx + 8]
mov dword [ebp - 0xfd8], esi
mov dword [ebp - 0x1018], 0
mov dword [ebp - 0x1014], 0
mov dword [ebp - 0x1010], 0
mov ecx, dword [edi + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0xfcf], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0xfd0], cl
sar ecx, 0x18
mov byte [ebp - 0xfce], al
lea eax, [ebp - 0xfd0]
mov byte [ebp - 0xfcd], cl
lea ecx, [ebp - 0x1018]
push eax
mov dword [ebp - 4], 0
mov byte [ebp - 0xfcc], 0
call fcn.00491500
mov byte [ebp - 0xf78], 0x17
lea ecx, [edi + 0x260]
mov edx, 0x5d4ac4
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x474f23
cmp byte [ebp - 0xfd1], 0
je 0x474f1f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x474f23
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfd1], 0
jne 0x474ee1
xor ecx, ecx
jmp 0x474f28
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x4761df
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0xfdc], eax
xor esi, esi
mov dword [ebp - 0xff4], eax
mov byte [ebp - 0xffd], al
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfec], esi
mov dword [ebp - 0xfe0], esi
movss dword [ebp - 0x1008], xmm0
movss dword [ebp - 0xff8], xmm0
movss dword [ebp - 0x1004], xmm0
movups xmmword [ebp - 0xea8], xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
movups xmmword [ebp - 0xe98], xmm0
movups xmmword [ebp - 0xe88], xmm0
movups xmmword [ebp - 0xe78], xmm0
movups xmmword [ebp - 0xf00], xmm0
movups xmmword [ebp - 0xef0], xmm0
movups xmmword [ebp - 0xee0], xmm0
movups xmmword [ebp - 0xed0], xmm0
movups xmmword [ebp - 0xec0], xmm0
movups xmmword [ebp - 0xe68], xmm0
movups xmmword [ebp - 0xe58], xmm0
movups xmmword [ebp - 0xe48], xmm0
movups xmmword [ebp - 0xe38], xmm0
movups xmmword [ebp - 0xe28], xmm0
call fcn.0044e370
mov edx, eax
mov dword [ebp - 0xfe4], edx
test edx, edx
je 0x4752f9
nop dword [eax + eax]
mov eax, dword [edx + 0x110]
cmp eax, 8
jne 0x475097
mov eax, dword [edx + 0x11c]
mov ecx, dword [eax]
test ecx, ecx
js 0x4752bd
cmp ecx, 0x10
jg 0x4752bd
lea eax, [ecx - 5]
cmp eax, 8
ja 0x475063
cmp byte [ebp - 0xffd], 0
jne 0x475281
cmp dword [edx + 0x118], 1
jne 0x475281
inc dword [ebp + ecx*4 - 0xea8]
inc dword [ebp - 0xff4]
mov byte [ebp - 0xffd], 1
jmp 0x475220
mov eax, dword [ebp - 0xff4]
mov edx, dword [edx + 0x118]
add eax, edx
add dword [ebp + ecx*4 - 0xea8], edx
mov dword [ebp - 0xff4], eax
cmp ecx, 0xe
jne 0x475220
add eax, edx
lea eax, [eax + edx*2]
mov dword [ebp - 0xff4], eax
jmp 0x475220
cmp eax, 4
jne 0x475220
mov ecx, dword [edx + 0x118]
mov eax, 0x40
cmp ecx, 0x40
mov edi, dword [ebp - 0x101c]
cmovg ecx, eax
add esi, ecx
mov dword [ebp - 0xfc4], ecx
mov dword [ebp - 0xfe8], esi
mov esi, dword [edx + 0x11c]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xffc], esi
mov eax, dword [esi]
imul eax, ecx
movaps xmm0, xmm1
mulss xmm0, dword [esi + 0x10]
add dword [ebp - 0xfec], eax
addss xmm0, dword [ebp - 0x1004]
mov eax, dword [esi + 4]
imul eax, ecx
movss dword [ebp - 0x1004], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esi + 0xc]
add dword [ebp - 0xfe0], eax
mulss xmm1, dword [edx + 0x10c]
mov eax, dword [esi + 8]
addss xmm0, dword [ebp - 0x1008]
imul eax, ecx
addss xmm1, dword [ebp - 0xff8]
movss dword [ebp - 0x1008], xmm0
add dword [ebp - 0xfdc], eax
xor esi, esi
movss dword [ebp - 0xff8], xmm1
nop word [eax + eax]
mov edx, dword [ebp + esi*4 - 0xf00]
mov eax, esi
shl eax, 6
mov dword [ebp - 0xfc0], eax
test edx, edx
jle 0x4751ca
mov ecx, dword [ebp - 0xfe4]
call fcn.0044cd20
mov ecx, eax
mov eax, dword [ebp - 0xfc0]
lea eax, [ebp + eax - 0xe18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4751a0
test dl, dl
je 0x47519c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4751a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x475180
xor eax, eax
jmp 0x4751a5
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0xfc4]
test eax, eax
jne 0x4751cc
mov eax, dword [ebp - 0xffc]
mov dword [ebp + esi*4 - 0xf00], ecx
cvttss2si eax, dword [eax + 0x10]
mov dword [ebp + eax*4 - 0xe6c], ecx
jmp 0x4751cc
je 0x4751d8
inc esi
cmp esi, 0x14
jl 0x475150
jmp 0x47521a
mov dword [ebp + esi*4 - 0xf00], ecx
mov ecx, dword [ebp - 0xfe4]
call fcn.0044cd20
push eax
mov eax, dword [ebp - 0xfc0]
lea ecx, [ebp - 0xe18]
add eax, ecx
push eax
call fcn.0043d370
mov eax, dword [ebp - 0xffc]
add esp, 8
mov ecx, dword [ebp - 0xfc4]
cvttss2si eax, dword [eax + 0x10]
mov dword [ebp + eax*4 - 0xe6c], ecx
mov esi, dword [ebp - 0xfe8]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov edx, eax
mov dword [ebp - 0xfe4], eax
test edx, edx
jne 0x475000
movss xmm2, dword [ebp - 0x1004]
cmp esi, 0x40
jle 0x475301
lea eax, [esi - 0x40]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d4120]
addss xmm0, dword [0x5d2058]
mulss xmm0, xmm2
addss xmm2, xmm0
jmp 0x475301
lea eax, [ebp - 0x418]
push str.You_can_only_have_one_shard_in_your_workbench_when_you_craft.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
lea eax, [ebp - 0x418]
push str.Ingredient_type_out_of_bounds___Please_report_this_bug.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
movss xmm2, dword [ebp - 0x1004]
movd xmm0, dword [ebp - 0xff4]
movaps xmm1, xmm2
divss xmm1, dword [0x5d2e88]
or eax, 0xffffffff
mov dword [ebp - 0xff4], eax
xor eax, eax
mov dword [ebp - 0xfc0], eax
xor edi, edi
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movss xmm0, dword [ebp - 0xff8]
addss xmm1, xmm2
movss dword [ebp - 0x1004], xmm1
movss xmm1, dword [ebp - 0x1008]
nop word [eax + eax]
mov edx, dword [ebp + edi*4 - 0xf00]
cmp eax, edx
mov ecx, dword [ebp - 0xfdc]
mov dword [ebp - 0xfdc], ecx
mov ecx, dword [ebp - 0xfe0]
mov dword [ebp - 0xfe0], ecx
mov ecx, dword [ebp - 0xfec]
mov dword [ebp - 0xfe8], esi
mov esi, edx
cmovge esi, eax
mov dword [ebp - 0xfec], ecx
mov ecx, dword [ebp + edi*4 - 0xefc]
cmp esi, ecx
mov eax, ecx
cmovge eax, esi
cmp dword [ebp - 0xfc0], edx
mov dword [ebp - 0xfcc], eax
lea edx, [edi + 1]
mov eax, edi
cmovge eax, dword [ebp - 0xff4]
cmp esi, ecx
mov ecx, dword [ebp - 0xfcc]
cmovge edx, eax
mov eax, dword [ebp + edi*4 - 0xef8]
mov dword [ebp - 0xff4], edx
cmp ecx, eax
jge 0x4753d3
lea edx, [edi + 2]
mov dword [ebp - 0xff4], edx
cmovge eax, ecx
mov ecx, dword [ebp + edi*4 - 0xef4]
cmp eax, ecx
jge 0x4753ea
lea edx, [edi + 3]
mov dword [ebp - 0xff4], edx
mov esi, dword [ebp - 0xfe8]
cmovge ecx, eax
mov eax, dword [ebp + edi*4 - 0xef0]
cmp ecx, eax
jge 0x475431
lea edx, [edi + 4]
mov dword [ebp - 0xff4], edx
mov edx, dword [ebp - 0xfec]
mov dword [ebp - 0xfec], edx
mov edx, dword [ebp - 0xfe0]
mov dword [ebp - 0xfe0], edx
mov edx, dword [ebp - 0xfdc]
mov dword [ebp - 0xfdc], edx
mov edx, dword [ebp - 0xff4]
add edi, 5
cmp ecx, eax
cmovge eax, ecx
mov dword [ebp - 0xfc0], eax
cmp edi, 0x14
jl 0x475350
test edx, edx
jns 0x475488
lea eax, [ebp - 0x418]
push str.Use_ingots_to_make_blades.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
xor eax, eax
mov dword [ebp + edx*4 - 0xf00], 0
mov edx, dword [ebp - 0xfec]
xor edi, edi
mov dword [ebp - 0x100c], 0xffffffff
mov dword [ebp - 0xfc0], eax
nop dword [eax]
mov ecx, dword [ebp - 0xfdc]
mov dword [ebp - 0xfec], edx
mov edx, dword [ebp + edi*4 - 0xf00]
cmp eax, edx
mov dword [ebp - 0xfdc], ecx
mov ecx, dword [ebp - 0xfe0]
mov dword [ebp - 0xfe8], esi
mov esi, edx
cmovge esi, eax
mov dword [ebp - 0xfe0], ecx
mov ecx, dword [ebp + edi*4 - 0xefc]
cmp esi, ecx
mov eax, ecx
cmovge eax, esi
cmp dword [ebp - 0xfc0], edx
mov dword [ebp - 0xfcc], eax
lea edx, [edi + 1]
mov eax, edi
cmovge eax, dword [ebp - 0x100c]
cmp esi, ecx
mov ecx, dword [ebp - 0xfcc]
cmovge edx, eax
mov eax, dword [ebp + edi*4 - 0xef8]
mov dword [ebp - 0x100c], edx
cmp ecx, eax
jge 0x47552d
lea edx, [edi + 2]
mov dword [ebp - 0x100c], edx
cmovge eax, ecx
mov ecx, dword [ebp + edi*4 - 0xef4]
cmp eax, ecx
jge 0x475544
lea edx, [edi + 3]
mov dword [ebp - 0x100c], edx
mov esi, dword [ebp - 0xfe8]
cmovge ecx, eax
mov eax, dword [ebp + edi*4 - 0xef0]
cmp ecx, eax
jge 0x47558b
lea edx, [edi + 4]
mov dword [ebp - 0xfe8], esi
mov dword [ebp - 0x100c], edx
mov edx, dword [ebp - 0xfec]
mov dword [ebp - 0xfec], edx
mov edx, dword [ebp - 0xfe0]
mov dword [ebp - 0xfe0], edx
mov edx, dword [ebp - 0xfdc]
mov dword [ebp - 0xfdc], edx
mov edx, dword [ebp - 0xfec]
add edi, 5
cmp ecx, eax
cmovge eax, ecx
mov dword [ebp - 0xfc0], eax
cmp edi, 0x14
jl 0x4754b0
mov edi, dword [ebp - 0x101c]
xor eax, eax
mov dword [ebp - 0xfe4], eax
movss dword [ebp - 0x1008], xmm1
movss dword [ebp - 0xff8], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4761a3
nop dword [eax]
mov ecx, esi
call fcn.0044cd20
mov ecx, eax
lea eax, [edi + 0x260]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x475620
test dl, dl
je 0x47561c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x475620
add eax, 2
add ecx, 2
test dl, dl
jne 0x475600
xor eax, eax
jmp 0x475625
sbb eax, eax
or eax, 1
test eax, eax
jne 0x475635
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0xfe4], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4755f0
mov esi, dword [ebp - 0xfe4]
test esi, esi
je 0x4761a3
call fcn.00568035
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6340]
divss xmm0, dword [0x5d25f0]
addss xmm0, dword [0x5d6310]
movss dword [ebp - 0xfcc], xmm0
call fcn.00480430
push dword [esi + 0xc]
cdq
push dword [esi + 8]
push edx
push eax
call fcn.005599c0
mov ecx, eax
call fcn.00558c30
mov esi, dword [ebp - 0xfd8]
mov ecx, 0x62f620
cvtsd2ss xmm0, xmm0
push esi
push 1
mulss xmm0, dword [ebp - 0xfcc]
movss dword [ebp - 0xff0], xmm0
call fcn.0052e1c0
test eax, eax
je 0x47570a
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x47570a
movss xmm0, dword [ebp - 0xff0]
mulss xmm0, dword [0x5d6328]
movss dword [ebp - 0xff0], xmm0
push esi
push 0
mov ecx, 0x62f620
call fcn.0052e1c0
test eax, eax
je 0x475750
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x475750
movss xmm0, dword [ebp - 0xff0]
mulss xmm0, dword [0x5d6328]
movss dword [ebp - 0xff0], xmm0
push esi
push 2
mov ecx, 0x62f620
call fcn.0052e1c0
test eax, eax
je 0x475798
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
movss xmm1, dword [ebp - 0xff0]
test eax, eax
je 0x4757a0
mulss xmm1, dword [0x5d6328]
movss dword [ebp - 0xff0], xmm1
jmp 0x4757a0
movss xmm1, dword [ebp - 0xff0]
mov eax, dword [edi + 0x14f38]
test eax, eax
jle 0x4757cd
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6300]
addss xmm0, dword [0x5d2058]
mulss xmm0, xmm1
movss dword [ebp - 0xff0], xmm0
movss xmm0, dword [ebp - 0x1004]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xff0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
imul ecx, dword [edi + 0x188], 0x980
movss xmm0, dword [ebp - 0xff0]
mov ecx, dword [ecx + edi + 0x2dc]
add ecx, 4
comiss xmm0, dword [ebp - 0x1004]
jb 0x475e9c
mov byte [ebp - 0xffd], 0
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x47598f
nop dword [eax]
mov eax, dword [esi + 0x110]
cmp eax, 4
jne 0x4758f1
mov eax, dword [esi + 0x118]
cmp eax, 0x40
jle 0x475948
add eax, 0xffffffc0
mov dword [esi + 0x118], eax
jmp 0x47596c
cmp eax, 8
jne 0x47596c
mov edx, dword [esi + 0x118]
mov cl, byte [ebp - 0xffd]
cmp edx, 1
jle 0x47592d
mov eax, dword [esi + 0x11c]
mov eax, dword [eax]
sub eax, 5
cmp eax, 8
ja 0x47592d
test cl, cl
jne 0x47592d
lea eax, [edx - 1]
mov byte [ebp - 0xffd], 1
mov dword [esi + 0x118], eax
jmp 0x47596c
mov eax, dword [esi + 0x11c]
mov eax, dword [eax]
sub eax, 5
cmp eax, 8
ja 0x475948
test cl, cl
jne 0x47596c
mov byte [ebp - 0xffd], 1
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4758d0
mov eax, dword [ebp - 0xff4]
lea esi, [ebp - 0xe18]
shl eax, 6
lea ecx, [ebp - 0x418]
add eax, esi
mov esi, dword [ebp - 0x100c]
cmp esi, 0xffffffff
jle 0x475a13
push ecx
push 0x5d1428
push eax
call fcn.0043dd00
lea ecx, [ebp - 0x418]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4759d0
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push str.__WXZQPNS
push eax
call fcn.0043d370
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4759f8
sub ecx, edx
shl esi, 6
lea eax, [ebp - 0xe18]
add eax, esi
lea ecx, [ebp + ecx - 0x418]
push ecx
push 0x5d1428
push eax
call fcn.0043dd00
lea ecx, [ebp - 0x418]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x475a30
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push 0x5d4dcc
push eax
call fcn.0043d370
mov esi, dword [ebp - 0xfe8]
add esp, 8
xor ecx, ecx
nop word [eax + eax]
lea eax, [ecx + ecx*8]
cmp dword [eax*8 + 0x610a50], esi
jg 0x475a78
mov eax, 6
inc ecx
cmp ecx, eax
jl 0x475a60
jmp 0x475a7b
lea eax, [ecx - 1]
xor edx, edx
lea ecx, [ebp - 0x418]
test eax, eax
cmovns edx, eax
mov eax, 5
cmp edx, eax
cmovg edx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0xfcc], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x475aa0
sub ecx, dword [ebp - 0xfcc]
lea edi, [edx + edx*8]
lea eax, [edi*8 + str.Dirk]
push eax
lea eax, [ebp - 0x418]
add eax, ecx
push eax
call fcn.0043d370
push 0x120
call fcn.00558849
add esp, 0xc
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x475afd
lea ecx, [ebp - 0x418]
push ecx
push 0
push 1
mov ecx, eax
call fcn.0050b900
mov edx, eax
mov dword [ebp - 0xff4], eax
jmp 0x475b05
xor edx, edx
mov dword [ebp - 0xff4], edx
movd xmm0, dword [edi*8 + 0x610a54]
mov eax, dword [edx + 0x11c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfe8], eax
mov edi, dword [ebp - 0xe98]
mov dword [ebp - 0xfc4], edi
mov byte [ebp - 4], 0
movd xmm1, esi
mulss xmm0, dword [ebp - 0x1008]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm1, dword [0x5d4124]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0xff8]
mov dword [eax], ecx
mulss xmm0, dword [0x5d633c]
mov eax, dword [ebp - 0xfec]
mov ecx, dword [ebp - 0xfe8]
movss dword [edx + 0x10c], xmm0
cdq
idiv esi
cvtps2pd xmm0, xmm1
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xfe0]
cdq
idiv esi
addsd xmm0, qword [0x5d2060]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0xfdc]
cdq
idiv esi
mov edx, dword [ebp - 0xea4]
mov dword [ecx + 0x18], eax
mov esi, dword [ebp - 0xea0]
cvtpd2ps xmm0, xmm0
lea eax, [edx + 1]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xfe8]
movss dword [ecx + 8], xmm0
mov dword [ecx + 0x20], esi
mov ecx, dword [ebp - 0xea8]
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x28], edi
mov edi, dword [ebp - 0xe9c]
mov dword [eax + 0x24], edi
mov edi, dword [ebp - 0xfe8]
mov eax, dword [ebp - 0xe6c]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0xe70]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0xe68]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0xe64]
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0xe60]
mov dword [edi + 0x48], eax
mov eax, dword [ebp - 0xe5c]
mov dword [edi + 0x4c], eax
mov eax, dword [ebp - 0xe58]
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0xe54]
mov dword [edi + 0x54], eax
mov eax, dword [ebp - 0xe50]
mov dword [edi + 0x58], eax
mov eax, dword [ebp - 0xe4c]
mov dword [edi + 0x5c], eax
mov eax, dword [ebp - 0xe48]
mov dword [edi + 0x60], eax
mov eax, dword [ebp - 0xe44]
mov dword [edi + 0x64], eax
mov eax, dword [ebp - 0xe40]
mov dword [edi + 0x68], eax
mov eax, dword [ebp - 0xe3c]
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0xe38]
mov dword [edi + 0x70], eax
mov eax, dword [ebp - 0xe34]
mov dword [edi + 0x74], eax
mov eax, dword [ebp - 0xe30]
mov dword [edi + 0x78], eax
mov eax, ecx
xor edi, edi
test ecx, ecx
mov ecx, edi
cmovle eax, edi
setg cl
dec ecx
mov edi, 1
cmp edx, eax
cmovle edx, eax
cmovg ecx, edi
cmp esi, edx
mov eax, 2
cmovle esi, edx
cmovg ecx, eax
mov edx, dword [ebp - 0xe9c]
mov eax, 3
cmp edx, esi
cmovle edx, esi
cmovg ecx, eax
cmp dword [ebp - 0xe98], edx
jg case.0x475cd1.4
mov dword [ebp - 0xfc4], edx
cmp ecx, 0xffffffff
jle 0x475d54
cmp ecx, 4
ja case.0x475cd1.1
mov dword [ebp - 0xfc4], edx
jmp dword [ecx*4 + 0x47fb64]
mov ecx, dword [ebp - 0xfe8]
mov eax, 0x11
mov dword [ecx + 0x1c], 0x11
jmp 0x475d39
mov ecx, dword [ebp - 0xfe8]
mov eax, 0x15
mov dword [ecx + 0x1c], 0x15
jmp 0x475d39
mov ecx, dword [ebp - 0xfe8]
mov eax, 9
mov dword [ecx + 0x1c], 9
jmp 0x475d39
mov ecx, dword [ebp - 0xfe8]
mov eax, 0xd
mov dword [ecx + 0x1c], 0xd
jmp 0x475d33
mov ecx, dword [ebp - 0xfe8]
mov eax, edi
mov dword [ecx + 0x1c], edi
mov edx, dword [ebp - 0xfc4]
cmp edx, 1
jle 0x475d42
inc eax
mov dword [ecx + 0x1c], eax
cmp edx, 4
jle 0x475d4b
inc eax
mov dword [ecx + 0x1c], eax
cmp edx, 9
jle 0x475d54
inc eax
mov dword [ecx + 0x1c], eax
mov edi, dword [ebp - 0x101c]
mov eax, 5
nop
cmp dword [ebp + eax*4 - 0xea8], 0
jg 0x475d75
inc eax
or ecx, 0xffffffff
cmp eax, 0xd
jle 0x475d60
jmp 0x475d78
lea ecx, [eax - 5]
cmp ecx, 0xffffffff
jle 0x475d9c
mov esi, dword [ebp - 0xfe8]
lea eax, [ecx + 0x19]
mov dword [esi + 0x1c], eax
mov eax, 0x66666667
imul dword [esi]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add dword [esi], eax
lea eax, [ebp - 0x418]
push str.You_have_created_a
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov esi, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0xff4]
call fcn.0044cd20
push eax
lea eax, [ebp - 0x418]
push 0x5d4de4
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xff0]
lea eax, [edi + 0x260]
push eax
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x1004]
movss dword [esp], xmm0
push dword [ebp - 0xff4]
push esi
call fcn.004872c0
imul ecx, dword [edi + 0x188], 0x980
push dword [ebp - 0xff4]
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
jmp 0x475fe2
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x475fe2
movss xmm0, dword [ebp - 0xff0]
divss xmm0, dword [ebp - 0x1004]
movss dword [ebp - 0xfcc], xmm0
call fcn.00568035
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d2e88]
divss xmm0, dword [0x5d25f0]
addss xmm0, dword [0x5d2054]
cvttss2si eax, xmm0
mov dword [ebp - 0xfc0], eax
call fcn.00568035
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5d25f0]
addss xmm0, dword [0x5d2054]
comiss xmm0, dword [ebp - 0xfcc]
jbe 0x475fbf
mov ecx, dword [esi + 0x110]
cmp ecx, 4
je 0x475f4c
cmp ecx, 8
jne 0x475fbf
mov eax, dword [esi + 0x11c]
mov eax, dword [eax]
cmp eax, 5
jl 0x475f4c
add eax, 0xfffffffb
cmp eax, 0xa
ja 0x475fbf
cmp dword [ebp - 0xfc0], 2
jne 0x475fbf
mov edx, dword [edi + 0x188]
imul eax, edx, 0x980
cmp dword [eax + edi + 0x2f0], 9
mov eax, edx
jle 0x475f89
cmp ecx, 8
jne 0x475f89
mov eax, dword [esi + 0x11c]
mov ecx, dword [eax]
mov eax, edx
cmp ecx, 5
jl 0x475f89
cmp ecx, 0xe
jge 0x475f89
inc dword [esi + 0x118]
mov eax, dword [edi + 0x188]
mov ecx, dword [esi + 0x118]
cmp ecx, 1
jle 0x475f9f
lea eax, [ecx - 1]
mov dword [esi + 0x118], eax
jmp 0x475fbf
imul eax, eax, 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x475ec3
mov ecx, dword [ebp - 0xfe4]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xffc], eax
mov dword [ebp - 0x1020], edx
test edx, edx
ja 0x47fb37
jb 0x47600f
cmp eax, 0x7530
jae 0x47fb37
movss xmm1, dword [ebp - 0xff0]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x1004]
divss xmm0, dword [0x5d25e8]
comiss xmm2, xmm0
jbe 0x47fb37
mov eax, dword [0x62eb80]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
movd xmm0, dword [eax + 0x98]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
call fcn.00558c30
movss xmm1, dword [ebp - 0xfcc]
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xfd0], xmm0
movss xmm0, dword [0x5d63ec]
comiss xmm1, xmm0
jb 0x4760a0
subss xmm1, xmm0
comiss xmm0, xmm1
jbe 0x4760a0
mov edi, dword [ebp - 0xfd0]
mov eax, dword [ebp - 0xfcc]
add edi, 0
adc eax, 0x80000000
jmp 0x4760ac
mov eax, dword [ebp - 0xfcc]
mov edi, dword [ebp - 0xfd0]
movaps xmm0, xmm1
mov dword [ebp - 0xfc0], eax
call fcn.005589b0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0xfe4]
add ecx, edi
mov dword [ebp - 0x1024], ecx
adc esi, dword [ebp - 0xfc0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1020]
push ecx
mov dword [eax + 4], esi
mov eax, dword [ebp - 0xffc]
push eax
push ecx
push eax
call fcn.005599c0
mov edi, eax
mov ecx, edx
shld ecx, edi, 4
shl edi, 4
sub edi, eax
mov eax, edi
mov dword [ebp - 0xfcc], edi
mov edi, dword [ebp - 0x101c]
sbb ecx, edx
shld ecx, eax, 1
add eax, eax
cmp ecx, esi
ja 0x47fb37
jb 0x476125
cmp eax, dword [ebp - 0x1024]
ja 0x47fb37
mov eax, dword [ebp - 0xfe4]
mov ecx, dword [ebp - 0xffc]
mov edx, dword [ebp - 0x1020]
add ecx, 1
push str.You_gained_a_skill_level__
adc edx, 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x418]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d62fc]
movss dword [eax + edi + 0x300], xmm0
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
lea eax, [ebp - 0x418]
push str.BUG:_Cannot_find_skill_for_level.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
mov edx, 0x5d4ae4
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x476228
cmp byte [ebp - 0xfd1], 0
je 0x476224
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x476228
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfd1], 0
jne 0x4761e6
xor ecx, ecx
jmp 0x47622d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47d450
mov edx, 0x5d4b30
mov ecx, eax
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x476282
cmp byte [ebp - 0xfd1], 0
je 0x47627e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x476282
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfd1], 0
jne 0x476240
xor ecx, ecx
jmp 0x476287
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47d450
mov edx, 0x5d4af8
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x4762d8
cmp byte [ebp - 0xfd1], 0
je 0x4762d4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x4762d8
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfd1], 0
jne 0x476296
xor ecx, ecx
jmp 0x4762dd
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47d450
mov edx, 0x5d4b18
mov ecx, eax
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x476332
cmp byte [ebp - 0xfd1], 0
je 0x47632e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x476332
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfd1], 0
jne 0x4762f0
xor ecx, ecx
jmp 0x476337
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47d450
mov edx, str.Scythe_Expertise
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x476388
cmp byte [ebp - 0xfd1], 0
je 0x476384
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfd1], al
lea eax, [edi + 0x260]
jne 0x476388
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfd1], 0
jne 0x476346
xor ecx, ecx
jmp 0x47638d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47d450
mov ecx, 0x5d4b08
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4763c0
test dl, dl
je 0x4763bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4763c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4763a0
xor eax, eax
jmp 0x4763c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x47d450
lea eax, [edi + 0x260]
mov ecx, str.Explosives
mov dword [ebp - 0xfcc], eax
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x476400
test dl, dl
je 0x4763fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x476400
add eax, 2
add ecx, 2
test dl, dl
jne 0x4763e0
xor eax, eax
jmp 0x476405
sbb eax, eax
or eax, 1
test eax, eax
jne 0x476e95
mov dword [ebp - 0x104c], 0x3f800000
xorps xmm0, xmm0
mov dword [ebp - 0x1054], 0x3f800000
mov dword [ebp - 0x1050], 0x3f800000
mov dword [ebp - 0xfc0], eax
mov dword [ebp - 0xffc], eax
imul eax, dword [edi + 0x188], 0x980
movss dword [ebp - 0xfc4], xmm0
movss dword [ebp - 0xfe4], xmm0
movss dword [ebp - 0x100c], xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
test ecx, ecx
je 0x476598
xor esi, esi
nop word [eax + eax]
mov eax, dword [ecx + 0x110]
cmp eax, 0xb
jne 0x4764d2
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ecx + 0x118]
add esi, ecx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm1, dword [eax + 4]
mulss xmm0, dword [eax + 8]
addss xmm1, dword [ebp - 0xfe4]
addss xmm0, dword [ebp - 0xfc4]
movss dword [ebp - 0xfe4], xmm1
movss dword [ebp - 0xfc4], xmm0
jmp 0x476569
cmp eax, 0xa
jne 0x476569
mov eax, dword [ecx + 0x11c]
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
cmovns ecx, eax
lea eax, [ecx*8]
sub eax, ecx
add eax, eax
mov dword [ebp - 0xfcc], eax
cmp eax, 0x163
jle 0x47652d
lea ecx, [eax - 0x164]
mov eax, 0x6c16c16d
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 8
imul eax, ecx, 0x168
mov ecx, 0xfffffe98
sub ecx, eax
mov eax, dword [ebp - 0xfcc]
add eax, ecx
lea ecx, [ebp - 0x104c]
movd xmm0, eax
push ecx
lea ecx, [ebp - 0x1054]
push ecx
lea ecx, [ebp - 0x1050]
push ecx
sub esp, 0xc
cvtdq2ps xmm0, xmm0
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
call fcn.0044d3e0
add esp, 0x18
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
test ecx, ecx
jne 0x476480
mov dword [ebp - 0xfc0], esi
mov esi, dword [ebp - 0xfd8]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
test eax, eax
je 0x476613
xor esi, esi
cmp dword [eax + 0x110], 0xc
jne 0x4765ea
mov ecx, dword [eax + 0x11c]
mov eax, dword [eax + 0x118]
add esi, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 4]
addss xmm0, dword [ebp - 0x100c]
movss dword [ebp - 0x100c], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x4765b7
mov dword [ebp - 0xffc], esi
mov esi, dword [ebp - 0xfd8]
cmp dword [ebp - 0xfc0], 0
movss xmm0, dword [ebp - 0x100c]
addss xmm0, dword [0x5d2058]
mulss xmm0, dword [ebp - 0xfe4]
movss dword [ebp - 0x100c], xmm0
jg 0x476646
push str.Use_explosive_material_to_make_a_bomb.
jmp 0x47faef
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfe4], 0
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x476e8b
mov esi, eax
nop dword [eax]
mov ecx, esi
call fcn.0044cd20
lea ecx, [edi + 0x260]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4766b0
test dl, dl
je 0x4766ac
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4766b0
add ecx, 2
add eax, 2
test dl, dl
jne 0x476690
xor eax, eax
jmp 0x4766b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4766c5
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0xfe4], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x476680
mov esi, dword [ebp - 0xfd8]
cmp dword [ebp - 0xfe4], eax
je 0x476e8b
mov ecx, edi
call fcn.00480430
mov ecx, dword [ebp - 0xfe4]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.005599c0
mov ecx, eax
call fcn.00558c30
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3fa66666
movss dword [ebp - 0xfcc], xmm0
mov dword [esp], 0x3f333333
call fcn.00491550
fmul dword [ebp - 0xfcc]
add esp, 8
mov ecx, 0x62f620
push esi
push 3
fstp dword [ebp - 0xfc0]
call fcn.0052e1c0
test eax, eax
je 0x47678a
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x47678a
movss xmm0, dword [ebp - 0xfc0]
mulss xmm0, dword [0x5d6328]
jmp 0x476792
movss xmm0, dword [ebp - 0xfc0]
push esi
push 4
mov ecx, 0x62f620
movss dword [ebp - 0xfe0], xmm0
call fcn.0052e1c0
test eax, eax
je 0x4767e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x4767e0
movss xmm0, dword [ebp - 0xfe0]
mulss xmm0, dword [0x5d6328]
movss dword [ebp - 0xfe0], xmm0
push esi
push 5
mov ecx, 0x62f620
call fcn.0052e1c0
test eax, eax
je 0x476828
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
movss xmm1, dword [ebp - 0xfe0]
test eax, eax
je 0x476830
mulss xmm1, dword [0x5d6328]
movss dword [ebp - 0xfe0], xmm1
jmp 0x476830
movss xmm1, dword [ebp - 0xfe0]
mov eax, dword [edi + 0x14f38]
test eax, eax
jle 0x47685d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6300]
addss xmm0, dword [0x5d2058]
mulss xmm0, xmm1
movss dword [ebp - 0xfe0], xmm0
movss xmm0, dword [ebp - 0x100c]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xfe0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
imul ecx, dword [edi + 0x188], 0x980
movss xmm0, dword [ebp - 0xfe0]
mov ecx, dword [ecx + edi + 0x2dc]
add ecx, 4
comiss xmm0, dword [ebp - 0x100c]
jb 0x476d6f
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x4769b8
mov esi, eax
nop word [eax + eax]
mov eax, dword [esi + 0x110]
cmp eax, 0xb
je 0x476975
cmp eax, 0xc
je 0x476975
cmp eax, 0xa
jne 0x476999
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x476960
movss xmm0, dword [ebp - 0xfc4]
xor esi, esi
divss xmm0, dword [0x5d25e4]
cvttss2si ecx, xmm0
nop
mov eax, 0x66666667
inc esi
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
test ecx, ecx
jg 0x4769d0
mov eax, 0xe
cmp esi, eax
cmovg esi, eax
lea eax, [esi + esi*4]
lea eax, [eax*4 + str.Tiny]
push eax
lea eax, [ebp - 0x418]
push str._s_Bomb
push eax
call fcn.0043d370
push 0x120
call fcn.00558849
add esp, 0x10
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x476a43
lea ecx, [ebp - 0x418]
push ecx
push 0
push 0xd
mov ecx, eax
call fcn.0050b900
mov esi, eax
mov dword [ebp - 0xfc0], eax
jmp 0x476a4b
xor esi, esi
mov dword [ebp - 0xfc0], esi
imul ecx, dword [edi + 0x188], 0x980
push esi
mov byte [ebp - 4], 0
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
movss xmm0, dword [ebp - 0x100c]
movss xmm1, dword [ebp - 0xfe0]
addss xmm0, xmm0
mov ecx, dword [esi + 0x11c]
mov eax, dword [ebp - 0xffc]
movss xmm2, dword [ebp - 0xfc4]
mov esi, dword [ebp - 0xfd8]
divss xmm1, xmm0
lea eax, [eax + eax*2]
movss dword [ecx], xmm2
xorps xmm0, xmm0
comiss xmm0, xmm1
mov dword [ecx + 0xc], eax
movss dword [ecx + 4], xmm1
jbe 0x476ab9
mov dword [ecx + 4], 0
xorps xmm1, xmm1
comiss xmm1, dword [0x5d2058]
jbe 0x476ac9
mov dword [ecx + 4], 0x3f800000
cmp eax, 1
jge 0x476ad5
mov dword [ecx + 4], 0x3f800000
mov edi, dword [ebp - 0xfc0]
addss xmm2, xmm2
movss xmm1, dword [0x5d31d8]
push str.You_have_created_a
movss dword [edi + 0x10c], xmm2
movss xmm0, dword [ebp - 0x1050]
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ecx + 0x14], eax
movss xmm0, dword [ebp - 0x1054]
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ecx + 0x18], eax
movss xmm0, dword [ebp - 0x104c]
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ecx + 0x1c], eax
lea eax, [ebp - 0x418]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, edi
call fcn.0044cd20
push eax
lea eax, [ebp - 0x418]
push 0x5d4de4
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov eax, dword [0x62eb80]
mov esi, dword [ebp - 0xfe4]
movd xmm0, dword [eax + 0x9c]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x100c]
movss dword [ebp - 0xfcc], xmm0
call fcn.00558c30
movss xmm1, dword [ebp - 0xfcc]
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xfd0], xmm0
movss xmm0, dword [0x5d63ec]
comiss xmm1, xmm0
jb 0x476c4d
subss xmm1, xmm0
comiss xmm0, xmm1
jbe 0x476c4d
mov eax, dword [ebp - 0xfd0]
add eax, 0
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0xfcc]
adc eax, 0x80000000
mov dword [ebp - 0xffc], eax
jmp 0x476c65
mov eax, dword [ebp - 0xfcc]
mov dword [ebp - 0xffc], eax
mov eax, dword [ebp - 0xfd0]
mov dword [ebp - 0xfc0], eax
movaps xmm0, xmm1
call fcn.005589b0
add eax, dword [ebp - 0xfc0]
mov edi, edx
mov dword [esi], eax
adc edi, dword [ebp - 0xffc]
mov dword [esi + 4], edi
mov ecx, dword [esi + 0xc]
push ecx
mov dword [ebp - 0xfcc], eax
mov eax, dword [esi + 8]
push eax
push ecx
push eax
mov dword [ebp - 0xfc0], eax
mov dword [ebp - 0xffc], ecx
call fcn.005599c0
mov ecx, eax
mov esi, 0x64
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
add esi, edx
cmp esi, edi
ja 0x47fb37
jb 0x476ccf
cmp eax, dword [ebp - 0xfcc]
ja 0x47fb37
mov eax, dword [ebp - 0xfe4]
mov ecx, dword [ebp - 0xfc0]
mov edx, dword [ebp - 0xffc]
add ecx, 1
push str.You_gained_a_skill_level__
adc edx, 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x418]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x101c]
imul eax, dword [ecx + 0x188], 0x980
movss xmm0, dword [eax + ecx + 0x300]
addss xmm0, dword [0x5d6304]
movss dword [eax + ecx + 0x300], xmm0
jmp 0x47fb37
mov dword [ebp - 0xfe4], 0
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x476dfb
mov esi, eax
nop word [eax + eax]
mov eax, dword [esi + 0x110]
cmp eax, 0xb
je 0x476da0
cmp eax, 0xc
jne 0x476dd6
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfe4]
mov ecx, esi
add eax, dword [esi + 0x118]
mov dword [ebp - 0xfe4], eax
mov eax, dword [esi]
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x476d90
mov esi, dword [ebp - 0xfd8]
mov byte [ebp - 0x107c], 0x46
mov ecx, esi
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x107b], eax
mov eax, 0x66666667
imul dword [ebp - 0xfe4]
mov dword [ebp - 0x1075], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x1071], 0
shr eax, 0x1f
add edx, 5
add eax, edx
push 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x106d], xmm0
mov al, byte [edi + 0x108]
mov byte [ebp - 0x1077], al
mov al, byte [edi + 0x10c]
mov byte [ebp - 0x1076], al
cvttss2si eax, xmm0
push eax
lea eax, [ebp - 0x107c]
push eax
push 0x13
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
jmp 0x47fb37
push str.BUG:_Cannot_find_skill_for_level.
jmp 0x47faef
mov ecx, 0x5d4ad0
lea eax, [edi + 0x260]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x476ec0
test dl, dl
je 0x476ebc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x476ec0
add eax, 2
add ecx, 2
test dl, dl
jne 0x476ea0
xor eax, eax
jmp 0x476ec5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x478eb8
mov dword [ebp - 0xff8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
test eax, eax
je 0x478eae
xor esi, esi
cmp dword [eax + 0x110], 1
jne 0x476f24
add esi, dword [eax + 0x118]
mov dword [ebp - 0xff8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x476ef6
cmp esi, 1
mov esi, dword [ebp - 0xfd8]
jl 0x478eae
mov eax, dword [ebp - 0xff8]
cmp dword [eax + 0x118], 1
mov esi, dword [eax + 0x11c]
mov dword [ebp - 0xfe0], esi
jle 0x476ffb
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x476fa4
push str.UNNAMED
push 0
push 0
mov ecx, eax
call fcn.0050b900
mov edx, eax
mov dword [ebp - 0xfc0], eax
jmp 0x476fac
xor edx, edx
mov dword [ebp - 0xfc0], edx
mov ecx, dword [ebp - 0xff8]
push edx
mov byte [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [ebp - 0xff8]
mov edx, dword [ebp - 0xfc0]
push edx
mov eax, dword [ecx + 0x118]
dec eax
mov dword [edx + 0x118], eax
mov dword [ecx + 0x118], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e480
lea eax, [ebp - 0xfc0]
mov ecx, edi
push eax
lea eax, [ebp - 0xfcc]
push eax
push esi
call fcn.00480450
mov ecx, esi
call fcn.004817d0
mov ecx, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xffc], xmm0
call fcn.004817d0
cmp dword [esi + 0x1c], 0x19
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1020], xmm0
movd xmm0, dword [esi]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xfe4], xmm0
jl 0x47706a
mulss xmm0, dword [0x5d25e4]
divss xmm0, dword [0x5d63bc]
movss dword [ebp - 0xfe4], xmm0
cmp dword [esi + 0x3c], 2
jne 0x477080
subss xmm0, dword [0x5d63c4]
movss dword [ebp - 0xfe4], xmm0
mov eax, dword [ebp - 0xfcc]
add eax, 2
movss xmm0, dword [ebp - 0xffc]
addss xmm0, dword [0x5d2058]
mov dword [ebp - 0x1008], 0
movd xmm1, eax
mov eax, 0x66666667
imul dword [esi + 0x20]
cvtdq2ps xmm1, xmm1
sar edx, 1
mov eax, edx
mulss xmm1, xmm0
shr eax, 0x1f
inc edx
add eax, edx
movd xmm0, eax
mov eax, 0x66666667
imul dword [esi + 0x28]
cvtdq2ps xmm0, xmm0
sar edx, 1
mov eax, edx
mulss xmm1, xmm0
shr eax, 0x1f
inc edx
add eax, edx
movd xmm0, eax
mov eax, 0x66666667
imul dword [esi + 0x24]
cvtdq2ps xmm0, xmm0
mov eax, 0x66666667
sar edx, 1
mov ecx, edx
mulss xmm1, xmm0
inc edx
shr ecx, 0x1f
add ecx, edx
imul dword [esi + 0x2c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
sar edx, 1
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
mulss xmm1, xmm0
movd xmm0, eax
mov eax, dword [esi + 0x34]
cvtdq2ps xmm0, xmm0
inc eax
mulss xmm1, xmm0
movd xmm0, eax
imul eax, dword [edi + 0x188], 0x980
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
movss dword [ebp - 0xff4], xmm1
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x4761a3
mov esi, eax
mov ecx, esi
call fcn.0044cd20
lea ecx, [edi + 0x260]
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x477190
test dl, dl
je 0x47718c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x477190
add ecx, 2
add eax, 2
test dl, dl
jne 0x477170
xor eax, eax
jmp 0x477195
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4771a5
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0x1008], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x477162
mov esi, dword [ebp - 0xfe0]
cmp dword [ebp - 0x1008], eax
je 0x4761a3
mov ecx, edi
call fcn.00480430
mov ecx, dword [ebp - 0x1008]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.005599c0
mov ecx, eax
call fcn.00558c30
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3f8ccccd
movss dword [ebp - 0xfcc], xmm0
mov dword [esp], 0x3f666666
call fcn.00491550
fmul dword [ebp - 0xfcc]
add esp, 8
mov eax, dword [ebp - 0xfd8]
mov ecx, 0x62f620
push eax
fmul dword [0x5d3018]
push 1
fstp dword [ebp - 0xfc0]
call fcn.0052e1c0
test eax, eax
je 0x47727a
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0xfd8]
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x47727a
movss xmm0, dword [ebp - 0xfc0]
mulss xmm0, dword [0x5d6328]
jmp 0x477282
movss xmm0, dword [ebp - 0xfc0]
push dword [ebp - 0xfd8]
mov ecx, 0x62f620
movss dword [ebp - 0xff0], xmm0
push 0
call fcn.0052e1c0
test eax, eax
je 0x4772d9
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0xfd8]
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x4772d9
movss xmm0, dword [ebp - 0xff0]
mulss xmm0, dword [0x5d6328]
movss dword [ebp - 0xff0], xmm0
push dword [ebp - 0xfd8]
mov ecx, 0x62f620
push 2
call fcn.0052e1c0
test eax, eax
je 0x47732a
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0xfd8]
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
movss xmm1, dword [ebp - 0xff0]
test eax, eax
je 0x477332
mulss xmm1, dword [0x5d6328]
movss dword [ebp - 0xff0], xmm1
jmp 0x477332
movss xmm1, dword [ebp - 0xff0]
mov eax, dword [edi + 0x14f38]
test eax, eax
jle 0x47735f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6300]
addss xmm0, dword [0x5d2058]
mulss xmm0, xmm1
movss dword [ebp - 0xff0], xmm0
movss xmm0, dword [ebp - 0xff4]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.This_weapons_complexity_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
movss xmm0, dword [ebp - 0xff0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
cmp dword [esi + 0x3c], 5
jle 0x477c7b
push 0x40
push 0
push dword [esi + 0x78]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x78], eax
push 0
push dword [esi + 0x74]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x74], eax
push 0
push dword [esi + 0x70]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x70], eax
push 0
push dword [esi + 0x6c]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x6c], eax
push 0
push dword [esi + 0x68]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x68], eax
push 0
push dword [esi + 0x64]
call fcn.0044cfa0
add esp, 0x48
mov dword [esi + 0x64], eax
push 0x40
push 0
push dword [esi + 0x60]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x60], eax
push 0
push dword [esi + 0x5c]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x5c], eax
push 0
push dword [esi + 0x58]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x58], eax
push 0
push dword [esi + 0x54]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x54], eax
push 0
push dword [esi + 0x50]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x50], eax
push 0
push dword [esi + 0x4c]
call fcn.0044cfa0
add esp, 0x48
mov dword [esi + 0x4c], eax
push 0x40
push 0
push dword [esi + 0x48]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x48], eax
push 0
push dword [esi + 0x44]
call fcn.0044cfa0
push 0x40
mov dword [esi + 0x44], eax
push 0
push dword [esi + 0x40]
call fcn.0044cfa0
add esp, 0x24
mov dword [esi + 0x40], eax
cmp dword [esi + 0x3c], 5
jle 0x477c7b
movss xmm0, dword [ebp - 0xff0]
divss xmm0, dword [0x5d4128]
movss xmm1, dword [ebp - 0xff4]
divss xmm0, xmm1
comiss xmm0, dword [0x5d2058]
jb 0x477c83
mov ecx, 1
mov dword [ebp - 0xfc4], 0
cmp eax, ecx
mov dword [ebp - 0xfc0], 0xffffffff
cmovge ecx, eax
xor edx, edx
cmp eax, 1
setge dl
dec edx
cmp eax, 1
mov eax, dword [ebp - 0xfc4]
setge al
lea eax, [eax*2 - 1]
mov dword [ebp - 0xfc4], eax
mov eax, dword [esi + 0x44]
cmp eax, ecx
jl 0x4775a4
mov dword [ebp - 0xfc0], edx
mov edx, 1
cmp dword [esi + 0x44], ecx
mov dword [ebp - 0x1004], edx
cmovl eax, ecx
cmovl ecx, dword [ebp - 0xfc4]
mov dword [ebp - 0xfe4], eax
mov eax, dword [esi + 0x48]
cmp eax, dword [ebp - 0xfe4]
jl 0x4775d3
mov ecx, dword [ebp - 0xfe4]
mov edx, 2
mov esi, dword [ebp - 0x1004]
cmovl esi, dword [ebp - 0xfc0]
cmovl eax, dword [ebp - 0xfe4]
mov dword [ebp - 0x1004], esi
mov esi, dword [ebp - 0xfe0]
mov dword [ebp - 0xfc4], edx
cmp dword [esi + 0x4c], eax
jl 0x477605
mov ecx, eax
mov edx, 3
mov edi, dword [ebp - 0xfc4]
cmovl edi, dword [ebp - 0x1004]
mov dword [ebp - 0xfc4], edi
mov edi, dword [esi + 0x4c]
cmovl edi, eax
mov dword [ebp - 0xfe4], edx
mov eax, edi
mov dword [ebp - 0xfcc], edi
cmp dword [esi + 0x50], eax
jl 0x477638
mov ecx, eax
mov edx, 4
mov edi, dword [ebp - 0xfe4]
cmovl edi, dword [ebp - 0xfc4]
mov dword [ebp - 0xfe4], edi
mov edi, dword [esi + 0x50]
cmovl edi, eax
mov dword [ebp - 0x1004], edx
mov eax, edi
mov dword [ebp - 0xfcc], edi
cmp dword [esi + 0x54], eax
jl 0x47766b
mov ecx, eax
mov edx, 5
mov esi, dword [ebp - 0x1004]
cmovl esi, dword [ebp - 0xfe4]
mov dword [ebp - 0x1004], esi
mov esi, dword [ebp - 0xfe0]
mov dword [ebp - 0xfc4], edx
cmp dword [esi + 0x54], eax
mov edi, dword [esi + 0x54]
cmovl edi, eax
mov eax, edi
mov dword [ebp - 0xfcc], edi
cmp dword [esi + 0x58], eax
jl 0x4776a7
mov ecx, eax
mov edx, 6
mov edi, dword [ebp - 0xfc4]
cmovl edi, dword [ebp - 0x1004]
mov dword [ebp - 0xfc4], edi
mov edi, dword [esi + 0x58]
cmovl edi, eax
mov dword [ebp - 0xfe4], edx
mov eax, edi
mov dword [ebp - 0xfcc], edi
cmp dword [esi + 0x5c], eax
jl 0x4776da
mov ecx, eax
mov edx, 7
mov esi, dword [ebp - 0xfe4]
cmovl esi, dword [ebp - 0xfc4]
mov dword [ebp - 0xfe4], esi
mov esi, dword [ebp - 0xfe0]
mov dword [ebp - 0x1004], edx
cmp dword [esi + 0x5c], eax
mov edi, dword [esi + 0x5c]
cmovl edi, eax
mov eax, edi
mov dword [ebp - 0xfcc], edi
cmp dword [esi + 0x60], eax
jl 0x477716
mov ecx, eax
mov edx, 8
mov edi, dword [ebp - 0x1004]
cmovl edi, dword [ebp - 0xfe4]
mov dword [ebp - 0x1004], edi
mov edi, dword [esi + 0x60]
cmovl edi, eax
mov dword [ebp - 0xfc4], edx
mov eax, edi
mov dword [ebp - 0xfcc], edi
cmp dword [esi + 0x64], eax
jl 0x477749
mov ecx, eax
mov edx, 9
mov esi, dword [ebp - 0xfc4]
cmovl esi, dword [ebp - 0x1004]
mov dword [ebp - 0xfc4], esi
mov esi, dword [ebp - 0xfe0]
mov dword [ebp - 0xfe4], edx
cmp dword [esi + 0x64], eax
mov edi, dword [esi + 0x64]
cmovl edi, eax
mov eax, edi
mov dword [ebp - 0xfcc], edi
cmp dword [esi + 0x68], eax
jl 0x477785
mov ecx, eax
mov edx, 0xa
mov edi, dword [ebp - 0xfe4]
cmovl edi, dword [ebp - 0xfc4]
mov dword [ebp - 0xfe4], edi
mov edi, dword [esi + 0x68]
cmovl edi, eax
mov dword [ebp - 0x1004], edx
mov eax, edi
mov dword [ebp - 0xfcc], edi
cmp dword [esi + 0x6c], eax
jl 0x4777b8
mov ecx, eax
mov edx, 0xb
mov esi, dword [ebp - 0x1004]
cmovl esi, dword [ebp - 0xfe4]
mov dword [ebp - 0x1004], esi
mov esi, dword [ebp - 0xfe0]
mov dword [ebp - 0x100c], edx
cmp dword [esi + 0x6c], eax
mov edi, dword [esi + 0x6c]
cmovl edi, eax
mov eax, dword [esi + 0x70]
mov dword [ebp - 0xfc4], edi
cmp eax, edi
jl 0x4777f4
mov ecx, edi
mov edx, 0xc
cmp eax, dword [ebp - 0xfc4]
mov edi, dword [ebp - 0x100c]
cmovl eax, dword [ebp - 0xfc4]
cmovl edi, dword [ebp - 0x1004]
mov dword [ebp - 0xfe4], edx
mov dword [ebp - 0x100c], edi
mov dword [ebp - 0xfc4], eax
cmp dword [esi + 0x74], eax
jl 0x47782c
mov ecx, eax
mov edx, 0xd
mov edi, dword [esi + 0x74]
cmp edi, dword [ebp - 0xfc4]
mov eax, dword [ebp - 0xfe4]
cmovl eax, dword [ebp - 0x100c]
cmovl edi, dword [ebp - 0xfc4]
mov dword [ebp - 0xfe4], eax
mov eax, edx
mov dword [ebp - 0xfdc], edx
mov dword [ebp - 0xfc0], edi
cmp dword [esi + 0x78], edi
jl 0x477869
mov ecx, edi
mov edx, 0xe
mov edi, dword [esi + 0x78]
cmp edi, dword [ebp - 0xfc0]
cmovl eax, dword [ebp - 0xfe4]
cmp edi, ecx
mov edi, dword [ebp - 0x101c]
mov dword [ebp - 0xfdc], eax
jle 0x4778a1
mov dword [ebp - 0xfdc], eax
cmp edx, 0xe
je 0x4778a1
mov ecx, dword [esi + 0x78]
mov dword [ebp - 0xfdc], 0xe
mov eax, dword [esi + 0x74]
cmp eax, ecx
jle 0x4778b9
cmp edx, 0xd
je 0x4778b9
mov dword [ebp - 0xfdc], 0xd
mov ecx, eax
mov eax, dword [esi + 0x70]
cmp eax, ecx
jle 0x4778d1
cmp edx, 0xc
je 0x4778d1
mov dword [ebp - 0xfdc], 0xc
mov ecx, eax
mov eax, dword [esi + 0x6c]
cmp eax, ecx
jle 0x4778e9
cmp edx, 0xb
je 0x4778e9
mov dword [ebp - 0xfdc], 0xb
mov ecx, eax
mov eax, dword [esi + 0x68]
cmp eax, ecx
jle 0x477901
cmp edx, 0xa
je 0x477901
mov dword [ebp - 0xfdc], 0xa
mov ecx, eax
mov eax, dword [esi + 0x64]
cmp eax, ecx
jle 0x477919
cmp edx, 9
je 0x477919
mov dword [ebp - 0xfdc], 9
mov ecx, eax
mov eax, dword [esi + 0x60]
cmp eax, ecx
jle 0x477931
cmp edx, 8
je 0x477931
mov dword [ebp - 0xfdc], 8
mov ecx, eax
mov eax, dword [esi + 0x5c]
cmp eax, ecx
jle 0x477949
cmp edx, 7
je 0x477949
mov dword [ebp - 0xfdc], 7
mov ecx, eax
mov eax, dword [esi + 0x58]
cmp eax, ecx
jle 0x477961
cmp edx, 6
je 0x477961
mov dword [ebp - 0xfdc], 6
mov ecx, eax
mov eax, dword [esi + 0x54]
cmp eax, ecx
jle 0x477979
cmp edx, 5
je 0x477979
mov dword [ebp - 0xfdc], 5
mov ecx, eax
mov eax, dword [esi + 0x50]
cmp eax, ecx
jle 0x477991
cmp edx, 4
je 0x477991
mov dword [ebp - 0xfdc], 4
mov ecx, eax
mov eax, dword [esi + 0x4c]
cmp eax, ecx
jle 0x4779a9
cmp edx, 3
je 0x4779a9
mov dword [ebp - 0xfdc], 3
mov ecx, eax
mov eax, dword [esi + 0x48]
cmp eax, ecx
jle 0x4779c1
cmp edx, 2
je 0x4779c1
mov dword [ebp - 0xfdc], 2
mov ecx, eax
mov eax, dword [esi + 0x44]
cmp eax, ecx
jle 0x4779d9
cmp edx, 1
je 0x4779d9
mov dword [ebp - 0xfdc], 1
mov ecx, eax
cmp dword [esi + 0x40], ecx
jle 0x4779ec
test edx, edx
je 0x4779fc
mov dword [ebp - 0xfdc], 0
test edx, edx
jns 0x4779fc
xor edx, edx
mov dword [esi + 0x34], edx
mov dword [esi + 4], 1
imul eax, edx, 0x13
lea ecx, [ebp - 0x418]
cmp dword [ebp - 0xfdc], 0xffffffff
lea eax, [eax + 0x611260]
jle 0x477a74
push ecx
push 0x5d1428
push eax
call fcn.0043dd00
lea ecx, [ebp - 0x418]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477a30
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push str.__WXZQPNS
push eax
call fcn.0043d370
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477a58
imul eax, dword [ebp - 0xfdc], 0x13
sub ecx, edx
lea ecx, [ebp + ecx - 0x418]
add eax, 0x611260
push ecx
push 0x5d1428
push eax
call fcn.0043dd00
lea ecx, [ebp - 0x418]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477a90
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push 0x5d4dcc
push eax
call fcn.0043d370
add esp, 8
xor ecx, ecx
lea eax, [ecx + ecx*8]
cmp dword [eax*8 + 0x610a50], 0x40
jg 0x477aca
mov eax, 6
inc ecx
cmp ecx, eax
jl 0x477ab1
jmp 0x477acd
lea eax, [ecx - 1]
xor edx, edx
lea ecx, [ebp - 0x418]
test eax, eax
cmovns edx, eax
mov eax, 5
cmp edx, eax
cmovg edx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0xfcc], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477af0
sub ecx, dword [ebp - 0xfcc]
lea eax, [edx + edx*8]
lea eax, [eax*8 + str.Dirk]
push eax
lea eax, [ebp - 0x418]
add eax, ecx
push eax
call fcn.0043d370
push 0x120
call fcn.00558849
add esp, 0xc
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x477b47
lea ecx, [ebp - 0x418]
push ecx
push 0
push 1
mov ecx, eax
call fcn.0050b900
mov edx, eax
jmp 0x477b49
xor edx, edx
mov ecx, dword [edx + 0x11c]
mov eax, dword [esi]
push edx
mov byte [ebp - 4], 0
mov dword [ecx], eax
mov eax, dword [ebp - 0xff8]
mov eax, dword [eax + 0x10c]
mov dword [edx + 0x10c], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x40a00000
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ecx + 0x2c], eax
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [esi + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 0x34]
mov dword [ecx + 0x34], eax
mov eax, dword [esi + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x50], eax
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x54], eax
mov eax, dword [esi + 0x58]
mov dword [ecx + 0x58], eax
mov eax, dword [esi + 0x5c]
mov dword [ecx + 0x5c], eax
mov eax, dword [esi + 0x60]
mov dword [ecx + 0x60], eax
mov eax, dword [esi + 0x64]
mov dword [ecx + 0x64], eax
mov eax, dword [esi + 0x68]
mov dword [ecx + 0x68], eax
mov eax, dword [esi + 0x6c]
mov dword [ecx + 0x6c], eax
mov eax, dword [esi + 0x70]
mov dword [ecx + 0x70], eax
mov eax, dword [esi + 0x74]
mov dword [ecx + 0x74], eax
mov eax, dword [esi + 0x78]
mov dword [ecx + 0x78], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx + 0x1c], eax
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
lea eax, [ebp - 0x418]
push str.You_have_recovered_the_greatsword.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov esi, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [esi + 0x11c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
lea edx, [ebp - 0xf78]
push 0
push edx
push 0x65
call eax
jmp 0x478bf9
movss xmm1, dword [ebp - 0xff4]
movss xmm2, dword [ebp - 0xffc]
movaps xmm0, xmm2
mulss xmm0, dword [0x5d6320]
cvttss2si eax, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x5d25dc]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xff0]
divss xmm0, dword [0x5d2e88]
push eax
divss xmm0, xmm1
mulss xmm0, xmm2
cvttss2si eax, xmm0
push eax
call fcn.0044cfa0
xorps xmm0, xmm0
movsd xmm1, qword [0x5d6368]
movups xmmword [ebp - 0xf10], xmm0
mov ecx, eax
add esp, 0xc
movups xmmword [ebp - 0xf00], xmm0
mov dword [ebp - 0xfcc], ecx
movups xmmword [ebp - 0xef0], xmm0
mov dword [ebp - 0xeb0], 0
movups xmmword [ebp - 0xee0], xmm0
movups xmmword [ebp - 0xed0], xmm0
movups xmmword [ebp - 0xec0], xmm0
movd xmm0, dword [esi + 0x78]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x78], eax
movd xmm0, dword [esi + 0x74]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x74], eax
movd xmm0, dword [esi + 0x70]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x70], eax
movd xmm0, dword [esi + 0x6c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x6c], eax
movd xmm0, dword [esi + 0x68]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x68], eax
movd xmm0, dword [esi + 0x64]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x64], eax
movd xmm0, dword [esi + 0x60]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x60], eax
movd xmm0, dword [esi + 0x5c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x5c], eax
movd xmm0, dword [esi + 0x58]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x58], eax
movd xmm0, dword [esi + 0x54]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x54], eax
movd xmm0, dword [esi + 0x50]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
mov dword [ebp - 0xffc], 0
cvttsd2si eax, xmm0
mov dword [esi + 0x50], eax
movd xmm0, dword [esi + 0x4c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x4c], eax
movd xmm0, dword [esi + 0x48]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x48], eax
movd xmm0, dword [esi + 0x44]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x44], eax
movd xmm0, dword [esi + 0x40]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esi + 0x40], eax
test ecx, ecx
jle 0x478081
mov eax, dword [esi + 0x78]
test eax, eax
je 0x477e6a
dec eax
mov ecx, 0xf
mov dword [esi + 0x78], eax
jmp 0x477f7d
mov eax, dword [esi + 0x74]
test eax, eax
je 0x477e7f
dec eax
mov ecx, 0xe
mov dword [esi + 0x74], eax
jmp 0x477f7d
mov eax, dword [esi + 0x70]
test eax, eax
je 0x477e94
dec eax
mov ecx, 0xd
mov dword [esi + 0x70], eax
jmp 0x477f7d
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x477ea9
dec eax
mov ecx, 0xc
mov dword [esi + 0x6c], eax
jmp 0x477f7d
mov eax, dword [esi + 0x68]
test eax, eax
je 0x477ebe
dec eax
mov ecx, 0xb
mov dword [esi + 0x68], eax
jmp 0x477f7d
mov eax, dword [esi + 0x64]
test eax, eax
je 0x477ed3
dec eax
mov ecx, 0xa
mov dword [esi + 0x64], eax
jmp 0x477f7d
mov eax, dword [esi + 0x60]
test eax, eax
je 0x477ee8
dec eax
mov ecx, 9
mov dword [esi + 0x60], eax
jmp 0x477f7d
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x477efd
dec eax
mov ecx, 8
mov dword [esi + 0x5c], eax
jmp 0x477f7d
mov eax, dword [esi + 0x58]
test eax, eax
je 0x477f0f
dec eax
mov ecx, 7
mov dword [esi + 0x58], eax
jmp 0x477f7d
mov eax, dword [esi + 0x54]
test eax, eax
je 0x477f21
dec eax
mov ecx, 6
mov dword [esi + 0x54], eax
jmp 0x477f7d
mov eax, dword [esi + 0x50]
test eax, eax
je 0x477f33
dec eax
mov ecx, 5
mov dword [esi + 0x50], eax
jmp 0x477f7d
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x477f45
dec eax
mov ecx, 4
mov dword [esi + 0x4c], eax
jmp 0x477f7d
mov eax, dword [esi + 0x48]
test eax, eax
je 0x477f57
dec eax
mov ecx, 3
mov dword [esi + 0x48], eax
jmp 0x477f7d
mov eax, dword [esi + 0x44]
test eax, eax
je 0x477f69
dec eax
mov ecx, 2
mov dword [esi + 0x44], eax
jmp 0x477f7d
mov eax, dword [esi + 0x40]
test eax, eax
je 0x478081
dec eax
mov ecx, 1
mov dword [esi + 0x40], eax
imul eax, ecx, 0x13
mov dword [ebp - 0xfdc], ecx
lea eax, [eax + 0x61124d]
push eax
lea eax, [ebp - 0x418]
push str._s_Ingot
push eax
call fcn.0043d370
push 0x120
call fcn.00558849
add esp, 0x10
mov dword [ebp - 0x1024], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x477fcd
lea ecx, [ebp - 0x418]
push ecx
push 0
push 4
mov ecx, eax
call fcn.0050b900
jmp 0x477fcf
xor eax, eax
mov edx, dword [eax + 0x11c]
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0xfdc]
mov byte [ebp - 4], 0
movd xmm0, eax
lea ecx, [eax + eax*2]
cvtdq2ps xmm0, xmm0
movss dword [edx + 0xc], xmm0
movss dword [edx + 0x10], xmm0
mov eax, dword [ecx*4 + 0x6113ec]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x6113f0]
mov dword [edx + 4], eax
mov eax, dword [ecx*4 + 0x6113f4]
mov ecx, dword [ebp - 0xfc0]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xfdc]
push ecx
mov dword [ecx + 0x108], 0x3f800000
movd xmm0, dword [eax*4 + 0x6113b8]
inc dword [ebp + eax*4 - 0xf14]
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x10c], xmm0
mov dword [ecx + 0x118], 1
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
mov ecx, dword [ebp - 0xffc]
inc ecx
mov dword [ebp - 0xffc], ecx
cmp ecx, dword [ebp - 0xfcc]
jl 0x477e55
mov edi, dword [ebp - 0xfd8]
lea eax, [ebp - 0xf10]
mov esi, 0x611260
mov dword [ebp - 0xfc0], eax
mov ecx, dword [eax]
test ecx, ecx
jle 0x4780f3
push esi
push ecx
lea eax, [ebp - 0x418]
push str.You_recover__d__s_Ingots.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov eax, dword [ebp - 0xfc0]
add eax, 4
add esi, 0x13
mov dword [ebp - 0xfc0], eax
cmp esi, 0x61143b
jl 0x478098
movss xmm2, dword [ebp - 0xff0]
divss xmm2, dword [0x5d25e4]
mov esi, dword [ebp - 0xfe0]
mov dword [ebp - 0x100c], 0
movd xmm1, dword [esi + 0x24]
divss xmm2, dword [ebp - 0xff4]
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0xfc4], xmm2
movaps xmm0, xmm1
mulss xmm0, dword [0x5d6320]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x5d6310]
push eax
cvttss2si eax, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm1
push eax
cvttss2si eax, xmm0
push eax
call fcn.0044cfa0
mov edi, dword [ebp - 0x101c]
add esp, 0xc
movd xmm0, eax
mov eax, dword [esi + 0x24]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfec], eax
comiss xmm0, dword [0x5d2058]
movss dword [ebp - 0xfcc], xmm0
jb 0x478283
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4781cd
push 0x5d3d10
push 0
push 8
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4781cf
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfcc]
push ecx
mov byte [ebp - 4], 0
mov dword [eax], 3
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], esi
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0x100c], 1
push str.You_recover__d_Glowing_White_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0xfe0]
movd xmm1, dword [esi + 0x28]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x5d6320]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0xfc4]
push eax
mulss xmm0, dword [0x5d6310]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.0044cfa0
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfec]
add eax, dword [esi + 0x28]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfec], eax
comiss xmm0, dword [0x5d2058]
movss dword [ebp - 0xfcc], xmm0
jb 0x4783d0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x47831a
push 0x5d3ce8
push 0
push 8
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x47831c
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfcc]
push ecx
mov byte [ebp - 4], 0
mov dword [eax], 4
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], esi
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0x100c], 1
push str.You_recover__d_Glowing_Red_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0xfe0]
movd xmm1, dword [esi + 0x2c]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x5d6320]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0xfc4]
push eax
mulss xmm0, dword [0x5d6310]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.0044cfa0
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfec]
add eax, dword [esi + 0x2c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfec], eax
comiss xmm0, dword [0x5d2058]
movss dword [ebp - 0xfcc], xmm0
jb 0x47851d
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x478467
push 0x5d3cfc
push 0
push 8
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x478469
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfcc]
push ecx
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], esi
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0x100c], 1
push str.You_recover__d_Glowing_Green_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0xfe0]
movd xmm1, dword [esi + 0x20]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x5d6320]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0xfc4]
push eax
mulss xmm0, dword [0x5d6310]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.0044cfa0
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfec]
add eax, dword [esi + 0x20]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfec], eax
comiss xmm0, dword [0x5d2058]
movss dword [ebp - 0xfcc], xmm0
jb 0x47866a
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4785b4
push 0x5d3d24
push 0
push 8
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4785b6
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfcc]
push ecx
mov byte [ebp - 4], 0
mov dword [eax], 2
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], esi
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0x100c], 1
push str.You_recover__d_Glowing_Black_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0xfe0]
movss xmm2, dword [ebp - 0xff0]
divss xmm2, dword [0x5d25e4]
mov eax, dword [esi + 0x34]
push eax
movd xmm1, eax
divss xmm2, dword [ebp - 0xff4]
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0xfc0], xmm2
movaps xmm0, xmm1
mulss xmm1, xmm2
mulss xmm0, dword [0x5d6310]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.0044cfa0
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfec]
add eax, dword [esi + 0x34]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfec], eax
comiss xmm0, dword [0x5d2058]
movss dword [ebp - 0xfcc], xmm0
jb 0x4787c6
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xffc], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x478710
push 0x5d51a4
push 0
push 8
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x478712
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfcc]
push ecx
mov byte [ebp - 4], 0
mov dword [eax], 0xe
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], esi
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0x100c], 1
push str.You_recover__d_Glowing_Gold_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0xfe0]
cmp dword [esi + 0x3c], 1
mov eax, dword [esi + 4]
jne 0x4787de
add eax, 0xffffffeb
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
jmp 0x4787e9
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm0
mulss xmm0, dword [ebp - 0xfc0]
movaps xmm2, xmm1
mulss xmm2, dword [0x5d6318]
mulss xmm1, dword [0x5d3c9c]
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm0
push eax
call fcn.0044cfa0
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfec]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
add eax, ecx
mov dword [ebp - 0xfc0], ecx
comiss xmm0, dword [0x5d2058]
mov dword [ebp - 0xfec], eax
jb 0x47892f
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x478876
push 0x5d3cd4
push 0
push 8
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x478878
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax], 1
mov dword [eax + 4], 1
mov eax, dword [ebp - 0xfc0]
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], eax
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
push dword [ebp - 0xfc0]
lea eax, [ebp - 0x418]
mov dword [ebp - 0x100c], 1
push str.You_recover__d_Glowing_Blue_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0xfec]
movss xmm0, dword [ebp - 0xff0]
divss xmm0, dword [0x5d4128]
add eax, dword [esi + 0x30]
mov dword [ebp - 0xfec], eax
push 1
push 0
divss xmm0, dword [ebp - 0xff4]
cvttss2si eax, xmm0
push eax
call fcn.0044cfa0
mov ecx, dword [esi + 0x38]
add esp, 0xc
xor edx, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xfc0], xmm0
cmp ecx, 0x2710
jl 0x478997
add ecx, 0xffffd8f0
mov eax, 0x68db8bad
imul ecx
sar edx, 0xa
mov eax, edx
add edx, 5
shr eax, 0x1f
add edx, eax
xor ecx, ecx
cmp dword [ebp - 0xfec], 5
cmovge ecx, edx
cmp dword [ebp - 0xfec], 0xe
mov dword [ebp - 0xfc4], ecx
jle 0x4789c5
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x4789c5
lea eax, [ecx + 0xa]
mov dword [ebp - 0xfc4], eax
call fcn.00568035
movss xmm0, dword [ebp - 0xfc0]
mov ecx, 0x64
cdq
xorps xmm1, xmm1
idiv ecx
comiss xmm0, xmm1
jbe 0x478b47
cmp dword [esi + 0x38], 0x2710
jl 0x478b47
cmp dword [ebp - 0x100c], 0
je 0x478b47
cmp edx, dword [ebp - 0xfc4]
jge 0x478b47
movss xmm0, dword [ebp - 0xfe4]
comiss xmm0, dword [0x5d63cc]
jb 0x478b47
call fcn.00568035
mov esi, eax
and esi, 0x80000007
jns 0x478a35
dec esi
or esi, 0xfffffff8
inc esi
push 0x120
add esi, 5
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x478a6e
mov ecx, esi
shl ecx, 6
add ecx, str.Glowing_Green_Dust
push ecx
push 0
push 8
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x478a70
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax], esi
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], 1
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
lea eax, [ebp - 0x418]
push str.You_find_something_special_inside_the_weapon.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov esi, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x418]
push str._s_got_a_shard_n
push eax
call fcn.0043d370
lea eax, [ebp - 0x418]
push eax
push str.ShardCreationLog.txt
call fcn.004a2390
add esp, 0x14
jmp 0x478bf9
mov eax, dword [0x62eb80]
cmp dword [eax + 0x7c], 0
je 0x478bf3
call fcn.00568035
movss xmm0, dword [ebp - 0xfc0]
mov ecx, 0xa
cdq
xorps xmm1, xmm1
idiv ecx
comiss xmm0, xmm1
jbe 0x478bf3
cmp dword [esi + 0x38], 0x2710
jl 0x478bf3
cmp dword [ebp - 0x100c], 0
je 0x478bf3
cmp edx, 1
jne 0x478bf3
movss xmm0, dword [ebp - 0x1020]
comiss xmm0, dword [0x5d63d0]
jb 0x478bf3
call fcn.00568035
mov esi, eax
and esi, 0x80000007
jns 0x478bb3
dec esi
or esi, 0xfffffff8
inc esi
push 0x120
add esi, 5
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x478a6e
mov ecx, esi
shl ecx, 6
add ecx, str.Glowing_Green_Dust
push ecx
push 0
push 8
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x478a70
mov esi, dword [ebp - 0xfd8]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x478ca0
mov esi, eax
cmp dword [ebp - 0xff8], esi
jne 0x478c7b
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x478c3e
dec eax
mov dword [esi + 0x118], eax
jmp 0x478c62
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x478c22
mov esi, dword [ebp - 0xfd8]
lea eax, [ebp - 0x418]
push str.You_dismantle_the_weapon.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov esi, dword [ebp - 0x1008]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [ebp - 0xffc], eax
mov dword [ebp - 0x1020], ecx
test ecx, ecx
ja 0x47fb37
jb 0x478d1a
cmp eax, 0x7530
jae 0x47fb37
movss xmm1, dword [ebp - 0xff0]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0xff4]
divss xmm0, dword [0x5d25e4]
comiss xmm2, xmm0
jbe 0x47fb37
mov eax, dword [0x62eb80]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
movd xmm0, dword [eax + 0x98]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
call fcn.00558c30
movss xmm1, dword [ebp - 0xfcc]
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xfd0], xmm0
movss xmm0, dword [0x5d63ec]
comiss xmm1, xmm0
jb 0x478dab
subss xmm1, xmm0
comiss xmm0, xmm1
jbe 0x478dab
mov edi, dword [ebp - 0xfd0]
mov eax, dword [ebp - 0xfcc]
add edi, 0
adc eax, 0x80000000
jmp 0x478db7
mov eax, dword [ebp - 0xfcc]
mov edi, dword [ebp - 0xfd0]
movaps xmm0, xmm1
mov dword [ebp - 0xfc0], eax
call fcn.005589b0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x1008]
add ecx, edi
mov dword [ebp - 0x1024], ecx
adc esi, dword [ebp - 0xfc0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1020]
push ecx
mov dword [eax + 4], esi
mov eax, dword [ebp - 0xffc]
push eax
push ecx
push eax
call fcn.005599c0
mov edi, eax
mov ecx, edx
shld ecx, edi, 4
shl edi, 4
sub edi, eax
mov eax, edi
mov dword [ebp - 0xfcc], edi
mov edi, dword [ebp - 0x101c]
sbb ecx, edx
shld ecx, eax, 1
add eax, eax
cmp ecx, esi
ja 0x47fb37
jb 0x478e30
cmp eax, dword [ebp - 0x1024]
ja 0x47fb37
mov edx, dword [ebp - 0x1008]
mov eax, dword [ebp - 0xffc]
mov ecx, dword [ebp - 0x1020]
add eax, 1
push str.You_gained_a_skill_level__
mov dword [edx + 8], eax
adc ecx, 0
lea eax, [ebp - 0x418]
mov dword [edx + 0xc], ecx
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d62fc]
movss dword [eax + edi + 0x300], xmm0
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
push str.Put_a_weapon_in_the_workbench_to_dismantle_it.
jmp 0x47faef
mov ecx, 0x5d5274
lea eax, [edi + 0x260]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x478ee3
test dl, dl
je 0x478edf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x478ee3
add eax, 2
add ecx, 2
test dl, dl
jne 0x478ec3
xor eax, eax
jmp 0x478ee8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47982e
mov dword [ebp - 0xff4], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
test eax, eax
je 0x479824
xor esi, esi
nop dword [eax]
cmp dword [eax + 0x110], 0xd
jne 0x478f4e
add esi, dword [eax + 0x118]
mov dword [ebp - 0xff4], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x478f20
cmp esi, 1
mov esi, dword [ebp - 0xfd8]
jl 0x479824
mov eax, dword [ebp - 0xff4]
cmp dword [eax + 0x118], 1
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0xfe4], ecx
jle 0x47902b
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x478fce
push str.UNNAMED
push 0
push 0
mov ecx, eax
call fcn.0050b900
mov edx, eax
mov dword [ebp - 0xfc0], eax
jmp 0x478fd6
xor edx, edx
mov dword [ebp - 0xfc0], edx
mov ecx, dword [ebp - 0xff4]
push edx
mov byte [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [ebp - 0xff4]
mov edx, dword [ebp - 0xfc0]
push edx
mov eax, dword [ecx + 0x118]
dec eax
mov dword [edx + 0x118], eax
mov dword [ecx + 0x118], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e480
mov ecx, dword [ebp - 0xfe4]
movss xmm1, dword [0x5d2058]
divss xmm1, dword [ecx + 4]
mov eax, dword [ecx + 0xc]
inc eax
mov dword [ebp - 0xff8], 0
movd xmm0, eax
imul eax, dword [edi + 0x188], 0x980
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx]
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
mulss xmm1, xmm0
movss dword [ebp - 0xfc4], xmm1
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x476e8b
mov esi, eax
mov ecx, esi
call fcn.0044cd20
lea ecx, [edi + 0x260]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4790b3
test dl, dl
je 0x4790af
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4790b3
add ecx, 2
add eax, 2
test dl, dl
jne 0x479093
xor eax, eax
jmp 0x4790b8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4790c8
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0xff8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x479086
mov esi, dword [ebp - 0xfd8]
cmp dword [ebp - 0xff8], eax
je 0x476e8b
mov ecx, edi
call fcn.00480430
mov ecx, dword [ebp - 0xff8]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.005599c0
mov ecx, eax
call fcn.00558c30
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3f8ccccd
movss dword [ebp - 0xfcc], xmm0
mov dword [esp], 0x3f666666
call fcn.00491550
fmul dword [ebp - 0xfcc]
add esp, 8
mov ecx, 0x62f620
push esi
fmul dword [0x5d3018]
push 1
fstp dword [ebp - 0xfc0]
call fcn.0052e1c0
test eax, eax
je 0x479193
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x479193
movss xmm0, dword [ebp - 0xfc0]
mulss xmm0, dword [0x5d6328]
jmp 0x47919b
movss xmm0, dword [ebp - 0xfc0]
push esi
push 0
mov ecx, 0x62f620
movss dword [ebp - 0xfe0], xmm0
call fcn.0052e1c0
test eax, eax
je 0x4791e9
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x4791e9
movss xmm0, dword [ebp - 0xfe0]
mulss xmm0, dword [0x5d6328]
movss dword [ebp - 0xfe0], xmm0
push esi
push 2
mov ecx, 0x62f620
call fcn.0052e1c0
test eax, eax
je 0x479231
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
movss xmm1, dword [ebp - 0xfe0]
test eax, eax
je 0x479239
mulss xmm1, dword [0x5d6328]
movss dword [ebp - 0xfe0], xmm1
jmp 0x479239
movss xmm1, dword [ebp - 0xfe0]
mov eax, dword [edi + 0x14f38]
test eax, eax
jle 0x479266
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6300]
addss xmm0, dword [0x5d2058]
mulss xmm0, xmm1
movss dword [ebp - 0xfe0], xmm0
movss xmm0, dword [ebp - 0xfc4]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.This_bombs_difficulty_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xfe0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xfe0]
movss xmm1, dword [ebp - 0xfc4]
comiss xmm0, xmm1
jb 0x4794e9
mov eax, dword [ebp - 0xff4]
movss xmm0, dword [eax + 0x10c]
mov eax, dword [ebp - 0xfe4]
addss xmm0, xmm0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
add eax, eax
movd xmm1, eax
imul eax, dword [edi + 0x188], 0x980
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
movss dword [ebp - 0xfc0], xmm1
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x47941e
mov esi, eax
nop dword [eax + eax]
cmp dword [ebp - 0xff4], esi
jne 0x4793f9
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x4793bc
dec eax
mov dword [esi + 0x118], eax
jmp 0x4793e0
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4793a0
mov esi, dword [ebp - 0xfd8]
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x47944b
push str.Disarmed_Bomb
push 0
push 0
mov ecx, eax
call fcn.0050b900
jmp 0x47944d
xor eax, eax
movss xmm0, dword [ebp - 0xfc0]
mov dword [eax + 0x108], 0x3f800000
movss dword [eax + 0x10c], xmm0
mov dword [eax + 0x118], 1
imul ecx, dword [edi + 0x188], 0x980
push eax
mov byte [ebp - 4], 0
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
lea eax, [ebp - 0x418]
push str.You_disarmed_the_bomb.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xfe0]
movss xmm1, dword [ebp - 0xfc4]
mov eax, dword [ebp - 0xff8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1020], ecx
mov dword [ebp - 0x1024], eax
test eax, eax
ja 0x47967a
jb 0x479517
cmp ecx, 0x7530
jae 0x47967a
comiss xmm0, xmm1
jb 0x47967a
mov eax, dword [0x62eb80]
mov edi, dword [ebp - 0xff8]
movd xmm0, dword [eax + 0x9c]
mov edx, dword [edi + 4]
mov ecx, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
call fcn.00558c30
movss xmm1, dword [ebp - 0xfcc]
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xfd0], xmm0
movss xmm0, dword [0x5d63ec]
comiss xmm1, xmm0
jb 0x47959f
subss xmm1, xmm0
comiss xmm0, xmm1
jbe 0x47959f
mov eax, dword [ebp - 0xfd0]
add eax, 0
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0xfcc]
adc eax, 0x80000000
mov dword [ebp - 0xffc], eax
jmp 0x4795b7
mov eax, dword [ebp - 0xfcc]
mov dword [ebp - 0xffc], eax
mov eax, dword [ebp - 0xfd0]
mov dword [ebp - 0xfc0], eax
movaps xmm0, xmm1
call fcn.005589b0
add eax, dword [ebp - 0xfc0]
mov esi, edx
mov ecx, dword [ebp - 0x1024]
adc esi, dword [ebp - 0xffc]
push ecx
mov dword [edi], eax
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0x1020]
push eax
push ecx
push eax
mov dword [edi + 4], esi
call fcn.005599c0
mov edi, eax
mov ecx, edx
shld ecx, edi, 4
shl edi, 4
sub edi, eax
mov eax, edi
mov dword [ebp - 0xfcc], edi
mov edi, dword [ebp - 0xff8]
sbb ecx, edx
shld ecx, eax, 1
add eax, eax
cmp ecx, esi
ja 0x47fb37
jb 0x479626
cmp eax, dword [ebp - 0xfc0]
ja 0x47fb37
mov eax, dword [ebp - 0x1020]
mov ecx, dword [ebp - 0x1024]
add eax, 1
mov dword [edi + 8], eax
lea eax, [ebp - 0x418]
adc ecx, 0
push str.You_gained_a_skill_level__
push eax
mov dword [edi + 0xc], ecx
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
lea eax, [ebp - 0x418]
push str.You_failed_to_disarm_the_bomb_
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
push 0x1a0
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4796f4
push edi
mov ecx, eax
call fcn.004915c0
mov ecx, eax
mov dword [ebp - 0xfc4], eax
jmp 0x4796fc
xor ecx, ecx
mov dword [ebp - 0xfc4], ecx
mov eax, dword [edi + 0x108]
mov edx, dword [ebp - 0xfe4]
mov dword [ecx + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x10c], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x184], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x188], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x18c], eax
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x190], eax
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x194], eax
mov eax, dword [edx]
mov byte [ebp - 4], 0
mov dword [ecx + 0x180], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xfc4]
mov dword [ecx + 0x198], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x47980e
mov esi, eax
nop
cmp dword [ebp - 0xff4], esi
jne 0x4797e9
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x4797ac
dec eax
mov dword [esi + 0x118], eax
jmp 0x4797d0
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x479790
mov esi, dword [ebp - 0xfd8]
push dword [ebp - 0xfc4]
mov ecx, dword [esi + 0x118]
call fcn.00513e00
jmp 0x47fb37
push str.Put_a_bomb_in_the_workbench_to_attempt_to_disarm_it.
jmp 0x47faef
mov ecx, 0x5d4bc4
lea eax, [edi + 0x260]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x479860
test dl, dl
je 0x47985c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x479860
add eax, 2
add ecx, 2
test dl, dl
jne 0x479840
xor eax, eax
jmp 0x479865
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47a325
movss xmm0, dword [0x5d2058]
xor edx, edx
mov dword [ebp - 0xfc4], eax
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xffc], edx
mov dword [ebp - 0xff8], 0xffffffff
movss dword [ebp - 0x1008], xmm0
movss dword [ebp - 0xfe4], xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
test eax, eax
je 0x47a31b
or esi, 0xffffffff
mov ecx, dword [ebp - 0xff8]
mov edx, esi
mov dword [ebp - 0xfc0], ecx
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0xfcc], esi
cmp ecx, 0xa
jne 0x479917
mov eax, dword [eax + 0x11c]
cmp edx, 0xffffffff
mov ecx, dword [eax]
cmove esi, ecx
mov eax, dword [eax + 8]
cmp edx, 0xffffffff
cmove ecx, dword [ebp - 0xfc0]
mov dword [ebp - 0xff8], ecx
cmp eax, 0x17
jg 0x47990b
cmp eax, 0xfffffffe
jne 0x479977
mov dword [ebp - 0xffc], 1
jmp 0x479977
cmp ecx, 0x10
jne 0x479977
mov ecx, dword [eax + 0x11c]
mov edx, dword [ecx]
test edx, edx
jne 0x479952
mov eax, dword [eax + 0x118]
add dword [ebp - 0xfc4], eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 4]
addss xmm0, dword [ebp - 0x1008]
movss dword [ebp - 0x1008], xmm0
jmp 0x479977
cmp edx, 1
jne 0x479977
movd xmm0, dword [eax + 0x118]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 4]
addss xmm0, dword [ebp - 0xfe4]
movss dword [ebp - 0xfe4], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x4798c1
mov dword [ebp - 0x1004], esi
cmp esi, 0xffffffff
mov esi, dword [ebp - 0xfd8]
je 0x47a31b
cmp dword [ebp - 0xfc4], 1
jge 0x4799c0
push str.An_EarthKey_requires_at_least_one_bead_to_power_it.
jmp 0x47faef
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xff4], 0
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x476e8b
mov esi, eax
mov ecx, esi
call fcn.0044cd20
lea ecx, [edi + 0x260]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x479a20
test dl, dl
je 0x479a1c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x479a20
add ecx, 2
add eax, 2
test dl, dl
jne 0x479a00
xor eax, eax
jmp 0x479a25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x479a35
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0xff4], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4799f3
mov esi, dword [ebp - 0xfd8]
cmp dword [ebp - 0xff4], eax
je 0x476e8b
mov ecx, edi
call fcn.00485890
mov ecx, dword [ebp - 0xff4]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.005599c0
mov ecx, eax
call fcn.00558c30
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3fa66666
mulss xmm0, dword [0x5d630c]
mov dword [esp], 0x3f333333
movss dword [ebp - 0xfcc], xmm0
call fcn.00491550
fmul dword [ebp - 0xfcc]
add esp, 8
mov ecx, 0x62f620
push esi
push 6
fstp dword [ebp - 0xfc0]
call fcn.0052e1c0
test eax, eax
je 0x479b02
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x479b02
movss xmm0, dword [ebp - 0xfc0]
mulss xmm0, dword [0x5d33b8]
jmp 0x479b0a
movss xmm0, dword [ebp - 0xfc0]
push esi
push 7
mov ecx, 0x62f620
movss dword [ebp - 0xfe0], xmm0
call fcn.0052e1c0
test eax, eax
je 0x479b5a
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
movss xmm1, dword [ebp - 0xfe0]
test eax, eax
je 0x479b62
mulss xmm1, dword [0x5d25e0]
movss dword [ebp - 0xfe0], xmm1
jmp 0x479b62
movss xmm1, dword [ebp - 0xfe0]
mov eax, dword [edi + 0x14f34]
test eax, eax
jle 0x479b8f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6300]
addss xmm0, dword [0x5d2058]
mulss xmm0, xmm1
movss dword [ebp - 0xfe0], xmm0
mov eax, dword [ebp - 0xfc4]
sub esp, 8
imul eax, eax
movd xmm0, eax
lea eax, [ebp - 0x418]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0xfe4]
mulss xmm0, dword [0x5d6348]
movss dword [ebp - 0x100c], xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xfe0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xfe0]
comiss xmm0, dword [ebp - 0x100c]
jb 0x47a1ff
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x479d09
mov esi, eax
nop dword [eax]
mov eax, dword [esi + 0x110]
cmp eax, 0xa
je 0x479cc0
cmp eax, 0x10
jne 0x479ce4
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x479cb0
mov esi, dword [ebp - 0xfd8]
movss xmm0, dword [ebp - 0x1008]
mulss xmm0, dword [ebp - 0xfe4]
push 4
push 0
cvttss2si eax, xmm0
movss dword [ebp - 0xfc4], xmm0
and eax, reloc.WS2_32.dll_closesocket
jns 0x479d35
dec eax
or eax, 0xfffffffc
inc eax
push eax
call fcn.0044cfa0
movss xmm0, dword [ebp - 0xfc4]
divss xmm0, dword [0x5d25e4]
push 4
push 0
cvttss2si eax, xmm0
and eax, reloc.WS2_32.dll_closesocket
jns 0x479d5f
dec eax
or eax, 0xfffffffc
inc eax
push eax
call fcn.0044cfa0
mov eax, dword [0x62eb80]
add esp, 0x18
cmp dword [eax + 0x7c], 0
jne 0x479e17
mov eax, dword [ebp - 0x1004]
cmp eax, 0x15
je 0x479d91
cmp eax, 0x1b
je 0x479d91
cmp eax, 0x1f
je 0x479d91
cmp eax, 0x20
jne 0x479d9b
mov dword [ebp - 0x1004], 0
mov eax, dword [ebp - 0xff8]
cmp eax, 0x15
je 0x479db5
cmp eax, 0x1b
je 0x479db5
cmp eax, 0x1f
je 0x479db5
cmp eax, 0x20
jne 0x479e1d
movss xmm0, dword [ebp - 0xfc4]
addss xmm0, dword [0x5d25e8]
mov dword [ebp - 0xff8], 0
cvttss2si ecx, xmm0
push ecx
lea eax, [ebp - 0x418]
push str._dm_mixed_EarthKey
push eax
call fcn.0043d370
add esp, 0xc
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x479e5c
lea ecx, [ebp - 0x418]
push ecx
push 0
push 0x11
mov ecx, eax
call fcn.0050b900
jmp 0x479e5e
mov eax, dword [ebp - 0xff8]
movss xmm0, dword [ebp - 0xfc4]
addss xmm0, dword [0x5d25e8]
cvttss2si ecx, xmm0
test eax, eax
jns 0x479dd3
imul eax, dword [ebp - 0x1004], 0x258
add eax, str.Ghost
push eax
push ecx
lea eax, [ebp - 0x418]
push str._dm__s_EarthKey
push eax
call fcn.0043d370
add esp, 0x10
jmp 0x479de8
xor eax, eax
movss xmm1, dword [ebp - 0x1008]
mulss xmm1, dword [ebp - 0xfe4]
mov dword [eax + 0x108], 0
mov dword [ebp - 0xfc4], eax
mov byte [ebp - 4], 0
movaps xmm0, xmm1
movss dword [ebp - 0x1008], xmm1
mulss xmm0, dword [0x5d3018]
addss xmm0, dword [0x5d63d4]
movss dword [eax + 0x10c], xmm0
mov dword [eax + 0x118], 1
mov ecx, dword [eax + 0x11c]
mov eax, dword [ebp - 0x1004]
cvtps2pd xmm0, xmm1
mov dword [ebp - 0xfc0], ecx
movss dword [ecx + 8], xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xff8]
mov dword [ecx + 0x10], eax
ja 0x479ee4
sqrtsd xmm0, xmm0
jmp 0x479ee9
call fcn.00594f20
divsd xmm0, qword [0x5d63f0]
mov ecx, 2
cvttsd2si eax, xmm0
sub ecx, eax
mov eax, dword [ebp - 0xfc0]
lea ecx, [ecx + ecx*4]
mov dword [ebp - 0x1020], ecx
mov dword [eax], ecx
cmp ecx, 0xa
jge 0x479f22
mov dword [eax], 0xa
mov dword [ebp - 0x1020], 0xa
movss xmm0, dword [ebp - 0x1008]
xorps xmm1, xmm1
mulss xmm0, dword [0x5d631c]
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x479f44
sqrtsd xmm0, xmm0
jmp 0x479f49
call fcn.00594f20
divsd xmm0, qword [0x5d63f0]
mov ecx, 2
cvttsd2si eax, xmm0
sub ecx, eax
mov eax, dword [ebp - 0xfc0]
lea ecx, [ecx + ecx*4]
mov dword [eax + 4], ecx
cmp ecx, 0xa
jge 0x479f79
mov dword [eax + 4], 0xa
mov ecx, 0xa
cmp dword [ebp - 0xffc], 1
jne 0x479f91
mov edx, dword [ebp - 0x1020]
neg edx
neg ecx
mov dword [eax], edx
mov dword [eax + 4], ecx
lea eax, [ebp - 0x418]
push str.You_have_created_a
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, dword [ebp - 0xfc4]
call fcn.0044cd20
push eax
lea eax, [ebp - 0x418]
push 0x5d4de4
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
imul ecx, dword [edi + 0x188], 0x980
push dword [ebp - 0xfc4]
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
mov ecx, dword [ebp - 0xff4]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xffc], eax
mov dword [ebp - 0x1020], edx
test edx, edx
ja 0x47fb37
jb 0x47a080
cmp eax, 0x7530
jae 0x47fb37
movss xmm1, dword [ebp - 0xfe0]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x100c]
divss xmm0, dword [0x5d25e8]
comiss xmm2, xmm0
jbe 0x47fb37
mov eax, dword [0x62eb80]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
movd xmm0, dword [eax + 0xa0]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
call fcn.00558c30
movss xmm1, dword [ebp - 0xfcc]
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xfd0], xmm0
movss xmm0, dword [0x5d63ec]
comiss xmm1, xmm0
jb 0x47a111
subss xmm1, xmm0
comiss xmm0, xmm1
jbe 0x47a111
mov edi, dword [ebp - 0xfd0]
mov eax, dword [ebp - 0xfcc]
add edi, 0
adc eax, 0x80000000
jmp 0x47a11d
mov eax, dword [ebp - 0xfcc]
mov edi, dword [ebp - 0xfd0]
movaps xmm0, xmm1
mov dword [ebp - 0xfc0], eax
call fcn.005589b0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0xff4]
add ecx, edi
mov dword [ebp - 0x1024], ecx
adc esi, dword [ebp - 0xfc0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1020]
push ecx
mov dword [eax + 4], esi
mov eax, dword [ebp - 0xffc]
push eax
push ecx
push eax
call fcn.005599c0
mov edi, eax
mov ecx, edx
shld ecx, edi, 4
shl edi, 4
sub edi, eax
mov eax, edi
mov dword [ebp - 0xfcc], edi
mov edi, dword [ebp - 0x101c]
sbb ecx, edx
shld ecx, eax, 1
add eax, eax
cmp ecx, esi
ja 0x47fb37
jb 0x47a196
cmp eax, dword [ebp - 0x1024]
ja 0x47fb37
mov eax, dword [ebp - 0xff4]
mov ecx, dword [ebp - 0xffc]
mov edx, dword [ebp - 0x1020]
add ecx, 1
push str.You_gained_a_skill_level__
adc edx, 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x418]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d6310]
jmp 0x476189
lea eax, [ebp - 0x418]
push str.Your_Eye_of_the_Earth_fails_to_see.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x47fb37
movss xmm0, dword [ebp - 0xfe0]
divss xmm0, dword [ebp - 0x100c]
movss dword [ebp - 0xfe0], xmm0
call fcn.00568035
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5d25f0]
addss xmm0, xmm1
comiss xmm0, dword [ebp - 0xfe0]
jbe 0x47a2f3
mov eax, dword [esi + 0x110]
cmp eax, 0xa
je 0x47a2bb
cmp eax, 0x10
jne 0x47a2f3
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x47a2cf
dec eax
mov dword [esi + 0x118], eax
jmp 0x47a2f3
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x47a287
jmp 0x47fb37
push str.An_EarthKey_requires_the_flesh_of_a_monster.
jmp 0x47faef
mov ecx, 0x5d4bd0
lea eax, [edi + 0x260]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47a350
test dl, dl
je 0x47a34c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47a350
add eax, 2
add ecx, 2
test dl, dl
jne 0x47a330
xor eax, eax
jmp 0x47a355
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47c06b
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
test eax, eax
je 0x47c061
xor esi, esi
cmp dword [eax + 0x110], 2
cmove esi, eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x47a380
mov dword [ebp - 0x1008], esi
test esi, esi
mov esi, dword [ebp - 0xfd8]
je 0x47c061
mov dword [ebp - 0xff8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfcc], eax
test eax, eax
je 0x476e8b
mov esi, eax
nop word [eax + eax]
mov ecx, esi
call fcn.0044cd20
lea ecx, [edi + 0x260]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47a420
test dl, dl
je 0x47a41c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47a420
add ecx, 2
add eax, 2
test dl, dl
jne 0x47a400
xor eax, eax
jmp 0x47a425
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47a435
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0xff8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x47a3f0
mov esi, dword [ebp - 0xfd8]
cmp dword [ebp - 0xff8], eax
je 0x476e8b
mov ecx, edi
call fcn.00485890
mov ecx, dword [ebp - 0xff8]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.005599c0
mov ecx, eax
call fcn.00558c30
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3fc00000
mulss xmm0, dword [0x5d630c]
mov dword [esp], 0x3f4ccccd
movss dword [ebp - 0xfcc], xmm0
call fcn.00491550
fmul dword [ebp - 0xfcc]
add esp, 8
mov ecx, 0x62f620
push esi
push 8
fstp dword [ebp - 0xfc0]
call fcn.0052e1c0
test eax, eax
je 0x47a502
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x47a502
movss xmm2, dword [ebp - 0xfc0]
mulss xmm2, dword [0x5d6324]
jmp 0x47a50a
movss xmm2, dword [ebp - 0xfc0]
mov eax, dword [edi + 0x14f34]
movss xmm1, dword [0x5d2058]
movss dword [ebp - 0x1004], xmm2
test eax, eax
jle 0x47a543
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6300]
addss xmm0, xmm1
mulss xmm0, xmm2
movss dword [ebp - 0x1004], xmm0
mov ecx, dword [ebp - 0x1008]
mov edi, 9
mov dword [ebp - 0xfc4], 0
mov edx, dword [ecx + 0x11c]
add edx, 0x1c
cvttss2si eax, dword [edx]
lea edx, [edx + 4]
add dword [ebp - 0xfc4], eax
sub edi, 1
jne 0x47a561
mov eax, dword [ecx + 0x11c]
sub esp, 8
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xfc4]
imul ecx, ecx
lea eax, [eax + eax*4]
add eax, eax
lea eax, [eax + ecx*4]
movd xmm0, eax
lea eax, [ebp - 0x418]
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movss dword [ebp - 0xffc], xmm1
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push edi
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0x1004]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push edi
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0x1004]
lea eax, [ebp - 0x418]
comiss xmm0, dword [ebp - 0xffc]
mov edi, dword [ebp - 0x101c]
jb 0x47bff9
push str.You_successfully_shatter_the_totem_with_magic___Its_power_engulfs_the_items_in_your_workbench.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov esi, dword [ebp - 0x1008]
movss xmm1, dword [0x5d63b8]
mov esi, dword [esi + 0x11c]
movss xmm0, dword [esi + 0x34]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a8ea
movss xmm0, dword [esi + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a8ea
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_break_a_Heart_Gem_apart.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x47a8ea
nop dword [eax]
nop dword [eax + eax]
cmp dword [eax + 0x110], 0x10
jne 0x47a8c3
mov ecx, dword [eax + 0x11c]
cmp dword [ecx], 1
jne 0x47a8c3
movss xmm1, dword [esi + 0x3c]
movss xmm2, dword [0x5d2058]
comiss xmm1, xmm2
jbe 0x47a8c3
movss xmm0, dword [ecx + 4]
comiss xmm0, xmm2
jbe 0x47a8c3
comiss xmm1, xmm0
jb 0x47a8c3
dec dword [eax + 0x118]
cmp dword [eax + 0x118], 1
jge 0x47a7f8
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc0]
mov eax, dword [eax + 0x11c]
movss xmm0, dword [esi + 0x3c]
push 0x120
movss xmm1, dword [eax + 4]
cvttss2si eax, xmm1
subss xmm0, xmm1
mov dword [ebp - 0xfcc], eax
movss dword [esi + 0x3c], xmm0
call fcn.00558849
add esp, 4
mov dword [ebp - 0x1020], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x47a848
push str.Plain_Heart_Gem
push 0
push 0x10
mov ecx, eax
call fcn.0050b900
jmp 0x47a84a
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
add esp, 4
test eax, eax
je 0x47a86b
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x47a86d
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
push ecx
mov dword [ecx + 0x11c], eax
mov dword [eax], 1
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 0x3f800000
mov eax, dword [ebp - 0xfcc]
mov dword [ecx + 0x118], eax
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x43c80000
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x47a780
movss xmm0, dword [esi + 0x2c]
movss xmm1, dword [0x5d2068]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47acfd
movss xmm0, dword [esi + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47aafc
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Green_Dust_into_White_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x47acf5
cmp dword [ecx + 0x110], 8
jne 0x47aace
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 0
jne 0x47aace
movss xmm1, dword [esi + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x47aace
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47aa17
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc4]
add eax, 8
push 0x5d3d10
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 3
jmp 0x47aab7
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x47aa52
push 0x5d3d10
push 0
push 8
mov ecx, eax
call fcn.0050b900
jmp 0x47aa54
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
mov edx, eax
add esp, 4
test edx, edx
je 0x47aa77
xorps xmm0, xmm0
movq qword [edx], xmm0
jmp 0x47aa79
xor edx, edx
cvttss2si eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], edx
mov dword [ecx + 0x118], eax
mov dword [edx], 3
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0xfc4], eax
test ecx, ecx
jne 0x47a992
jmp 0x47acf5
movss xmm0, dword [esi + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47acfd
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Black_Dust_into_Red_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x47acf5
nop word [eax + eax]
cmp dword [ecx + 0x110], 8
jne 0x47accc
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 2
jne 0x47accc
movss xmm1, dword [esi + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x47accc
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47ac15
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc4]
add eax, 8
push 0x5d3ce8
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 4
jmp 0x47acb5
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x47ac50
push 0x5d3ce8
push 0
push 8
mov ecx, eax
call fcn.0050b900
jmp 0x47ac52
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
mov edx, eax
add esp, 4
test edx, edx
je 0x47ac75
xorps xmm0, xmm0
movq qword [edx], xmm0
jmp 0x47ac77
xor edx, edx
cvttss2si eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], edx
mov dword [ecx + 0x118], eax
mov dword [edx], 4
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0xfc4], eax
test ecx, ecx
jne 0x47ab90
movss xmm1, dword [0x5d2068]
movss xmm0, dword [esi + 0x30]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47af0d
movss xmm0, dword [esi + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47af0d
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_White_into_Green_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x47af05
nop dword [eax]
cmp dword [ecx + 0x110], 8
jne 0x47aedc
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 3
jne 0x47aedc
movss xmm1, dword [esi + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x47aedc
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47ae25
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc4]
add eax, 8
push 0x5d3cfc
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 0
jmp 0x47aec5
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x47ae60
push 0x5d3cfc
push 0
push 8
mov ecx, eax
call fcn.0050b900
jmp 0x47ae62
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
mov edx, eax
add esp, 4
test edx, edx
je 0x47ae85
xorps xmm0, xmm0
movq qword [edx], xmm0
jmp 0x47ae87
xor edx, edx
cvttss2si eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], edx
mov dword [ecx + 0x118], eax
mov dword [edx], 0
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0xfc4], eax
test ecx, ecx
jne 0x47ada0
movss xmm1, dword [0x5d2068]
movss xmm0, dword [esi + 0x34]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47b11a
movss xmm0, dword [esi + 0x30]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47b11a
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_White_into_Black_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x47bdf6
nop dword [eax]
cmp dword [ecx + 0x110], 8
jne 0x47b0ec
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 3
jne 0x47b0ec
movss xmm1, dword [esi + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x47b0ec
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47b035
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc4]
add eax, 8
push 0x5d3d24
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 2
jmp 0x47b0d5
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x47b070
push 0x5d3d24
push 0
push 8
mov ecx, eax
call fcn.0050b900
jmp 0x47b072
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
mov edx, eax
add esp, 4
test edx, edx
je 0x47b095
xorps xmm0, xmm0
movq qword [edx], xmm0
jmp 0x47b097
xor edx, edx
cvttss2si eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], edx
mov dword [ecx + 0x118], eax
mov dword [edx], 2
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0xfc4], eax
test ecx, ecx
jne 0x47afb0
jmp 0x47bdf6
movss xmm0, dword [esi + 0x24]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47b52a
movss xmm0, dword [esi + 0x2c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47b32a
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Red_Dust_into_Black_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x47bdf6
nop word [eax + eax]
cmp dword [ecx + 0x110], 8
jne 0x47b2fc
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 4
jne 0x47b2fc
movss xmm1, dword [esi + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x47b2fc
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47b245
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc4]
add eax, 8
push 0x5d3d24
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 2
jmp 0x47b2e5
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x47b280
push 0x5d3d24
push 0
push 8
mov ecx, eax
call fcn.0050b900
jmp 0x47b282
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
mov edx, eax
add esp, 4
test edx, edx
je 0x47b2a5
xorps xmm0, xmm0
movq qword [edx], xmm0
jmp 0x47b2a7
xor edx, edx
cvttss2si eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], edx
mov dword [ecx + 0x118], eax
mov dword [edx], 2
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0xfc4], eax
test ecx, ecx
jne 0x47b1c0
jmp 0x47bdf6
movss xmm0, dword [esi + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47b52a
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Red_Dust_into_Green_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x47bdf6
nop dword [eax + eax]
cmp dword [ecx + 0x110], 8
jne 0x47b4fc
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 4
jne 0x47b4fc
movss xmm1, dword [esi + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x47b4fc
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47b445
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc4]
add eax, 8
push 0x5d3cfc
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 0
jmp 0x47b4e5
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x47b480
push 0x5d3cfc
push 0
push 8
mov ecx, eax
call fcn.0050b900
jmp 0x47b482
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
mov edx, eax
add esp, 4
test edx, edx
je 0x47b4a5
xorps xmm0, xmm0
movq qword [edx], xmm0
jmp 0x47b4a7
xor edx, edx
cvttss2si eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], edx
mov dword [ecx + 0x118], eax
mov dword [edx], 0
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0xfc4], eax
test ecx, ecx
jne 0x47b3c0
jmp 0x47bdf6
movss xmm2, dword [esi + 0x1c]
movss xmm1, dword [0x5d2e88]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x47b73c
movss xmm0, dword [esi + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47b73c
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Green_Dust_into_Blue_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x47bdf6
cmp dword [ecx + 0x110], 8
jne 0x47b70e
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 0
jne 0x47b70e
movss xmm1, dword [esi + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x47b70e
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47b657
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc4]
add eax, 8
push 0x5d3cd4
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 1
jmp 0x47b6f7
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x47b692
push 0x5d3cd4
push 0
push 8
mov ecx, eax
call fcn.0050b900
jmp 0x47b694
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
mov edx, eax
add esp, 4
test edx, edx
je 0x47b6b7
xorps xmm0, xmm0
movq qword [edx], xmm0
jmp 0x47b6b9
xor edx, edx
cvttss2si eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], edx
mov dword [ecx + 0x118], eax
mov dword [edx], 1
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0xfc4], eax
test ecx, ecx
jne 0x47b5d2
jmp 0x47bdf6
movss xmm1, dword [0x5d63b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x47b94a
movss xmm0, dword [esi + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47b94a
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Black_Dust_into_Blue_Dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x47bdf6
nop
cmp dword [ecx + 0x110], 8
jne 0x47b91c
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 2
jne 0x47b91c
movss xmm1, dword [esi + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x47b91c
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47b865
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [ebp - 0xfc4]
add eax, 8
push 0x5d3cd4
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 1
jmp 0x47b905
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x47b8a0
push 0x5d3cd4
push 0
push 8
mov ecx, eax
call fcn.0050b900
jmp 0x47b8a2
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00558849
mov edx, eax
add esp, 4
test edx, edx
je 0x47b8c5
xorps xmm0, xmm0
movq qword [edx], xmm0
jmp 0x47b8c7
xor edx, edx
cvttss2si eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], edx
mov dword [ecx + 0x118], eax
mov dword [edx], 1
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0xfc4], eax
test ecx, ecx
jne 0x47b7e0
jmp 0x47bdf6
movss xmm3, dword [esi + 0x20]
movss xmm1, dword [0x5d63a8]
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jp 0x47ba7a
movss xmm0, dword [esi + 0x28]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47ba7a
movss xmm0, dword [esi + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47ba7a
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_change_a_shards_color.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov ecx, eax
test ecx, ecx
je 0x47bdf6
nop
cmp dword [ecx + 0x110], 8
jne 0x47ba1b
mov edx, dword [ecx + 0x11c]
mov eax, dword [edx]
cmp eax, 5
jl 0x47ba1b
cmp eax, 0xd
jle 0x47ba3f
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov ecx, eax
test ecx, ecx
jne 0x47ba00
jmp 0x47bdf6
inc eax
mov dword [edx], eax
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 0xd
jle 0x47ba53
mov dword [eax], 5
mov eax, dword [ecx + 0x11c]
mov edx, dword [eax]
shl edx, 6
add edx, str.Glowing_Green_Dust
add ecx, 8
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x47ba67
jmp 0x47bdf6
movss xmm1, dword [0x5d2058]
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jp 0x47bdf6
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x47bdf6
movss xmm0, dword [esi + 0x34]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47bdf6
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_release_your_pets.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov esi, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
lea ecx, [edi + 0x334]
mov byte [ebp - 0x1040], 0x38
mov byte [ebp - 0xf98], 0x3a
add ecx, eax
add eax, 0x368
add eax, edi
mov dword [ebp - 0xfc4], ecx
mov dword [ebp - 0xfe4], eax
cmp byte [ecx + 0x10], 0xff
je 0x47bc98
mov eax, dword [edi + 0x180]
mov ecx, esi
mov dword [ebp - 0x103f], eax
mov dword [ebp - 0x103b], 0xffffffff
mov al, byte [edi + 0x108]
mov byte [ebp - 0x1037], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x1036], al
lea eax, [ebp - 0x1040]
push eax
push 0x11
mov word [ebp - 0x1035], 0x2828
mov dword [ebp - 0x1033], 0x50032
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
push dword [ebp - 0xfc4]
lea eax, [ebp - 0x418]
push str._s_is_freed_into_the_wild.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
add esp, 0x1c
lea eax, [ebp - 0xf78]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
mov eax, dword [edi + 0x180]
mov dword [ebp - 0xf97], eax
lea eax, [ebp - 0xf8b]
push 0x10
push eax
push 0x10
push dword [ebp - 0xfc4]
call fcn.0044d210
mov ecx, dword [ebp - 0xfc4]
add esp, 0x10
mov al, byte [ecx + 0x11]
mov byte [ebp - 0xf92], al
mov byte [ebp - 0xf93], 0xff
mov al, byte [ecx + 0x12]
mov byte [ebp - 0xf91], al
movss xmm1, dword [ecx + 0x20]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [ecx + 0x13]
mov ecx, esi
push 0
push 5
mov byte [ebp - 0xf90], 0
movd xmm0, eax
lea eax, [ebp - 0xf98]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0xf8f], xmm1
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
mov eax, dword [ebp - 0xfc4]
mov byte [eax + 0x10], 0xff
mov eax, dword [ebp - 0xfe4]
cmp byte [eax + 0x10], 0xff
je 0x47bdf6
mov eax, dword [edi + 0x180]
mov ecx, esi
mov dword [ebp - 0x103f], eax
mov dword [ebp - 0x103b], 0xffffffff
mov al, byte [edi + 0x108]
mov byte [ebp - 0x1037], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x1036], al
lea eax, [ebp - 0x1040]
push eax
push 0x11
mov word [ebp - 0x1035], 0x2828
mov dword [ebp - 0x1033], 0x50032
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
push dword [ebp - 0xfe4]
lea eax, [ebp - 0x418]
push str._s_is_freed_into_the_wild.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
add esp, 0x1c
lea eax, [ebp - 0xf78]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
mov eax, dword [edi + 0x180]
mov dword [ebp - 0xf97], eax
lea eax, [ebp - 0xf8b]
push 0x10
push eax
push 0x10
push dword [ebp - 0xfe4]
call fcn.0044d210
mov ecx, dword [ebp - 0xfe4]
add esp, 0x10
mov al, byte [ecx + 0x11]
mov byte [ebp - 0xf92], al
mov byte [ebp - 0xf93], 0xff
mov al, byte [ecx + 0x12]
mov byte [ebp - 0xf91], al
movss xmm1, dword [ecx + 0x20]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [ecx + 0x13]
mov ecx, esi
push 0
push 5
mov byte [ebp - 0xf90], 1
movd xmm0, eax
lea eax, [ebp - 0xf98]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0xf8f], xmm1
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
mov eax, dword [ebp - 0xfe4]
mov byte [eax + 0x10], 0xff
mov esi, dword [ebp - 0x1008]
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x47be10
dec eax
mov dword [esi + 0x118], eax
jmp 0x47be34
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov esi, dword [ebp - 0xff8]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [ebp - 0x1020], eax
mov dword [ebp - 0x1024], ecx
test ecx, ecx
ja 0x47fb37
jb 0x47be61
cmp eax, 0x7530
jae 0x47fb37
movss xmm0, dword [ebp - 0x1004]
divss xmm0, dword [0x5d25e8]
movss xmm1, dword [ebp - 0xffc]
comiss xmm1, xmm0
jbe 0x47fb37
mov eax, dword [0x62eb80]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
movd xmm0, dword [eax + 0xa4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
call fcn.00558c30
movss xmm1, dword [ebp - 0xfcc]
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xfd0], xmm0
movss xmm0, dword [0x5d63ec]
comiss xmm1, xmm0
jb 0x47befb
subss xmm1, xmm0
comiss xmm0, xmm1
jbe 0x47befb
mov eax, dword [ebp - 0xfd0]
add eax, 0
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0xfcc]
adc eax, 0x80000000
mov dword [ebp - 0xffc], eax
jmp 0x47bf13
mov eax, dword [ebp - 0xfcc]
mov dword [ebp - 0xffc], eax
mov eax, dword [ebp - 0xfd0]
mov dword [ebp - 0xfc0], eax
movaps xmm0, xmm1
call fcn.005589b0
add eax, dword [ebp - 0xfc0]
mov edi, edx
mov ecx, dword [ebp - 0x1024]
adc edi, dword [ebp - 0xffc]
push ecx
mov dword [esi], eax
mov dword [ebp - 0xfcc], eax
mov eax, dword [ebp - 0x1020]
push eax
push ecx
push eax
mov dword [esi + 4], edi
call fcn.005599c0
mov ecx, eax
mov esi, edx
shld esi, ecx, 2
shl ecx, 2
add eax, ecx
adc edx, esi
shld edx, eax, 2
shl eax, 2
cmp edx, edi
ja 0x47fb37
jb 0x47bf75
cmp eax, dword [ebp - 0xfcc]
ja 0x47fb37
mov eax, dword [ebp - 0xff8]
mov ecx, dword [ebp - 0x1020]
mov edx, dword [ebp - 0x1024]
add ecx, 1
push str.You_gained_a_skill_level__
adc edx, 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x418]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x101c]
imul eax, dword [ecx + 0x188], 0x980
movss xmm0, dword [eax + ecx + 0x300]
addss xmm0, dword [0x5d6300]
movss dword [eax + ecx + 0x300], xmm0
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
push str.Your_attempt_to_magically_break_the_totem_fails._It_crumbles_to_dust.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov esi, dword [ebp - 0x1008]
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x47c79d
dec eax
mov dword [esi + 0x118], eax
jmp 0x47fb37
push str.You_must_have_a_totem_in_your_workbench_to_shatter.
jmp 0x47faef
mov edi, dword [ebp - 0xfcc]
or esi, 0xffffffff
xor edx, edx
mov dword [ebp - 0xfc0], edx
nop dword [eax]
lea eax, [edx + edx*2]
lea edx, [eax*4 + str.BEAR]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xfcc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47c095
sub ecx, dword [ebp - 0xfcc]
push ecx
push edi
push edx
call fcn.005a52d2
mov edx, dword [ebp - 0xfc0]
add esp, 0xc
test eax, eax
mov ecx, edx
cmovne ecx, esi
inc edx
mov dword [ebp - 0xfc0], edx
mov esi, ecx
cmp edx, 9
jl 0x47c080
mov edi, dword [ebp - 0x101c]
cmp esi, 0xffffffff
mov dword [ebp - 0xfe4], esi
mov esi, dword [ebp - 0xfd8]
jle 0x47d446
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0xfc4], eax
mov dword [ebp - 0x1004], eax
mov dword [ebp - 0xff8], eax
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xff4], ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
test eax, eax
je 0x47d43c
or esi, 0xffffffff
mov ecx, dword [eax + 0x110]
cmp ecx, 2
jne 0x47c148
mov ecx, dword [ebp - 0xff4]
add ecx, dword [eax + 0x118]
mov dword [ebp - 0xff4], ecx
mov dword [ebp - 0xfec], eax
jmp 0x47c1b2
cmp ecx, 0xe
jne 0x47c167
mov ecx, dword [ebp - 0x1004]
add ecx, dword [eax + 0x118]
mov dword [ebp - 0x1004], ecx
mov dword [ebp - 0xfe8], eax
jmp 0x47c1b2
cmp ecx, 9
jne 0x47c186
mov ecx, dword [ebp - 0xfc4]
add ecx, dword [eax + 0x118]
mov dword [ebp - 0xfc4], ecx
mov dword [ebp - 0xffc], eax
jmp 0x47c1b2
cmp ecx, 0xf
jne 0x47c1b2
mov ecx, dword [ebp - 0xff8]
add ecx, dword [eax + 0x118]
mov dword [ebp - 0xff8], ecx
cmp esi, 0xffffffff
jne 0x47c1ad
mov eax, dword [eax + 0x11c]
movsx esi, byte [eax]
jmp 0x47c1b2
mov esi, 0xfffffffe
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x47c123
mov ecx, dword [ebp - 0xff4]
mov dword [ebp - 0x1008], esi
mov esi, dword [ebp - 0xfd8]
cmp ecx, 1
jle 0x47c1f4
push str.Use_magic_on_one_totem_at_a_time.
jmp 0x47faef
mov eax, dword [ebp - 0xfc4]
cmp eax, 1
jle 0x47c209
push str.Use_magic_on_one_egg_at_a_time.
jmp 0x47faef
mov edx, dword [ebp - 0x1004]
cmp edx, 1
jle 0x47c21e
push str.Use_magic_on_one_staff_at_a_time.
jmp 0x47faef
cmp ecx, 1
jge 0x47c231
cmp eax, 1
jge 0x47c231
cmp edx, 1
jl 0x47d43c
add eax, edx
add eax, ecx
cmp eax, 1
jle 0x47c244
push str.You_have_too_many_imbuable_items_in_the_workbench.
jmp 0x47faef
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x47d432
xor esi, esi
nop dword [eax]
mov ecx, eax
call fcn.0044cd20
lea ecx, [edi + 0x260]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47c2a0
test dl, dl
je 0x47c29c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47c2a0
add ecx, 2
add eax, 2
test dl, dl
jne 0x47c280
xor eax, eax
jmp 0x47c2a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47c2b5
mov esi, dword [ebp - 0xfc0]
mov esi, dword [esi + 0x11c]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x47c270
mov dword [ebp - 0xfe0], esi
test esi, esi
mov esi, dword [ebp - 0xfd8]
je 0x47d432
mov eax, dword [ebp - 0xfc4]
test eax, eax
jle 0x47c802
mov eax, dword [ebp - 0xffc]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfcc], eax
mov ecx, dword [eax + 4]
mov esi, dword [eax]
add ecx, 4
add esi, ecx
mov eax, 0xa
cmp esi, eax
mov ecx, edi
cmovg esi, eax
call fcn.00485890
cmp eax, esi
jge 0x47c367
lea eax, [ebp - 0x418]
push str.Your_magic_is_too_weak_to_hatch_this_egg.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
imul eax, dword [edi + 0x188], 0x980
cmp byte [eax + edi + 0x344], 0xff
jne 0x47c391
mov dword [ebp - 0xfc4], 0
lea ecx, [edi + eax]
xor esi, esi
mov edx, str.Pet_A
jmp 0x47c3b8
cmp byte [eax + edi + 0x378], 0xff
jne 0x47c7c6
mov esi, 0x34
mov dword [ebp - 0xfc4], 1
mov edx, str.Pet_B
lea ecx, [esi + edi]
add ecx, eax
push 0x10
lea eax, [ecx + 0x334]
mov dword [ebp - 0xfc0], esi
push eax
push 0x400
push edx
call fcn.0044d210
imul eax, dword [edi + 0x188], 0x980
add esp, 0x10
add eax, esi
mov dword [eax + edi + 0x348], 0
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x358
add ecx, esi
add ecx, edi
call fcn.00513c20
imul eax, dword [edi + 0x188], 0x980
mov edx, dword [ebp - 0xfcc]
add eax, esi
mov byte [eax + edi + 0x347], 0
imul ecx, dword [edi + 0x188], 0x980
mov al, byte [edx]
add ecx, esi
mov byte [ecx + edi + 0x344], al
imul ecx, dword [edi + 0x188], 0x980
mov al, byte [edx + 4]
add ecx, esi
mov byte [ecx + edi + 0x345], al
imul eax, dword [edi + 0x188], 0x980
add eax, esi
mov byte [eax + edi + 0x346], 0
imul eax, dword [edi + 0x188], 0x980
add eax, esi
mov byte [eax + edi + 0x34c], 0
imul eax, dword [edi + 0x188], 0x980
add eax, esi
mov byte [eax + edi + 0x34d], 0
imul eax, dword [edi + 0x188], 0x980
add eax, esi
mov dword [eax + edi + 0x354], 0
mov eax, dword [edx + 4]
lea ecx, [eax*8]
sub ecx, eax
add ecx, dword [edx]
lea eax, [ecx + ecx*8]
mov ecx, dword [ebp - 0xfe4]
shl eax, 4
cmp ecx, dword [eax + 0x61153c]
jne 0x47c4d6
imul eax, dword [edi + 0x188], 0x980
add eax, esi
mov dword [eax + edi + 0x354], 0x3f800000
mov eax, dword [edx + 4]
mov esi, dword [ebp - 0xfd8]
push esi
lea ecx, [eax*8]
sub ecx, eax
add ecx, dword [edx]
lea eax, [ecx + ecx*8]
mov ecx, 0x62f620
shl eax, 4
push dword [eax + 0x61153c]
call fcn.0052e1c0
test eax, eax
je 0x47c553
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x47c553
imul eax, dword [edi + 0x188], 0x980
add eax, dword [ebp - 0xfc0]
movss xmm0, dword [eax + edi + 0x354]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x5d2060]
cvtpd2ps xmm0, xmm0
movss dword [eax + edi + 0x354], xmm0
mov eax, dword [edi + 0x14f34]
test eax, eax
jle 0x47c58b
imul edx, dword [edi + 0x188], 0x980
imul ecx, dword [ebp - 0xfc4], 0x34
add edx, edi
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ecx + edx + 0x354]
movss dword [ecx + edx + 0x354], xmm0
imul edx, dword [ebp - 0xfc4], 0x34
mov byte [ebp - 0xfb8], 0x3a
mov eax, dword [edi + 0x180]
mov dword [ebp - 0xfb7], eax
mov byte [ebp - 0xfab], 0
imul ecx, dword [edi + 0x188], 0x980
add edx, edi
push 0
push 5
mov al, byte [ecx + edx + 0x345]
mov byte [ebp - 0xfb2], al
mov al, byte [ecx + edx + 0x344]
mov byte [ebp - 0xfb3], al
mov al, byte [ecx + edx + 0x346]
mov byte [ebp - 0xfb1], al
movss xmm1, dword [ecx + edx + 0x354]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [ecx + edx + 0x347]
mov ecx, esi
movd xmm0, eax
mov eax, dword [ebp - 0xfc4]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0xfb0], al
lea eax, [ebp - 0xfb8]
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0xfaf], xmm1
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
lea eax, [ebp - 0x418]
push str.You_have_hatched_a_pet_drake_
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov byte [ebp - 0x1068], 0x38
mov ecx, esi
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x1067], eax
mov dword [ebp - 0x1063], 0xffffffff
mov al, byte [edi + 0x108]
mov byte [ebp - 0x105f], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x105e], al
lea eax, [ebp - 0x1068]
push eax
push 0x11
mov word [ebp - 0x105d], 0xffff
mov dword [ebp - 0x105b], 0x50000
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
push 0x5d0640
push str.petInfo.txt
call fcn.0056868c
mov esi, eax
lea eax, [ebp - 0x418]
push eax
call fcn.0059027e
lea eax, [ebp - 0x418]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x418]
push eax
call fcn.005904be
lea eax, [ebp - 0x418]
push eax
push str._s_
push esi
call fcn.0043d340
push dword [edi + 0x10c]
imul eax, dword [edi + 0x188], 0x980
push dword [edi + 0x108]
add eax, 0x2a0
add eax, edi
push eax
movzx eax, byte [ebp - 0xfb2]
lea ecx, [eax*8]
sub ecx, eax
movzx eax, byte [ebp - 0xfb3]
add ecx, eax
lea eax, [ecx + ecx*8]
shl eax, 4
add eax, str.Plain_Red_Egg
push eax
push str.BIRTH___s___s___d___d_n
push esi
call fcn.0043d340
add esp, 0x40
push esi
call fcn.0056839e
mov esi, dword [ebp - 0xffc]
add esp, 4
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
jmp 0x47fb37
lea eax, [ebp - 0x418]
push str.You_already_have_two_pet_drakes.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
mov ecx, edi
call fcn.00485890
mov ecx, dword [ebp - 0xfe0]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.005599c0
mov ecx, eax
call fcn.00558c30
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3fa66666
mulss xmm0, dword [0x5d630c]
mov dword [esp], 0x3f333333
movss dword [ebp - 0xfcc], xmm0
call fcn.00491550
fmul dword [ebp - 0xfcc]
add esp, 8
mov ecx, 0x62f620
push esi
push dword [ebp - 0xfe4]
fstp dword [ebp - 0xfc0]
call fcn.0052e1c0
test eax, eax
je 0x47c8a2
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x47c8a2
movss xmm1, dword [ebp - 0xfc0]
mulss xmm1, dword [0x5d25e0]
jmp 0x47c8aa
movss xmm1, dword [ebp - 0xfc0]
mov eax, dword [edi + 0x14f34]
movss dword [ebp - 0xff0], xmm1
test eax, eax
jle 0x47c8df
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6300]
addss xmm0, dword [0x5d2058]
mulss xmm1, xmm0
movss dword [ebp - 0xff0], xmm1
mov eax, dword [ebp - 0x1004]
test eax, eax
jle 0x47cccc
push ecx
movss dword [esp], xmm1
push dword [ebp - 0xfe4]
push dword [ebp - 0xfe8]
call fcn.0052bd80
mov dword [ebp - 0xfcc], eax
mov eax, dword [ebp - 0xfe8]
mov eax, dword [eax + 0x11c]
push eax
mov dword [ebp - 0xffc], eax
call fcn.0052be10
fstp dword [ebp - 0xfc0]
movss xmm0, dword [ebp - 0xfc0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
add esp, 8
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm1, dword [ebp - 0xff0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm1
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov eax, dword [ebp - 0xfe0]
push dword [eax + 8]
push dword [ebp - 0xfe8]
call fcn.0052be50
mov ecx, dword [0x62eb80]
add esp, 8
mov ecx, dword [ecx + 0xa8]
imul ecx, eax
mov eax, dword [ebp - 0xfe0]
add dword [eax], ecx
adc dword [eax + 4], 0
mov eax, dword [ebp - 0xfcc]
sub eax, 0
je 0x47cabc
sub eax, 1
je 0x47ca6a
sub eax, 1
jne 0x47cb58
lea eax, [ebp - 0x418]
push str.The_attempt_destroys_the_staff.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
add esp, 0x18
jmp 0x47cbb5
lea eax, [ebp - 0x418]
push str.The_magic_fails_to_imbue_the_staff.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
jmp 0x47cb58
lea eax, [ebp - 0x418]
push str.The_magic_infuses_the_staff_
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xff0]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0xfe8]
call fcn.0052bec0
movss xmm0, dword [ebp - 0xff0]
lea eax, [edi + 0x260]
add esp, 8
mov ecx, edi
push eax
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xfc0]
movss dword [esp], xmm0
push dword [ebp - 0xfe8]
push esi
call fcn.00487ca0
mov eax, dword [ebp - 0xffc]
xor ecx, ecx
add eax, 0x10
lea edx, [ecx + 9]
nop word [eax + eax]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [eax]
add eax, 4
cvttss2si ecx, xmm0
sub edx, 1
jne 0x47cb70
mov eax, dword [ebp - 0xffc]
mov eax, dword [eax + 4]
add eax, 4
lea eax, [eax + eax*4]
cmp ecx, eax
jle 0x47cc01
push 0x64
lea eax, [ebp - 0xf77]
push eax
push 0x400
push str.The_staff_cant_hold_that_much_magic.__It_shatters_
call fcn.0044d210
add esp, 0x10
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0xfe8]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov ecx, dword [ebp - 0xfe8]
push 1
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0xfe0]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xfc0], eax
mov dword [ebp - 0xfc4], edx
test edx, edx
ja 0x47fb37
jb 0x47cc2c
cmp eax, 0x64
jae 0x47fb37
mov edx, eax
mov eax, dword [ebp - 0xfc4]
shld eax, edx, 4
shl edx, 4
sub edx, dword [ebp - 0xfc0]
sbb eax, dword [ebp - 0xfc4]
shld eax, edx, 1
add edx, edx
cmp eax, dword [ecx + 4]
ja 0x47fb37
jb 0x47cc60
cmp edx, dword [ecx]
ja 0x47fb37
mov eax, dword [ebp - 0xfc0]
mov edx, dword [ebp - 0xfc4]
add eax, 1
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
adc edx, 0
push str.You_gained_a_skill_level__
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d3c9c]
movss dword [eax + edi + 0x300], xmm0
jmp 0x47fb15
mov ecx, dword [ebp - 0xfec]
mov eax, dword [ecx + 0x11c]
mov dword [ebp - 0xfe8], eax
cmp byte [eax + 8], 0
je 0x47cd18
mov eax, dword [eax]
sub eax, 7
cmp eax, 2
ja 0x47d05d
push 0x64
lea eax, [ebp - 0xf77]
push eax
push 0x400
push str.This_type_of_totem_cannot_be_further_imbued.
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
add esp, 0x10
jmp 0x47fb1e
mov edx, dword [ebp - 0x1008]
test edx, edx
js 0x47d05d
cmp dword [ebp - 0xfe4], edx
je 0x47cd54
push 0x64
lea eax, [ebp - 0xf77]
push eax
push 0x400
push str.The_attempt_feels_painful_and_improper__it_fizzles.
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
add esp, 0x10
jmp 0x47fb1e
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xff8]
push eax
lea eax, [ebp - 0x418]
push str.Task_difficulty_is__d.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xff0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, dword [ebp - 0xfe8]
movss xmm1, dword [ebp - 0xff0]
mov eax, dword [ecx + 4]
add eax, dword [ebp - 0xff8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47d005
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x47ce9d
cmp dword [esi + 0x110], 0xf
jne 0x47ce7e
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x47ce51
movd xmm0, dword [ebp - 0xff8]
xorps xmm1, xmm1
mov esi, dword [ebp - 0xfe8]
cvtdq2ps xmm0, xmm0
mov byte [esi + 8], 1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x47cec4
sqrtsd xmm0, xmm0
jmp 0x47cec9
call fcn.00594f20
cvtsd2ss xmm0, xmm0
lea ecx, [esi + 0xa]
movss dword [esi + 0x40], xmm0
call fcn.00513c20
mov eax, dword [ebp - 0xfe8]
lea ecx, [esi + 0xa]
mov eax, dword [eax + 4]
lea edx, [eax + 1]
inc eax
imul edx, eax
lea eax, [edx + edx*4]
add eax, eax
push eax
call fcn.00513b90
mov eax, dword [ebp - 0x1008]
cmp eax, 7
ja case.0x47cf03.0
jmp dword [eax*4 + 0x47fb78]
mov ecx, dword [ebp - 0xfe8]
mov eax, str.Mage_Stat
mov dword [ecx], 8
jmp 0x47cf41
mov ecx, dword [ebp - 0xfe8]
mov eax, str.Crea_Stat
mov dword [ecx], 9
jmp 0x47cf41
mov ecx, dword [ebp - 0xfe8]
mov eax, str.Phys_Stat
mov dword [ecx], 7
push eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*2]
lea eax, [eax*4 + str.Wood]
push eax
mov eax, dword [ebp - 0xfec]
add eax, 8
push str._s__s_Totem
push eax
call fcn.0043d370
mov ecx, dword [ebp - 0xfe0]
add esp, 0x10
mov esi, dword [ebp - 0xff8]
sub esi, dword [ecx + 8]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jge 0x47cfa8
lea ecx, [esi + 1]
mov eax, 1
cmp ecx, eax
cmovge eax, ecx
mov ecx, dword [0x62eb80]
imul eax, dword [ecx + 0xa8]
mov ecx, dword [ebp - 0xfe0]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov esi, dword [ebp - 0xfd8]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xfc4], edx
mov edx, eax
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0xfc4]
shld eax, edx, 4
shl edx, 4
sub edx, dword [ebp - 0xfc0]
sbb eax, dword [ebp - 0xfc4]
shld eax, edx, 1
add edx, edx
cmp eax, dword [ecx + 4]
ja 0x47fb37
jb 0x47cff4
cmp edx, dword [ecx]
ja 0x47fb37
mov eax, dword [ebp - 0xfc0]
mov edx, dword [ebp - 0xfc4]
jmp 0x47cc6c
lea eax, [ebp - 0x418]
push str.The_attempt_fails.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, dword [ebp - 0xfe0]
jmp 0x47cfae
push ecx
movss dword [esp], xmm1
push dword [ebp - 0xfe4]
push ecx
call fcn.0052e290
mov dword [ebp - 0xfcc], eax
add esp, 4
mov eax, dword [ebp - 0xfe8]
movd xmm0, dword [eax + 4]
lea eax, [ebp - 0x418]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xff0]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov eax, dword [ebp - 0xfe0]
push dword [eax + 8]
mov eax, dword [ebp - 0xfec]
push eax
call fcn.0052e300
mov ecx, dword [0x62eb80]
add esp, 8
mov ecx, dword [ecx + 0xa8]
imul ecx, eax
mov eax, dword [ebp - 0xfe0]
add dword [eax], ecx
adc dword [eax + 4], 0
mov eax, dword [ebp - 0xfcc]
sub eax, 0
je 0x47d268
sub eax, 1
je 0x47d216
sub eax, 1
jne 0x47d2fc
lea eax, [ebp - 0x418]
push str.The_attempt_destroys_the_totem.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0xfec]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov ecx, dword [ebp - 0xfec]
push 1
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
xor ecx, ecx
mov dword [ebp - 0xfec], ecx
jmp 0x47d302
lea eax, [ebp - 0x418]
push str.The_magic_fails_to_imbue_the_totem.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
jmp 0x47d2fc
lea eax, [ebp - 0x418]
push str.The_magic_infuses_the_totem_
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
push dword [ebp - 0xfec]
call fcn.0052e330
movss xmm0, dword [ebp - 0xff0]
lea eax, [edi + 0x260]
add esp, 4
mov ecx, edi
push eax
mov eax, dword [ebp - 0xfe8]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [ebp - 0xfec]
push esi
call fcn.00487ca0
mov ecx, dword [ebp - 0xfec]
mov eax, dword [ebp - 0xfe8]
xor edx, edx
mov dword [ebp - 0xfc4], 0
lea esi, [eax + 0x1c]
test ecx, ecx
je 0x47d343
movd xmm0, dword [ebp - 0xfc4]
inc edx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esi]
add esi, 4
cvttss2si edi, xmm0
mov dword [ebp - 0xfc4], edi
mov edi, dword [ebp - 0x101c]
cmp edx, 9
jl 0x47d317
mov eax, dword [eax + 4]
mov esi, dword [ebp - 0xfd8]
add eax, 0xa
cmp dword [ebp - 0xfc4], eax
jle 0x47d3c2
test ecx, ecx
je 0x47d3c2
push 0x64
lea eax, [ebp - 0xf77]
push eax
push 0x400
push str.The_totem_cant_hold_that_much_magic.__It_shatters_
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x10
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0xfec]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov ecx, dword [ebp - 0xfec]
push 1
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0xfe0]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xfc0], eax
mov dword [ebp - 0xfc4], edx
test edx, edx
ja 0x47fb37
jb 0x47d3ed
cmp eax, 0x64
jae 0x47fb37
mov edx, eax
mov eax, dword [ebp - 0xfc4]
shld eax, edx, 4
shl edx, 4
sub edx, dword [ebp - 0xfc0]
sbb eax, dword [ebp - 0xfc4]
shld eax, edx, 1
add edx, edx
cmp eax, dword [ecx + 4]
ja 0x47fb37
jb 0x47d421
cmp edx, dword [ecx]
ja 0x47fb37
mov eax, dword [ebp - 0xfc0]
mov edx, dword [ebp - 0xfc4]
jmp 0x47cc6c
push str.BUG:_Cannot_find_skill_for_magic.
jmp 0x47faef
push str.Put_a_totem_in_your_workbench.
jmp 0x47faef
push str.No_combining_happened.
jmp 0x47faef
imul eax, dword [edi + 0x188], 0x980
xorps xmm0, xmm0
mov dword [ebp - 0xfe0], 0
mov dword [ebp - 0xfdc], 0
mov dword [ebp - 0xfec], 0
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 0
mov dword [ebp - 0xffc], 0
movss dword [ebp - 0x1048], xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
movss dword [ebp - 0x1044], xmm0
movss dword [ebp - 0xfe4], xmm0
mov dword [ebp - 0x1008], 0
mov byte [ebp - 0xfd1], 0
mov dword [ebp - 0xff8], 0
mov dword [ebp - 0x100c], 0
mov dword [ebp - 0xff4], 0xffffffff
mov dword [ebp - 0x1004], 0xffffffff
mov byte [ebp - 0xffd], 0
mov dword [ebp - 0x102c], 0xffffffff
mov dword [ebp - 0xff0], 0xffffffff
movups xmmword [ebp - 0xea8], xmm0
movups xmmword [ebp - 0xe98], xmm0
movups xmmword [ebp - 0xe88], xmm0
movups xmmword [ebp - 0xe78], xmm0
movups xmmword [ebp - 0xf00], xmm0
movups xmmword [ebp - 0xef0], xmm0
movups xmmword [ebp - 0xee0], xmm0
movups xmmword [ebp - 0xed0], xmm0
movups xmmword [ebp - 0xec0], xmm0
movups xmmword [ebp - 0xe68], xmm0
movups xmmword [ebp - 0xe58], xmm0
movups xmmword [ebp - 0xe48], xmm0
movups xmmword [ebp - 0xe38], xmm0
movups xmmword [ebp - 0xe28], xmm0
call fcn.0044e370
mov edx, eax
mov dword [ebp - 0xfe8], edx
test edx, edx
je 0x47d9f9
mov esi, dword [ebp - 0x100c]
lea eax, [edi + 0x260]
mov dword [ebp - 0xfc4], esi
mov ecx, str.Scythe_Expertise
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe8]
jne 0x47d5e2
cmp byte [ebp - 0xfb9], 0
je 0x47d5de
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe8]
jne 0x47d5e2
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d5a0
xor eax, eax
jmp 0x47d5e7
sbb eax, eax
or eax, 1
test eax, eax
je 0x47d678
cmp dword [edx + 0x110], 8
jne 0x47d678
mov eax, dword [edx + 0x11c]
mov ecx, dword [eax]
test ecx, ecx
js 0x4752bd
cmp ecx, 0x10
jg 0x4752bd
lea eax, [ecx - 5]
cmp eax, 8
ja 0x47d64d
cmp byte [ebp - 0xfd1], 0
jne 0x475281
cmp dword [edx + 0x118], 1
jne 0x475281
inc dword [ebp + ecx*4 - 0xea8]
inc dword [ebp - 0x1008]
mov byte [ebp - 0xfd1], 1
jmp 0x47d678
mov eax, dword [ebp - 0x1008]
mov esi, dword [edx + 0x118]
add eax, esi
add dword [ebp + ecx*4 - 0xea8], esi
mov dword [ebp - 0x1008], eax
cmp ecx, 0xe
jne 0x47d678
add eax, esi
lea eax, [eax + esi*2]
mov dword [ebp - 0x1008], eax
mov ecx, str.Scythe_Expertise
lea eax, [edi + 0x260]
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe8]
jne 0x47d6c5
cmp byte [ebp - 0xfb9], 0
je 0x47d6c1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe8]
jne 0x47d6c5
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d683
xor eax, eax
jmp 0x47d6ca
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47d7d6
cmp dword [edx + 0x110], 0xe
jne 0x47d7d6
mov ecx, dword [ebp - 0x1004]
mov eax, dword [edx + 0x11c]
test ecx, ecx
js 0x47d6f8
cmp dword [eax + 4], ecx
jne 0x47da6b
mov ecx, dword [eax + 8]
test ecx, ecx
jle 0x47d715
cmp byte [ebp - 0xffd], 0
jne 0x47d715
cmp dword [ebp - 0xff8], 0
jg 0x47daa7
movss xmm0, dword [eax + 0x34]
comiss xmm0, dword [0x5d2054]
jbe 0x47d72b
test ecx, ecx
jg 0x47dae3
cmp ecx, 1
jge 0x47d73d
cmp byte [ebp - 0xffd], 0
jne 0x47daa7
cmp dword [ebp - 0xff4], 0xffffffff
jle 0x47d75a
mov edi, dword [ebp - 0xff4]
cmp dword [eax], edi
mov edi, dword [ebp - 0x101c]
jne 0x47db1f
test ecx, ecx
jle 0x47d7b0
cmp dword [eax], 0xd
jl 0x47db5b
mov esi, dword [eax + 4]
mov eax, dword [eax]
mov edi, dword [edx + 0x118]
add dword [ebp - 0xff8], edi
mov dword [ebp - 0xff4], eax
mov eax, edi
imul eax, ecx
mov dword [ebp - 0x100c], edi
mov edi, dword [ebp - 0x101c]
mov dword [ebp - 0x1004], esi
mov esi, dword [edx + 0x110]
add eax, dword [ebp - 0xfc4]
mov dword [ebp - 0x100c], eax
mov byte [ebp - 0xffd], 1
jmp 0x47d7f9
mov esi, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0xff4], eax
mov eax, dword [edx + 0x118]
add dword [ebp - 0xff8], eax
imul ecx, eax
mov dword [ebp - 0x1004], esi
add dword [ebp - 0x100c], ecx
mov esi, dword [edx + 0x110]
cmp esi, 1
jne 0x47d7f9
mov eax, dword [ebp - 0xfec]
add eax, dword [edx + 0x118]
mov dword [ebp - 0xfec], eax
mov dword [ebp - 0xfdc], edx
mov ecx, str.Scythe_Expertise
lea eax, [edi + 0x260]
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe8]
jne 0x47d846
cmp byte [ebp - 0xfb9], 0
je 0x47d842
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe8]
jne 0x47d846
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d804
xor eax, eax
jmp 0x47d84b
sbb eax, eax
or eax, 1
test eax, eax
je 0x47d9ca
cmp esi, 4
jne 0x47d9ca
mov ecx, dword [edx + 0x118]
mov eax, 0x20
mov esi, dword [edx + 0x11c]
cmp ecx, 0x20
mov dword [ebp - 0xfcc], esi
cmovg ecx, eax
add dword [ebp - 0xfe0], ecx
mov eax, dword [esi]
imul eax, ecx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xfc4], ecx
add dword [ebp - 0x1024], eax
mov eax, dword [esi + 4]
imul eax, ecx
movaps xmm0, xmm1
mulss xmm0, dword [esi + 0x10]
add dword [ebp - 0x1020], eax
addss xmm0, dword [ebp - 0xfe4]
mov eax, dword [esi + 8]
imul eax, ecx
movss dword [ebp - 0xfe4], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esi + 0xc]
add dword [ebp - 0xffc], eax
xor esi, esi
mulss xmm1, dword [edx + 0x10c]
addss xmm0, dword [ebp - 0x1048]
addss xmm1, dword [ebp - 0x1044]
movss dword [ebp - 0x1048], xmm0
movss dword [ebp - 0x1044], xmm1
nop dword [eax]
mov eax, esi
shl eax, 6
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp + esi*4 - 0xf00]
test eax, eax
jle 0x47d980
mov ecx, edx
call fcn.0044cd20
mov ecx, dword [ebp - 0xfc0]
lea ecx, [ebp + ecx - 0x918]
nop word [eax + eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47d950
test dl, dl
je 0x47d94c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47d950
add ecx, 2
add eax, 2
test dl, dl
jne 0x47d930
xor eax, eax
jmp 0x47d955
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0xfc4]
mov edx, dword [ebp - 0xfe8]
test eax, eax
jne 0x47d982
mov eax, dword [ebp - 0xfcc]
mov dword [ebp + esi*4 - 0xf00], ecx
cvttss2si eax, dword [eax + 0x10]
mov dword [ebp + eax*4 - 0xe6c], ecx
jmp 0x47d982
je 0x47d98e
inc esi
cmp esi, 0x14
jl 0x47d900
jmp 0x47d9ca
mov dword [ebp + esi*4 - 0xf00], ecx
mov ecx, edx
call fcn.0044cd20
push eax
lea eax, [ebp - 0x918]
add eax, dword [ebp - 0xfc0]
push eax
call fcn.0043d370
mov eax, dword [ebp - 0xfcc]
add esp, 8
mov ecx, dword [ebp - 0xfc4]
cvttss2si eax, dword [eax + 0x10]
mov dword [ebp + eax*4 - 0xe6c], ecx
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov edx, eax
mov dword [ebp - 0xfe8], eax
test edx, edx
jne 0x47d586
mov esi, dword [ebp - 0xfd8]
xor eax, eax
mov dword [ebp - 0xfcc], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x47faea
mov esi, eax
nop word [eax + eax]
mov ecx, esi
call fcn.0044cd20
mov ecx, 0x5d4ac4
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47db97
test dl, dl
je 0x47da64
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47db97
add ecx, 2
add eax, 2
test dl, dl
jne 0x47da40
xor eax, eax
jmp 0x47db9c
lea eax, [ebp - 0x418]
push str.You_can_only_have_one_quality_of_staff_when_making_a_scythe.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
lea eax, [ebp - 0x418]
push str.Cant_mix_imbued_and_unimbued_staffs.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
lea eax, [ebp - 0x418]
push str.Cant_use_an_imperfect_staff.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
lea eax, [ebp - 0x418]
push str.Cant_mix_different_imbued_staffs.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
lea eax, [ebp - 0x418]
push str.Only_taming_staffs_may_be_used_inbued.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47dbac
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0xfcc], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x47da30
mov eax, dword [ebp - 0xfcc]
mov esi, dword [ebp - 0xfd8]
test eax, eax
je 0x47faea
cmp dword [eax + 0xc], 0
ja 0x47dbfb
jb 0x47dbf1
cmp dword [eax + 8], 0x14
jae 0x47dbfb
push str.You_must_first_reach_level_20_in_your_Swordsmith_skill.
jmp 0x47faef
mov eax, dword [ebp - 0xfdc]
test eax, eax
je 0x47fae3
cmp dword [ebp - 0xfec], 1
jl 0x47fae3
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfcc], eax
cmp dword [eax + 0x3c], 0
jne 0x47fae3
movss xmm0, dword [0x5d3018]
comiss xmm0, dword [eax + 8]
jbe 0x47dc44
push str.The_sacrifical_blade_is_not_big_enough.
jmp 0x47faef
mov ecx, str.Scythe_Expertise
lea eax, [edi + 0x260]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47dc70
test dl, dl
je 0x47dc6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47dc70
add eax, 2
add ecx, 2
test dl, dl
jne 0x47dc50
xor eax, eax
jmp 0x47dc75
sbb eax, eax
or eax, 1
mov dword [ebp - 0xfc0], 2
mov dword [ebp - 0xfc4], 3
mov dword [ebp - 0xfe8], 4
test eax, eax
jne 0x47dee8
mov ecx, dword [ebp - 0xfdc]
mov esi, 1
mov edx, dword [ecx + 0x11c]
mov eax, dword [edx + 0x40]
mov ecx, dword [edx + 0x44]
xor edx, edx
cmp eax, 1
setg dl
dec edx
cmp ecx, eax
cmovge edx, esi
cmovl ecx, eax
mov dword [ebp - 0xff0], edx
mov edx, dword [ebp - 0xfcc]
mov esi, dword [ebp - 0xff0]
mov dword [ebp - 0xfcc], 5
mov eax, dword [edx + 0x48]
cmp eax, ecx
cmovge esi, dword [ebp - 0xfc0]
cmovl eax, ecx
mov ecx, dword [edx + 0x4c]
cmp ecx, eax
cmovge esi, dword [ebp - 0xfc4]
cmovl ecx, eax
mov eax, dword [edx + 0x50]
cmp eax, ecx
cmovge esi, dword [ebp - 0xfe8]
cmovl eax, ecx
mov ecx, dword [edx + 0x54]
cmp ecx, eax
cmovge esi, dword [ebp - 0xfcc]
cmovl ecx, eax
mov eax, dword [edx + 0x58]
cmp eax, ecx
mov dword [ebp - 0xfcc], 6
cmovge esi, dword [ebp - 0xfcc]
cmovl eax, ecx
mov ecx, dword [edx + 0x5c]
cmp ecx, eax
mov edx, dword [edx + 0x60]
cmovl ecx, eax
mov dword [ebp - 0xfcc], 7
cmovge esi, dword [ebp - 0xfcc]
cmp edx, ecx
mov dword [ebp - 0xff0], esi
mov esi, 8
mov eax, dword [ebp - 0xff0]
cmovl edx, ecx
cmovge eax, esi
mov dword [ebp - 0xfcc], 0xa
mov dword [ebp - 0xff0], eax
mov esi, 9
mov eax, dword [ebp - 0xfdc]
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx + 0x64]
cmp eax, edx
mov ecx, dword [ebp - 0xff0]
cmovge ecx, esi
cmovl eax, edx
mov dword [ebp - 0xff0], ecx
mov ecx, dword [ebp - 0xfdc]
mov esi, dword [ebp - 0xff0]
mov edx, dword [ecx + 0x11c]
mov ecx, dword [edx + 0x68]
cmp ecx, eax
cmovge esi, dword [ebp - 0xfcc]
cmovl ecx, eax
mov eax, dword [edx + 0x6c]
cmp eax, ecx
mov dword [ebp - 0xfcc], 0xb
cmovge esi, dword [ebp - 0xfcc]
cmovl eax, ecx
mov ecx, dword [edx + 0x70]
cmp ecx, eax
mov edx, dword [edx + 0x74]
mov dword [ebp - 0xfcc], 0xc
cmovl ecx, eax
cmovge esi, dword [ebp - 0xfcc]
cmp edx, ecx
mov dword [ebp - 0xff0], esi
mov esi, 0xd
mov eax, dword [ebp - 0xff0]
cmovl edx, ecx
cmovge eax, esi
mov dword [ebp - 0xfcc], 0xe
mov dword [ebp - 0xff0], eax
mov eax, dword [ebp - 0xfdc]
mov esi, dword [ebp - 0xff0]
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx + 0x78]
cmp eax, edx
cmovge esi, dword [ebp - 0xfcc]
cmovl eax, edx
mov dword [ebp - 0xff0], esi
mov esi, dword [ebp - 0xfd8]
cmp eax, 0x40
jge 0x47de5c
push str.The_sacrifical_blade_is_not_a_proper_greatsword.
jmp 0x47faef
mov eax, dword [ebp - 0x100c]
test eax, eax
jle 0x47de8a
cmp dword [ecx + 0x34], 1
jge 0x47de76
push str.The_sacrifical_blade_does_not_have_any_Gold_Dust.
jmp 0x47faef
add eax, eax
mov dword [ebp - 0x100c], eax
mov eax, dword [ebp - 0xff4]
mov dword [ebp - 0x102c], eax
mov ecx, dword [ebp - 0x1004]
mov eax, 1
mov edx, dword [ebp - 0xfe0]
cmp ecx, 0xffffffff
cmovg edx, eax
test ecx, ecx
mov eax, 2
cmovg edx, eax
cmp ecx, 1
mov eax, 4
cmovg edx, eax
cmp ecx, 2
mov eax, 8
cmovg edx, eax
cmp ecx, 3
mov eax, 0x10
cmovg edx, eax
cmp ecx, 4
mov eax, 0x20
cmovg edx, eax
mov eax, edx
mov edx, dword [ebp - 0xff8]
imul edx, eax
mov dword [ebp - 0xfe0], edx
lea eax, [edi + 0x260]
mov ecx, str.Scythe_Expertise
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
lea edx, [edi + 0x260]
jne 0x47df35
cmp byte [ebp - 0xfb9], 0
je 0x47df31
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
lea edx, [edi + 0x260]
jne 0x47df35
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47def3
xor eax, eax
jmp 0x47df3a
sbb eax, eax
or eax, 1
movss xmm1, dword [0x5d4120]
test eax, eax
jne 0x47df72
mov eax, dword [ebp - 0xff0]
movss xmm0, dword [0x5d2058]
inc eax
imul eax, dword [ebp - 0xfe0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x47dfad
push str.Please_use_both_a_staff_and_a_greatsword.
jmp 0x47faef
mov eax, dword [ebp - 0xfe0]
cmp eax, 0x20
jle 0x47dfa5
add eax, 0xffffffe0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, dword [0x5d2058]
mulss xmm1, dword [ebp - 0xfe4]
addss xmm1, dword [ebp - 0xfe4]
jmp 0x47dfad
movss xmm1, dword [ebp - 0xfe4]
movd xmm0, dword [ebp - 0x1008]
movaps xmm2, xmm1
divss xmm2, dword [0x5d2e88]
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0xfe8], eax
mov dword [ebp - 0xff8], eax
mov eax, str.Scythe_Expertise
mov dword [ebp - 0xfcc], ecx
mov dword [ebp - 0xfc0], ecx
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm0
addss xmm2, xmm1
movss dword [ebp - 0x1008], xmm2
mov cl, byte [edx]
cmp cl, byte [eax]
mov byte [ebp - 0xfb9], cl
mov ecx, 0
jne 0x47e033
cmp byte [ebp - 0xfb9], cl
je 0x47e02f
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
mov byte [ebp - 0xfb9], cl
mov ecx, 0
jne 0x47e033
add edx, 2
add eax, 2
cmp byte [ebp - 0xfb9], cl
jne 0x47dff5
xor eax, eax
jmp 0x47e038
sbb eax, eax
or eax, 1
test eax, eax
je 0x47e0e8
xor edi, edi
mov edx, dword [ebp + edi*4 - 0xf00]
cmp ecx, edx
mov esi, edx
cmovge esi, ecx
mov ecx, dword [ebp + edi*4 - 0xefc]
cmp esi, ecx
mov eax, ecx
cmovge eax, esi
cmp dword [ebp - 0xfcc], edx
mov dword [ebp - 0xfc4], eax
lea edx, [edi + 1]
mov eax, edi
cmovge eax, dword [ebp - 0xfe8]
cmp esi, ecx
mov ecx, dword [ebp + edi*4 - 0xef8]
cmovge edx, eax
mov eax, dword [ebp - 0xfc4]
mov dword [ebp - 0xfe8], edx
cmp eax, ecx
jge 0x47e09b
lea edx, [edi + 2]
mov dword [ebp - 0xfe8], edx
cmovge ecx, eax
mov eax, dword [ebp + edi*4 - 0xef4]
cmp ecx, eax
jge 0x47e0b2
lea edx, [edi + 3]
mov dword [ebp - 0xfe8], edx
cmovge eax, ecx
mov ecx, dword [ebp + edi*4 - 0xef0]
cmp eax, ecx
jge 0x47e0c9
lea edx, [edi + 4]
mov dword [ebp - 0xfe8], edx
add edi, 5
cmp eax, ecx
cmovge ecx, eax
mov dword [ebp - 0xfcc], ecx
cmp edi, 0x14
jl 0x47e042
mov edi, dword [ebp - 0x101c]
jmp 0x47e0f4
mov edx, dword [ebp - 0xff0]
mov dword [ebp - 0xfe8], edx
test edx, edx
jns 0x47e134
lea eax, [ebp - 0x418]
push str.Use_ingots_to_make_weapons.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
mov ecx, str.Scythe_Expertise
lea eax, [edi + 0x260]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe8]
jne 0x47e182
cmp byte [ebp - 0xfb9], 0
je 0x47e17e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe8]
jne 0x47e182
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47e140
xor eax, eax
jmp 0x47e187
sbb eax, eax
or eax, 1
test eax, eax
je 0x47e244
xor edi, edi
mov dword [ebp + edx*4 - 0xf00], 0
xor ecx, ecx
nop
mov edx, dword [ebp + edi*4 - 0xf00]
cmp ecx, edx
mov esi, edx
cmovge esi, ecx
mov ecx, dword [ebp + edi*4 - 0xefc]
cmp esi, ecx
mov eax, ecx
cmovge eax, esi
cmp dword [ebp - 0xfc0], edx
mov dword [ebp - 0xfcc], eax
lea edx, [edi + 1]
mov eax, edi
cmovge eax, dword [ebp - 0xff8]
cmp esi, ecx
mov ecx, dword [ebp + edi*4 - 0xef8]
cmovge edx, eax
mov eax, dword [ebp - 0xfcc]
mov dword [ebp - 0xff8], edx
cmp eax, ecx
jge 0x47e1f9
lea edx, [edi + 2]
mov dword [ebp - 0xff8], edx
cmovge ecx, eax
mov eax, dword [ebp + edi*4 - 0xef4]
cmp ecx, eax
jge 0x47e210
lea esi, [edi + 3]
mov dword [ebp - 0xff8], esi
cmovge eax, ecx
mov ecx, dword [ebp + edi*4 - 0xef0]
cmp eax, ecx
jge 0x47e227
lea edx, [edi + 4]
mov dword [ebp - 0xff8], edx
add edi, 5
cmp eax, ecx
cmovge ecx, eax
mov dword [ebp - 0xfc0], ecx
cmp edi, 0x14
jl 0x47e1a0
mov edi, dword [ebp - 0x101c]
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfc4], 0
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x47faaa
mov ecx, esi
call fcn.0044cd20
lea ecx, [edi + 0x260]
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47e2a0
test dl, dl
je 0x47e29c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47e2a0
add ecx, 2
add eax, 2
test dl, dl
jne 0x47e280
xor eax, eax
jmp 0x47e2a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47e2b5
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0xfc4], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x47e271
mov esi, dword [ebp - 0xfc4]
test esi, esi
je 0x47faaa
call fcn.00568035
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6340]
divss xmm0, dword [0x5d25f0]
addss xmm0, dword [0x5d6310]
movss dword [ebp - 0xfcc], xmm0
call fcn.00480430
push dword [esi + 0xc]
cdq
push dword [esi + 8]
push edx
push eax
call fcn.005599c0
mov esi, edx
mov ecx, eax
shld esi, eax, 2
shl eax, 2
add ecx, eax
adc edx, esi
shld edx, ecx, 2
shl ecx, 2
call fcn.00558c30
mov esi, dword [ebp - 0xfd8]
mov ecx, 0x62f620
cvtsd2ss xmm0, xmm0
push esi
push 1
mulss xmm0, dword [ebp - 0xfcc]
movss dword [ebp - 0xfec], xmm0
call fcn.0052e1c0
test eax, eax
je 0x47e39e
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x47e39e
movss xmm0, dword [ebp - 0xfec]
mulss xmm0, dword [0x5d6328]
movss dword [ebp - 0xfec], xmm0
push esi
push 0
mov ecx, 0x62f620
call fcn.0052e1c0
test eax, eax
je 0x47e3e4
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
test eax, eax
je 0x47e3e4
movss xmm0, dword [ebp - 0xfec]
mulss xmm0, dword [0x5d6328]
movss dword [ebp - 0xfec], xmm0
push esi
push 2
mov ecx, 0x62f620
call fcn.0052e1c0
test eax, eax
je 0x47e42c
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ec90
movss xmm1, dword [ebp - 0xfec]
test eax, eax
je 0x47e434
mulss xmm1, dword [0x5d6328]
movss dword [ebp - 0xfec], xmm1
jmp 0x47e434
movss xmm1, dword [ebp - 0xfec]
mov eax, dword [edi + 0x14f38]
test eax, eax
jle 0x47e461
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6300]
addss xmm0, dword [0x5d2058]
mulss xmm0, xmm1
movss dword [ebp - 0xfec], xmm0
movss xmm0, dword [ebp - 0x1008]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xfec]
lea eax, [ebp - 0x418]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Your_work_value_was__4.2f.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
imul ecx, dword [edi + 0x188], 0x980
movss xmm0, dword [ebp - 0xfec]
mov ecx, dword [ecx + edi + 0x2dc]
add ecx, 4
comiss xmm0, dword [ebp - 0x1008]
jb 0x47f7cd
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x47e64f
lea eax, [edi + 0x260]
nop
mov ecx, str.Scythe_Expertise
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47e585
test dl, dl
je 0x47e581
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47e585
add eax, 2
add ecx, 2
test dl, dl
jne 0x47e565
xor eax, eax
jmp 0x47e58a
sbb eax, eax
or eax, 1
mov ecx, dword [esi + 0x110]
test eax, eax
je 0x47e5f9
cmp ecx, 4
jne 0x47e5ce
mov eax, dword [esi + 0x118]
cmp eax, 0x20
jle 0x47e5b2
add eax, 0xffffffe0
mov dword [esi + 0x118], eax
jmp 0x47e626
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
jmp 0x47e61c
cmp ecx, 8
jne 0x47e626
mov ecx, dword [esi + 0x118]
cmp ecx, 1
jle 0x47e5b2
mov eax, dword [esi + 0x11c]
mov eax, dword [eax]
sub eax, 5
cmp eax, 8
ja 0x47e5b2
lea eax, [ecx - 1]
mov dword [esi + 0x118], eax
jmp 0x47e626
cmp ecx, 0xe
jne 0x47e626
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
test esi, esi
je 0x47e626
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
lea eax, [edi + 0x260]
test esi, esi
jne 0x47e560
lea esi, [edi + 0x260]
mov ecx, str.Scythe_Expertise
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47e680
test dl, dl
je 0x47e67c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47e680
add eax, 2
add ecx, 2
test dl, dl
jne 0x47e660
xor eax, eax
jmp 0x47e685
sbb eax, eax
or eax, 1
test eax, eax
je 0x47e725
mov eax, dword [ebp - 0xfe8]
lea esi, [ebp - 0x918]
shl eax, 6
lea ecx, [ebp - 0x418]
add eax, esi
mov esi, dword [ebp - 0xff8]
cmp esi, 0xffffffff
jle 0x47e70b
push ecx
push 0x5d1428
push eax
call fcn.0043dd00
lea ecx, [ebp - 0x418]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e6c7
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push str.__WXZQPNS
push eax
call fcn.0043d370
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e6f0
sub ecx, edx
shl esi, 6
lea eax, [ebp - 0x918]
add eax, esi
lea ecx, [ebp + ecx - 0x418]
push ecx
push 0x5d1428
push eax
call fcn.0043dd00
add esp, 0xc
lea esi, [edi + 0x260]
jmp 0x47e7c4
lea eax, [ebp - 0x418]
push eax
imul eax, dword [ebp - 0xfe8], 0x13
push 0x5d1428
add eax, 0x611260
push eax
call fcn.0043dd00
add esp, 0xc
cmp dword [ebp - 0x102c], 0
jle 0x47e7b0
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e758
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push 0x5d4dcc
push eax
call fcn.0043d370
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e780
mov eax, dword [ebp - 0x102c]
sub ecx, edx
shl eax, 4
lea eax, [eax + str.Fire]
add eax, dword [ebp - 0x102c]
push eax
lea eax, [ebp - 0x418]
add eax, ecx
push eax
call fcn.0043d370
add esp, 8
mov eax, dword [ebp - 0xff4]
cmp eax, 0xc
jle 0x47e7c4
sub eax, 6
mov dword [ebp - 0xff4], eax
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e7d0
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push 0x5d4dcc
push eax
call fcn.0043d370
add esp, 8
mov eax, str.Scythe_Expertise
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x47e814
test cl, cl
je 0x47e810
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x47e814
add esi, 2
add eax, 2
test cl, cl
jne 0x47e7f4
xor eax, eax
jmp 0x47e819
sbb eax, eax
or eax, 1
test eax, eax
je 0x47e864
mov edx, dword [ebp - 0xfe0]
xor ecx, ecx
nop word [eax + eax]
lea eax, [ecx + ecx*8]
cmp dword [eax*8 + 0x610c00], edx
jg 0x47e848
mov eax, 3
inc ecx
cmp ecx, eax
jl 0x47e830
jmp 0x47e84b
lea eax, [ecx - 1]
xor esi, esi
test eax, eax
cmovns esi, eax
mov dword [ebp - 0x102c], esi
cmp esi, 2
jle 0x47e870
mov esi, 2
jmp 0x47e86a
mov esi, dword [ebp - 0x1004]
mov dword [ebp - 0x102c], esi
lea ecx, [edi + 0x260]
mov edx, 0x5d4ae4
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47e8c2
cmp byte [ebp - 0xfb9], 0
je 0x47e8be
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47e8c2
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47e880
xor ecx, ecx
jmp 0x47e8c7
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x47e8ea
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e8d4
lea eax, [esi + esi*8]
lea eax, [eax*8 + str.Tanto]
jmp 0x47eaf3
mov edx, 0x5d4b30
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47e933
cmp byte [ebp - 0xfb9], 0
je 0x47e92f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47e933
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47e8f1
xor ecx, ecx
jmp 0x47e938
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x47e95b
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e945
lea eax, [esi + esi*8]
lea eax, [eax*8 + str.Talon]
jmp 0x47eaf3
mov edx, 0x5d4af8
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47e9a4
cmp byte [ebp - 0xfb9], 0
je 0x47e9a0
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47e9a4
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47e962
xor ecx, ecx
jmp 0x47e9a9
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x47e9cc
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e9b6
lea eax, [esi + esi*8]
lea eax, [eax*8 + str.Chaos_Knife]
jmp 0x47eaf3
mov edx, 0x5d4b18
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47ea15
cmp byte [ebp - 0xfb9], 0
je 0x47ea11
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47ea15
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47e9d3
xor ecx, ecx
jmp 0x47ea1a
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x47ea3d
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47ea27
lea eax, [esi + esi*8]
lea eax, [eax*8 + str.Edgestaff]
jmp 0x47eaf3
mov edx, 0x5d4b08
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47ea86
cmp byte [ebp - 0xfb9], 0
je 0x47ea82
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfb9], al
lea eax, [edi + 0x260]
jne 0x47ea86
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47ea44
xor ecx, ecx
jmp 0x47ea8b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x47eaab
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47ea98
lea eax, [esi + esi*8]
lea eax, [eax*8 + str.Small_Mace]
jmp 0x47eaf3
mov ecx, str.Scythe_Expertise
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47ead0
test dl, dl
je 0x47eacc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47ead0
add eax, 2
add ecx, 2
test dl, dl
jne 0x47eab0
xor eax, eax
jmp 0x47ead5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47eb07
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47eae2
lea eax, [esi + esi*8]
lea eax, [eax*8 + str.Pine_Scythe]
push eax
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push eax
call fcn.0043d370
add esp, 8
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0xfcc], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x47eb36
lea ecx, [ebp - 0x418]
push ecx
push 0
push 1
mov ecx, eax
call fcn.0050b900
jmp 0x47eb38
xor eax, eax
mov esi, dword [eax + 0x11c]
mov edx, str.Scythe_Expertise
mov dword [ebp - 0xfe4], eax
lea eax, [edi + 0x260]
mov byte [ebp - 4], 0
mov dword [ebp - 0xfe8], esi
nop dword [eax]
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47eba2
cmp byte [ebp - 0xfb9], 0
je 0x47eb9e
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47eba2
add eax, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47eb60
xor eax, eax
jmp 0x47eba7
sbb eax, eax
or eax, 1
test eax, eax
je 0x47ec02
mov eax, dword [ebp - 0x102c]
movd xmm0, dword [ebp - 0xfe0]
cvtdq2ps xmm0, xmm0
lea eax, [eax + eax*8]
movd xmm1, dword [eax*8 + 0x610c04]
cvtdq2ps xmm1, xmm1
mov eax, dword [ebp - 0xfdc]
mulss xmm1, dword [ebp - 0x1048]
divss xmm1, xmm0
mulss xmm1, dword [0x5d25dc]
cvttss2si ecx, xmm1
mov dword [esi], ecx
mov eax, dword [eax + 0x11c]
mov eax, dword [eax]
cdq
sub eax, edx
sar eax, 1
add eax, ecx
lea ecx, [edi + 0x260]
jmp 0x47ec10
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax]
mov edx, esi
mov dword [edx], eax
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xea4]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xfe0]
add eax, 0x20
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d4124]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x5d2060]
cvtpd2ps xmm1, xmm0
comiss xmm1, dword [0x5d2e88]
movss dword [esi + 8], xmm1
movaps xmm0, xmm1
jbe 0x47ecf5
mov edx, str.Scythe_Expertise
mov eax, ecx
nop
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47ecb2
cmp byte [ebp - 0xfb9], 0
je 0x47ecae
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47ecb2
add eax, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47ec70
xor eax, eax
jmp 0x47ecb7
sbb eax, eax
or eax, 1
movaps xmm0, xmm1
test eax, eax
jne 0x47ecf5
mulss xmm1, dword [0x5d4120]
cvttss2si eax, xmm1
movss xmm1, dword [0x5d63c0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x5d2084]
comiss xmm0, xmm1
movss dword [esi + 8], xmm0
jbe 0x47ecf5
mov dword [esi + 8], 0x41c80000
movaps xmm0, xmm1
mov eax, str.Scythe_Expertise
nop word [eax + eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47ed20
test dl, dl
je 0x47ed1c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47ed20
add ecx, 2
add eax, 2
test dl, dl
jne 0x47ed00
xor eax, eax
jmp 0x47ed25
sbb eax, eax
or eax, 1
test eax, eax
je 0x47ed36
mulss xmm0, dword [0x5d6318]
movss dword [esi + 8], xmm0
mov ecx, str.Scythe_Expertise
lea eax, [edi + 0x260]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47ed61
test dl, dl
je 0x47ed5d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47ed61
add eax, 2
add ecx, 2
test dl, dl
jne 0x47ed41
xor eax, eax
jmp 0x47ed66
sbb eax, eax
or eax, 1
test eax, eax
je 0x47ee84
mov ecx, dword [ebp - 0xfdc]
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x40]
add eax, dword [ebp - 0xe68]
mov dword [esi + 0x40], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x44]
add eax, dword [ebp - 0xe64]
mov dword [esi + 0x44], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x48]
add eax, dword [ebp - 0xe60]
mov dword [esi + 0x48], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x4c]
add eax, dword [ebp - 0xe5c]
mov dword [esi + 0x4c], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x50]
add eax, dword [ebp - 0xe58]
mov dword [esi + 0x50], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x54]
add eax, dword [ebp - 0xe54]
mov dword [esi + 0x54], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x58]
add eax, dword [ebp - 0xe50]
mov dword [esi + 0x58], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x5c]
add eax, dword [ebp - 0xe4c]
mov dword [esi + 0x5c], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x60]
add eax, dword [ebp - 0xe48]
mov dword [esi + 0x60], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x64]
add eax, dword [ebp - 0xe44]
mov dword [esi + 0x64], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x68]
add eax, dword [ebp - 0xe40]
mov dword [esi + 0x68], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x6c]
add eax, dword [ebp - 0xe3c]
mov dword [esi + 0x6c], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x70]
add eax, dword [ebp - 0xe38]
mov dword [esi + 0x70], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x74]
add eax, dword [ebp - 0xe34]
mov dword [esi + 0x74], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x78]
add eax, dword [ebp - 0xe30]
jmp 0x47f07f
mov eax, dword [ebp - 0x1004]
test eax, eax
jne 0x47ee93
lea ecx, [eax + 1]
jmp 0x47eecc
cmp eax, 1
jne 0x47ee9d
lea ecx, [eax + 1]
jmp 0x47eecc
cmp eax, 2
jne 0x47eea7
lea ecx, [eax + 2]
jmp 0x47eecc
cmp eax, 3
jne 0x47eeb1
lea ecx, [eax + 5]
jmp 0x47eecc
cmp eax, 4
jne 0x47eebb
lea ecx, [eax + 0xc]
jmp 0x47eecc
mov ecx, dword [ebp - 0xfcc]
cmp eax, 5
mov eax, 0x20
cmove ecx, eax
mov eax, dword [ebp - 0xff0]
test eax, eax
jne 0x47eeef
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x40]
add eax, ecx
mov dword [esi + 0x40], eax
jmp 0x47f082
cmp eax, 1
jne 0x47ef0d
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x44]
add eax, ecx
mov dword [esi + 0x44], eax
jmp 0x47f082
cmp eax, 2
jne 0x47ef2b
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x48]
add eax, ecx
mov dword [esi + 0x48], eax
jmp 0x47f082
cmp eax, 3
jne 0x47ef49
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x4c]
add eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x47f082
cmp eax, 4
jne 0x47ef67
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x50]
add eax, ecx
mov dword [esi + 0x50], eax
jmp 0x47f082
cmp eax, 5
jne 0x47ef85
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x54]
add eax, ecx
mov dword [esi + 0x54], eax
jmp 0x47f082
cmp eax, 6
jne 0x47efa3
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x58]
add eax, ecx
mov dword [esi + 0x58], eax
jmp 0x47f082
cmp eax, 7
jne 0x47efc1
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x5c]
add eax, ecx
mov dword [esi + 0x5c], eax
jmp 0x47f082
cmp eax, 8
jne 0x47efdf
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x60]
add eax, ecx
mov dword [esi + 0x60], eax
jmp 0x47f082
cmp eax, 9
jne 0x47effd
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x64]
add eax, ecx
mov dword [esi + 0x64], eax
jmp 0x47f082
cmp eax, 0xa
jne 0x47f018
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x68]
add eax, ecx
mov dword [esi + 0x68], eax
jmp 0x47f082
cmp eax, 0xb
jne 0x47f033
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x6c]
add eax, ecx
mov dword [esi + 0x6c], eax
jmp 0x47f082
cmp eax, 0xc
jne 0x47f04e
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x70]
add eax, ecx
mov dword [esi + 0x70], eax
jmp 0x47f082
cmp eax, 0xd
jne 0x47f069
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x74]
add eax, ecx
mov dword [esi + 0x74], eax
jmp 0x47f082
cmp eax, 0xe
jne 0x47f082
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x78]
add eax, ecx
mov dword [esi + 0x78], eax
mov eax, dword [ebp - 0xfdc]
mov ecx, 0x2710
mov edx, str.Scythe_Expertise
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x38]
cmp eax, ecx
cmovg eax, ecx
mov dword [ebp - 0xfcc], eax
lea eax, [edi + 0x260]
nop dword [eax]
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f0f2
cmp byte [ebp - 0xfb9], 0
je 0x47f0ee
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f0f2
add eax, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47f0b0
xor eax, eax
jmp 0x47f0f7
sbb eax, eax
or eax, 1
test eax, eax
je 0x47f12d
movd xmm1, dword [ebp - 0xfcc]
cvtdq2pd xmm1, xmm1
movd xmm0, dword [esi]
divsd xmm1, qword [0x5d63b0]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm1
addsd xmm1, qword [0x5d6380]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [esi], eax
mov edx, 0x5d4ae4
mov eax, ecx
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f176
cmp byte [ebp - 0xfb9], 0
je 0x47f172
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f176
add eax, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47f134
xor eax, eax
jmp 0x47f17b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47f18f
mov dword [esi + 0x3c], 1
add dword [esi + 4], 0x14
jmp 0x47f333
mov edx, 0x5d4b30
mov eax, ecx
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f1d8
cmp byte [ebp - 0xfb9], 0
je 0x47f1d4
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f1d8
add eax, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47f196
xor eax, eax
jmp 0x47f1dd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47f1ed
mov dword [esi + 0x3c], 4
jmp 0x47f333
mov edx, 0x5d4af8
mov eax, ecx
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f236
cmp byte [ebp - 0xfb9], 0
je 0x47f232
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f236
add eax, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47f1f4
xor eax, eax
jmp 0x47f23b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47f24b
mov dword [esi + 0x3c], 3
jmp 0x47f333
mov edx, 0x5d4b18
mov eax, ecx
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f294
cmp byte [ebp - 0xfb9], 0
je 0x47f290
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0xfb9], cl
lea ecx, [edi + 0x260]
jne 0x47f294
add eax, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47f252
xor eax, eax
jmp 0x47f299
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47f2a9
mov dword [esi + 0x3c], 5
jmp 0x47f333
mov eax, str.Scythe_Expertise
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47f2d0
test dl, dl
je 0x47f2cc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47f2d0
add ecx, 2
add eax, 2
test dl, dl
jne 0x47f2b0
xor eax, eax
jmp 0x47f2d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47f2f0
mov eax, dword [ebp - 0xff4]
add eax, 6
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x100c]
mov dword [esi + 0x38], eax
jmp 0x47f333
mov ecx, 0x5d4b08
lea eax, [edi + 0x260]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47f320
test dl, dl
je 0x47f31c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47f320
add eax, 2
add ecx, 2
test dl, dl
jne 0x47f300
xor eax, eax
jmp 0x47f325
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47f333
mov dword [esi + 0x3c], 2
add dword [esi], 0x1e
movss xmm0, dword [ebp - 0x1044]
mov eax, dword [ebp - 0xfe4]
mulss xmm0, dword [0x5d633c]
mov ecx, dword [ebp - 0xfdc]
movss dword [eax + 0x10c], xmm0
addss xmm0, dword [ecx + 0x10c]
mov ecx, dword [ebp - 0xfe0]
movss dword [eax + 0x10c], xmm0
mov eax, dword [ebp - 0x1024]
cdq
idiv ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1020]
cdq
idiv ecx
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0xffc]
cdq
idiv ecx
add edi, 0x260
mov dword [esi + 0x18], eax
mov eax, str.Scythe_Expertise
nop dword [eax]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x47f3c0
test cl, cl
je 0x47f3bc
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x47f3c0
add edi, 2
add eax, 2
test cl, cl
jne 0x47f3a0
xor eax, eax
jmp 0x47f3c5
sbb eax, eax
or eax, 1
mov edx, dword [ebp - 0xfdc]
test eax, eax
jne 0x47f3f3
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x14], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x18]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x11c]
mov edi, dword [ebp - 0xfe8]
mov dword [ebp - 0xfcc], 0xffffffff
mov esi, dword [eax + 0x20]
add esi, dword [ebp - 0xea0]
mov dword [edi + 0x20], esi
mov eax, dword [edx + 0x11c]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0xea8]
mov eax, dword [ebp - 0xfdc]
mov dword [edi + 0x2c], edx
mov eax, dword [eax + 0x11c]
mov edi, dword [eax + 0x28]
add edi, dword [ebp - 0xe98]
mov eax, dword [ebp - 0xfe8]
mov dword [eax + 0x28], edi
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0xe9c]
add eax, ecx
mov ecx, dword [ebp - 0xfe8]
mov dword [ebp - 0xffc], eax
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x30]
add eax, dword [ebp - 0xe6c]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x34]
add eax, dword [ebp - 0xe70]
mov dword [ecx + 0x34], eax
xor ecx, ecx
test esi, esi
mov eax, esi
cmovle eax, ecx
mov ecx, edx
cmp edx, eax
cmovle ecx, eax
test esi, esi
mov esi, 2
cmovle esi, dword [ebp - 0xfcc]
mov dword [ebp - 0xfc0], esi
xor esi, esi
cmp edx, eax
mov eax, 4
cmovle esi, dword [ebp - 0xfc0]
cmp edi, ecx
cmovg esi, eax
cmovle edi, ecx
mov ecx, dword [ebp - 0xffc]
mov eax, 3
cmp ecx, edi
cmovg esi, eax
cmovle ecx, edi
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xea4]
cmp eax, ecx
jg case.0x47f519.1
mov eax, ecx
cmp esi, 0xffffffff
jle 0x47f5a7
mov edi, eax
cmp esi, 4
ja case.0x47f519.1
jmp dword [esi*4 + 0x47fb98]
mov ecx, dword [ebp - 0xfe8]
mov edx, 0x11
mov eax, edi
mov dword [ecx + 0x1c], 0x11
jmp 0x47f58a
mov ecx, dword [ebp - 0xfe8]
mov edx, 0x15
mov eax, edi
mov dword [ecx + 0x1c], 0x15
jmp 0x47f58a
mov ecx, dword [ebp - 0xfe8]
mov edx, 9
mov eax, edi
mov dword [ecx + 0x1c], 9
jmp 0x47f58a
mov ecx, dword [ebp - 0xfe8]
mov edx, 0xd
mov eax, edi
mov dword [ecx + 0x1c], 0xd
jmp 0x47f58a
mov ecx, dword [ebp - 0xfe8]
mov edx, 1
mov dword [ecx + 0x1c], 1
cmp eax, 1
jle 0x47f593
inc edx
mov dword [ecx + 0x1c], edx
cmp eax, 4
jle 0x47f59c
inc edx
mov dword [ecx + 0x1c], edx
cmp eax, 9
jle 0x47f5a7
lea eax, [edx + 1]
mov dword [ecx + 0x1c], eax
mov eax, 5
nop dword [eax]
cmp dword [ebp + eax*4 - 0xea8], 0
jg 0x47f5c5
inc eax
or ecx, 0xffffffff
cmp eax, 0xd
jle 0x47f5b0
jmp 0x47f5c8
lea ecx, [eax - 5]
mov esi, dword [ebp - 0xfe8]
cmp ecx, 0xffffffff
jle 0x47f5ec
lea eax, [ecx + 0x19]
mov dword [esi + 0x1c], eax
mov eax, 0x66666667
imul dword [esi]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add dword [esi], eax
mov edi, dword [ebp - 0x101c]
mov ecx, str.Scythe_Expertise
lea eax, [edi + 0x260]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47f620
test dl, dl
je 0x47f61c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47f620
add eax, 2
add ecx, 2
test dl, dl
jne 0x47f600
xor eax, eax
jmp 0x47f625
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47f640
mov eax, dword [ebp - 0xfdc]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x1c]
cmp eax, 0x19
jl 0x47f640
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x418]
push str.You_have_created_a
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov esi, dword [ebp - 0xfd8]
lea edx, [ebp - 0x1018]
add esp, 0x18
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0xfe4]
call fcn.0044cd20
push eax
lea eax, [ebp - 0x418]
push 0x5d4de4
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1018]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
movss xmm0, dword [ebp - 0xfec]
lea eax, [edi + 0x260]
push eax
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x1008]
movss dword [esp], xmm0
push dword [ebp - 0xfe4]
push esi
call fcn.004872c0
imul ecx, dword [edi + 0x188], 0x980
push dword [ebp - 0xfe4]
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050c1c0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x47f8df
nop
cmp dword [esi + 0x110], 1
jne 0x47f7a9
cmp dword [ebp - 0xfdc], esi
jne 0x47f7a9
mov eax, dword [esi + 0x118]
cmp eax, 1
jne 0x47f7a2
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
jmp 0x47f7a9
dec eax
mov dword [esi + 0x118], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x47f760
jmp 0x47f8df
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x47f8df
movss xmm0, dword [ebp - 0xfec]
divss xmm0, dword [ebp - 0x1008]
movss dword [ebp - 0xfcc], xmm0
call fcn.00568035
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5d25f0]
addss xmm0, dword [0x5d2054]
comiss xmm0, dword [ebp - 0xfcc]
jbe 0x47f8bc
mov eax, dword [esi + 0x110]
cmp eax, 4
je 0x47f87b
cmp eax, 8
jne 0x47f8bc
mov eax, dword [esi + 0x11c]
mov eax, dword [eax]
cmp eax, 5
jl 0x47f87b
add eax, 0xfffffffb
cmp eax, 0xa
ja 0x47f8bc
call fcn.00568035
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d2e88]
divss xmm0, dword [0x5d25f0]
addss xmm0, dword [0x5d2054]
ucomiss xmm0, dword [0x5d2068]
lahf
test ah, 0x44
jp 0x47f8bc
cmp dword [esi + 0x110], 1
je 0x47f8bc
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x47f898
dec eax
mov dword [esi + 0x118], eax
jmp 0x47f8bc
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x47f7f4
mov ecx, dword [ebp - 0xfc4]
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
mov dword [ebp - 0x1020], esi
mov dword [ebp - 0xffc], eax
test eax, eax
ja 0x47fb37
jb 0x47f90d
cmp esi, 0x5dc
jae 0x47fb37
movss xmm1, dword [ebp - 0xfec]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x1008]
divss xmm0, dword [0x5d63c8]
comiss xmm2, xmm0
jbe 0x47fb37
mov eax, dword [0x62eb80]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
movd xmm0, dword [eax + 0x98]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
call fcn.00558c30
movss xmm1, dword [ebp - 0xfcc]
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x1028], xmm0
movss xmm0, dword [0x5d63ec]
comiss xmm1, xmm0
jb 0x47f9aa
subss xmm1, xmm0
comiss xmm0, xmm1
jbe 0x47f9aa
mov eax, dword [ebp - 0x1028]
add eax, 0
mov dword [ebp - 0xfcc], eax
mov eax, dword [ebp - 0x1024]
adc eax, 0x80000000
mov dword [ebp - 0xfc0], eax
jmp 0x47f9c2
mov eax, dword [ebp - 0x1024]
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0x1028]
mov dword [ebp - 0xfcc], eax
movaps xmm0, xmm1
call fcn.005589b0
mov ecx, dword [ebp - 0xfc4]
mov edi, edx
add eax, dword [ebp - 0xfcc]
mov dword [ebp - 0xfcc], eax
adc edi, dword [ebp - 0xfc0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xffc]
push eax
push esi
push eax
push esi
mov dword [ecx + 4], edi
call fcn.005599c0
mov ecx, eax
mov esi, 0xbb8
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0xbb8
mul ecx
add esi, edx
cmp esi, edi
ja 0x47fb37
jb 0x47fa26
cmp eax, dword [ebp - 0xfcc]
ja 0x47fb37
mov edx, dword [ebp - 0xfc4]
mov eax, dword [ebp - 0x1020]
mov ecx, dword [ebp - 0xffc]
add eax, 1
push str.You_gained_a_skill_level__
mov dword [edx + 8], eax
adc ecx, 0
lea eax, [ebp - 0x418]
mov dword [edx + 0xc], ecx
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x101c]
imul eax, dword [ecx + 0x188], 0x980
movss xmm0, dword [eax + ecx + 0x300]
addss xmm0, dword [0x5d3c9c]
movss dword [eax + ecx + 0x300], xmm0
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
lea eax, [ebp - 0x418]
push str.BUG:_Cannot_find_skill_for_level.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0xfd8]
mov ecx, dword [eax + 0x11c]
jmp 0x47fb1b
push str.You_must_sacrifice_one_blade_to_make_this.
jmp 0x47faef
push str.You_must_first_learn_to_create_swords.
lea eax, [ebp - 0x418]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
add esp, 0x18
mov eax, dword [ecx]
lea edx, [ebp - 0x1018]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
lea ecx, [ebp - 0x1018]
call fcn.004728c0
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.00558887
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4