Function at 0x473b60
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 0x5ae842
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1078
call fcn.00555090
mov eax, dword [0x616798]
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 - 0x1020], edi
mov esi, dword [ebx + 8]
mov dword [ebp - 0xfd4], esi
mov dword [ebp - 0x1000], 0
mov dword [ebp - 0xff8], 0
mov dword [ebp - 0xffc], 0
mov ecx, dword [edi + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x1007], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x1008], cl
sar ecx, 0x18
mov byte [ebp - 0x1006], al
lea eax, [ebp - 0x1008]
mov byte [ebp - 0x1005], cl
lea ecx, [ebp - 0x1000]
push eax
mov dword [ebp - 4], 0
mov byte [ebp - 0x1004], 0
call fcn.00490370
lea eax, [edi + 0x260]
mov byte [ebp - 0xf78], 0x17
mov dword [ebp - 0xfe8], eax
mov edx, 0x5be820
mov ecx, eax
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x473c82
cmp byte [ebp - 0xfba], 0
je 0x473c7e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x473c82
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x473c40
xor ecx, ecx
jmp 0x473c87
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x474f24
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0xfcc], eax
xor esi, esi
mov dword [ebp - 0x1030], eax
mov dword [ebp - 0x100c], eax
mov dword [ebp - 0xfc8], eax
mov byte [ebp - 0xfba], al
imul eax, dword [edi + 0x188], 0x980
movss dword [ebp - 0x101c], xmm0
movss dword [ebp - 0xfe0], xmm0
movss dword [ebp - 0xfd8], xmm0
mov dword [ebp - 0xfe4], esi
movups xmmword [ebp - 0xea8], xmm0
movups xmmword [ebp - 0xe98], xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
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.0044dcb0
mov ecx, eax
mov dword [ebp - 0x1018], ecx
test ecx, ecx
je 0x474048
mov eax, dword [ecx + 0x110]
mov edx, 0x40
cmp eax, 8
jne 0x473df5
mov eax, dword [ecx + 0x11c]
mov edx, dword [eax]
test edx, edx
js 0x47400c
cmp edx, 0x10
jg 0x47400c
lea eax, [edx - 5]
cmp eax, 8
ja 0x473dc6
cmp byte [ebp - 0xfba], 0
jne 0x473fd0
cmp dword [ecx + 0x118], 1
jne 0x473fd0
inc dword [ebp + edx*4 - 0xea8]
inc esi
mov dword [ebp - 0xfe4], esi
mov byte [ebp - 0xfba], 1
jmp 0x473f69
mov ecx, dword [ecx + 0x118]
add esi, ecx
add dword [ebp + edx*4 - 0xea8], ecx
mov dword [ebp - 0xfe4], esi
cmp edx, 0xe
jne 0x473f69
lea eax, [ecx + esi]
lea esi, [eax + ecx*2]
mov dword [ebp - 0xfe4], esi
jmp 0x473f69
cmp eax, 4
jne 0x473f69
mov edi, dword [ecx + 0x118]
cmp edi, 0x40
cmovg edi, edx
mov edx, dword [ecx + 0x11c]
add dword [ebp - 0xfcc], edi
mov dword [ebp - 0xfc0], edx
mov eax, dword [edx]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
imul eax, edi
movaps xmm0, xmm1
mulss xmm0, dword [edx + 0x10]
add dword [ebp - 0x1030], eax
addss xmm0, dword [ebp - 0xfd8]
mov eax, dword [edx + 4]
imul eax, edi
movss dword [ebp - 0xfd8], xmm0
movss xmm0, dword [edx + 0xc]
add dword [ebp - 0x100c], eax
mov eax, dword [edx + 8]
mulss xmm0, xmm1
imul eax, edi
addss xmm0, dword [ebp - 0x101c]
add dword [ebp - 0xfc8], eax
xor esi, esi
movss dword [ebp - 0x101c], xmm0
movss xmm0, dword [ecx + 0x10c]
mulss xmm0, xmm1
addss xmm0, dword [ebp - 0xfe0]
movss dword [ebp - 0xfe0], xmm0
nop word [eax + eax]
mov eax, esi
shl eax, 6
cmp dword [ebp + esi*4 - 0xf00], 0
mov dword [ebp - 0x1014], eax
jle 0x473f10
call fcn.0044c2d0
mov ecx, eax
mov eax, dword [ebp - 0x1014]
lea eax, [ebp + eax - 0xe18]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x473ef0
test dl, dl
je 0x473eec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x473ef0
add eax, 2
add ecx, 2
test dl, dl
jne 0x473ed0
xor eax, eax
jmp 0x473ef5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x473f02
mov dword [ebp + esi*4 - 0xf00], edi
jmp 0x473f3b
mov ecx, dword [ebp - 0x1018]
cmp dword [ebp + esi*4 - 0xf00], 0
jne 0x473f4d
mov dword [ebp + esi*4 - 0xf00], edi
call fcn.0044c2d0
push eax
mov eax, dword [ebp - 0x1014]
lea ecx, [ebp - 0xe18]
add eax, ecx
push eax
call fcn.0043d360
add esp, 8
mov esi, 0x15
mov eax, dword [ebp - 0xfc0]
cvttss2si eax, dword [eax + 0x10]
mov dword [ebp + eax*4 - 0xe6c], edi
mov ecx, dword [ebp - 0x1018]
inc esi
cmp esi, 0x14
jl 0x473ea0
mov edi, dword [ebp - 0x1020]
mov esi, dword [ebp - 0xfe4]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0x1018], eax
test ecx, ecx
jne 0x473d5d
mov eax, dword [ebp - 0xfcc]
movss xmm2, dword [ebp - 0xfd8]
cmp eax, 0x40
jle 0x474050
add eax, 0xffffffc0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bde80]
addss xmm0, dword [0x5bc028]
mulss xmm0, xmm2
addss xmm2, xmm0
jmp 0x474050
lea eax, [ebp - 0x418]
push str.You_can_only_have_one_shard_in_your_workbench_when_you_craft.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
lea eax, [ebp - 0x418]
push str.Ingredient_type_out_of_bounds___Please_report_this_bug.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
movss xmm2, dword [ebp - 0xfd8]
movaps xmm1, xmm2
movd xmm0, esi
divss xmm1, dword [0x5bcbe0]
xor edi, edi
xor esi, esi
mov dword [ebp - 0x1010], 0xffffffff
mov dword [ebp - 0xfc0], edi
mov dword [ebp - 0xff4], esi
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, xmm2
movss dword [ebp - 0xfd0], xmm1
nop dword [eax]
mov ecx, dword [ebp + esi*4 - 0xf00]
cmp edi, ecx
mov eax, ecx
mov dword [ebp - 0xfc4], ecx
mov ecx, dword [ebp - 0xff4]
cmovge eax, edi
mov edi, dword [ebp + esi*4 - 0xefc]
mov edx, edi
mov esi, dword [ebp + esi*4 - 0xef8]
cmp eax, edi
mov dword [ebp - 0xfec], eax
cmovge edx, eax
mov eax, esi
cmp edx, esi
mov dword [ebp - 0x1028], edx
cmovge eax, edx
mov edx, dword [ebp + ecx*4 - 0xef4]
cmp eax, edx
mov dword [ebp - 0x102c], eax
mov ecx, edx
cmovge ecx, eax
mov dword [ebp - 0xfe4], ecx
mov ecx, dword [ebp - 0xff4]
mov eax, dword [ebp + ecx*4 - 0xef0]
mov dword [ebp - 0x1014], eax
mov eax, ecx
mov ecx, dword [ebp - 0xfc4]
cmp dword [ebp - 0xfc0], ecx
mov ecx, dword [ebp - 0xff4]
cmovge eax, dword [ebp - 0x1010]
inc ecx
cmp dword [ebp - 0xfec], edi
cmovge ecx, eax
mov eax, dword [ebp - 0xff4]
add eax, 2
cmp dword [ebp - 0x1028], esi
mov esi, dword [ebp - 0xff4]
cmovge eax, ecx
cmp dword [ebp - 0x102c], edx
mov edx, dword [ebp - 0xfe4]
lea ecx, [esi + 3]
cmovge ecx, eax
lea edi, [esi + 4]
mov eax, dword [ebp - 0x1014]
cmp edx, eax
cmovge edi, ecx
add esi, 5
mov dword [ebp - 0x1010], edi
cmp edx, eax
mov edi, eax
mov dword [ebp - 0xff4], esi
cmovge edi, edx
mov dword [ebp - 0xfc0], edi
cmp esi, 0x14
jl 0x474090
mov eax, dword [ebp - 0x1010]
test eax, eax
jns 0x4741c7
lea eax, [ebp - 0x418]
push str.Use_ingots_to_make_blades.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
xor edi, edi
mov dword [ebp + eax*4 - 0xf00], 0
xor esi, esi
mov dword [ebp - 0x1014], 0xffffffff
mov dword [ebp - 0xfc0], edi
mov dword [ebp - 0xff4], esi
nop dword [eax]
mov ecx, dword [ebp + esi*4 - 0xf00]
cmp edi, ecx
mov eax, ecx
mov dword [ebp - 0xfc4], ecx
mov ecx, dword [ebp - 0xff4]
cmovge eax, edi
mov edi, dword [ebp + esi*4 - 0xefc]
mov edx, edi
mov esi, dword [ebp + esi*4 - 0xef8]
cmp eax, edi
mov dword [ebp - 0xfec], eax
cmovge edx, eax
mov eax, esi
cmp edx, esi
mov dword [ebp - 0x1028], edx
cmovge eax, edx
mov edx, dword [ebp + ecx*4 - 0xef4]
cmp eax, edx
mov dword [ebp - 0x102c], eax
mov ecx, edx
cmovge ecx, eax
mov dword [ebp - 0x1018], ecx
mov ecx, dword [ebp - 0xff4]
mov eax, dword [ebp + ecx*4 - 0xef0]
mov dword [ebp - 0xfe4], eax
mov eax, ecx
mov ecx, dword [ebp - 0xfc4]
cmp dword [ebp - 0xfc0], ecx
mov ecx, dword [ebp - 0xff4]
cmovge eax, dword [ebp - 0x1014]
inc ecx
cmp dword [ebp - 0xfec], edi
cmovge ecx, eax
mov eax, dword [ebp - 0xff4]
add eax, 2
cmp dword [ebp - 0x1028], esi
mov esi, dword [ebp - 0xff4]
cmovge eax, ecx
cmp dword [ebp - 0x102c], edx
mov edx, dword [ebp - 0x1018]
lea ecx, [esi + 3]
cmovge ecx, eax
lea edi, [esi + 4]
mov eax, dword [ebp - 0xfe4]
cmp edx, eax
cmovge edi, ecx
add esi, 5
mov dword [ebp - 0x1014], edi
cmp edx, eax
mov edi, eax
mov dword [ebp - 0xff4], esi
cmovge edi, edx
mov dword [ebp - 0xfc0], edi
cmp esi, 0x14
jl 0x4741f0
mov esi, dword [ebp - 0x1020]
xor ecx, ecx
mov dword [ebp - 0xff4], ecx
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov edi, eax
test edi, edi
je 0x474ee8
mov ecx, edi
call fcn.0044c2d0
mov ecx, eax
lea eax, [esi + 0x260]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x474341
test dl, dl
je 0x47433d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x474341
add eax, 2
add ecx, 2
test dl, dl
jne 0x474321
xor eax, eax
jmp 0x474346
sbb eax, eax
or eax, 1
test eax, eax
jne 0x474356
mov eax, dword [edi + 0x11c]
mov dword [ebp - 0xff4], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov edi, eax
test edi, edi
jne 0x474312
mov edi, dword [ebp - 0xff4]
test edi, edi
je 0x474ee8
call fcn.005619b8
mov ecx, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c00d8]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5c00a4]
movss dword [ebp - 0xfc4], xmm0
call fcn.0047f0d0
push dword [edi + 0xc]
cdq
push dword [edi + 8]
push edx
push eax
call fcn.00555ad0
mov ecx, eax
call fcn.00554c10
mov edi, dword [ebp - 0xfd4]
mov ecx, 0x61b4f0
cvtsd2ss xmm0, xmm0
push edi
push 1
mulss xmm0, dword [ebp - 0xfc4]
movss dword [ebp - 0xfdc], xmm0
call fcn.0052fd90
test eax, eax
je 0x47442b
imul eax, dword [esi + 0x188], 0x980
mov ecx, edi
add eax, 0x2a0
add eax, esi
push eax
call fcn.00530860
test eax, eax
je 0x47442b
movss xmm0, dword [ebp - 0xfdc]
mulss xmm0, dword [0x5c00bc]
movss dword [ebp - 0xfdc], xmm0
push edi
push 0
mov ecx, 0x61b4f0
call fcn.0052fd90
test eax, eax
je 0x474471
imul eax, dword [esi + 0x188], 0x980
mov ecx, edi
add eax, 0x2a0
add eax, esi
push eax
call fcn.00530860
test eax, eax
je 0x474471
movss xmm0, dword [ebp - 0xfdc]
mulss xmm0, dword [0x5c00bc]
movss dword [ebp - 0xfdc], xmm0
push edi
push 2
mov ecx, 0x61b4f0
call fcn.0052fd90
test eax, eax
je 0x4744b9
imul eax, dword [esi + 0x188], 0x980
mov ecx, edi
add eax, 0x2a0
add eax, esi
push eax
call fcn.00530860
movss xmm1, dword [ebp - 0xfdc]
test eax, eax
je 0x4744c1
mulss xmm1, dword [0x5c00bc]
movss dword [ebp - 0xfdc], xmm1
jmp 0x4744c1
movss xmm1, dword [ebp - 0xfdc]
mov eax, dword [esi + 0x14f60]
test eax, eax
jle 0x4744ee
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0094]
addss xmm0, dword [0x5bc028]
mulss xmm0, xmm1
movss dword [ebp - 0xfdc], xmm0
movss xmm0, dword [ebp - 0xfd0]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfdc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfdc]
comiss xmm0, dword [ebp - 0xfd0]
jb 0x474c14
xor al, al
mov dword [ebp - 0xfd8], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov edi, eax
mov dword [ebp - 0xfec], 1
test edi, edi
je 0x4746d9
nop dword [eax + eax]
mov eax, dword [edi + 0x110]
cmp eax, 4
jne 0x474624
mov eax, dword [edi + 0x118]
cmp eax, 0x40
jle 0x474692
add eax, 0xffffffc0
mov dword [edi + 0x118], eax
jmp 0x4746b6
cmp eax, 8
jne 0x4746b6
mov edx, dword [edi + 0x118]
mov ecx, dword [ebp - 0xfd8]
cmp edx, 1
jle 0x474665
mov eax, dword [edi + 0x11c]
mov eax, dword [eax]
sub eax, 5
cmp eax, 8
ja 0x474665
test cl, cl
jne 0x474665
lea eax, [edx - 1]
mov dword [edi + 0x118], eax
mov al, 1
mov dword [ebp - 0xfd8], eax
jmp 0x4746b6
mov eax, dword [edi + 0x11c]
mov edx, dword [eax]
lea eax, [edx - 5]
cmp eax, 8
ja 0x474679
test cl, cl
jne 0x4746b6
cmp edx, 5
jl 0x474692
cmp edx, 0xd
movzx ecx, cl
mov eax, 1
cmovle ecx, eax
mov dword [ebp - 0xfd8], ecx
imul eax, dword [esi + 0x188], 0x980
push edi
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov edi, eax
test edi, edi
jne 0x474600
mov esi, dword [ebp - 0x1014]
lea eax, [ebp - 0x418]
push eax
mov eax, dword [ebp - 0x1010]
lea ecx, [ebp - 0xe18]
shl eax, 6
add eax, ecx
push 0x5bb3c4
push eax
call fcn.0043dcf0
add esp, 0xc
cmp esi, 0xffffffff
jle 0x47476b
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x474713
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push str.__WXZQPNS
push eax
call fcn.0043d360
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x474740
sub ecx, edx
shl esi, 6
lea eax, [ebp - 0x418]
add eax, ecx
push eax
lea eax, [ebp - 0xe18]
add eax, esi
push 0x5bb3c4
push eax
call fcn.0043dcf0
add esp, 0xc
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x474774
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push 0x5bebc4
push eax
call fcn.0043d360
mov edi, dword [ebp - 0xfcc]
add esp, 8
mov dword [ebp - 0xfc0], 6
xor esi, esi
nop word [eax + eax]
lea eax, [esi + esi*8]
mov edx, esi
cmp dword [eax*8 + 0x5fce48], edi
mov eax, 7
cmovg esi, eax
lea eax, [edx - 1]
cmovle eax, dword [ebp - 0xfc0]
inc esi
mov dword [ebp - 0xfc0], eax
cmp esi, 6
jl 0x4747b0
xor edx, edx
lea ecx, [ebp - 0x418]
test eax, eax
lea esi, [ecx + 1]
cmovns edx, eax
mov eax, 5
cmp edx, eax
cmovg edx, eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4747f4
lea eax, [edx + edx*8]
sub ecx, esi
shl eax, 3
mov dword [ebp - 0xfc4], eax
lea eax, [eax + str.Dirk]
push eax
lea eax, [ebp - 0x418]
add eax, ecx
push eax
call fcn.0043d360
push 0x120
call fcn.00554883
add esp, 0xc
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x47484d
lea ecx, [ebp - 0x418]
push ecx
push 0
push 1
mov ecx, eax
call fcn.0050d390
jmp 0x47484f
xor eax, eax
mov ecx, dword [ebp - 0xfc4]
mov edi, dword [eax + 0x11c]
mov esi, dword [ebp - 0xfcc]
mov dword [ebp - 0x1014], eax
movd xmm0, dword [ecx + 0x5fce4c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xff0], edi
mov byte [ebp - 4], 0
movd xmm1, esi
mulss xmm0, dword [ebp - 0x101c]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mulss xmm1, dword [0x5bde84]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0xfe0]
mulss xmm0, dword [0x5c00d4]
mov dword [edi], ecx
mov ecx, dword [ebp - 0xea8]
movss dword [eax + 0x10c], xmm0
mov eax, dword [ebp - 0x1030]
cdq
idiv esi
cvtps2pd xmm0, xmm1
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x100c]
cdq
idiv esi
addsd xmm0, qword [0x5bc030]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0xfc8]
cdq
idiv esi
mov edx, dword [ebp - 0xea4]
mov dword [edi + 0x18], eax
mov esi, dword [ebp - 0xea0]
cvtpd2ps xmm0, xmm0
lea eax, [edx + 1]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xe98]
movss dword [edi + 8], xmm0
mov dword [edi + 0x20], esi
mov dword [edi + 0x2c], ecx
mov ecx, dword [ebp - 0xff0]
mov dword [edi + 0x28], eax
mov eax, dword [ebp - 0xff0]
mov edi, dword [ebp - 0xe9c]
mov dword [eax + 0x24], edi
mov eax, dword [ebp - 0xe6c]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xe70]
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0xe68]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xe64]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xe60]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xe5c]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0xe58]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0xe54]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0xe50]
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0xe4c]
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp - 0xe48]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0xe44]
mov dword [ecx + 0x64], eax
mov eax, dword [ebp - 0xe40]
mov dword [ecx + 0x68], eax
mov eax, dword [ebp - 0xe3c]
mov dword [ecx + 0x6c], eax
mov eax, dword [ebp - 0xe38]
mov dword [ecx + 0x70], eax
mov eax, dword [ebp - 0xe34]
mov dword [ecx + 0x74], eax
mov eax, dword [ebp - 0xe30]
mov dword [ecx + 0x78], eax
mov ecx, dword [ebp - 0xea8]
mov eax, ecx
test ecx, ecx
mov dword [ebp - 0xfc4], 0
cmovle eax, dword [ebp - 0xfc4]
mov dword [ebp - 0xfc4], 0
mov ecx, dword [ebp - 0xfc4]
setg cl
dec ecx
cmp edx, eax
cmovg ecx, dword [ebp - 0xfec]
cmovle edx, eax
cmp esi, edx
mov eax, 2
cmovg ecx, eax
cmovle esi, edx
mov edx, dword [ebp - 0xe98]
cmp edi, esi
mov eax, 3
cmovg ecx, eax
cmovle edi, esi
cmp edx, edi
mov eax, 4
cmovg ecx, eax
cmovle edx, edi
cmp ecx, 0xffffffff
jle 0x474abb
cmp ecx, eax
ja case.0x474a37.1
jmp dword [ecx*4 + 0x47e7d8]
mov ecx, dword [ebp - 0xff0]
mov eax, 0x11
mov dword [ecx + 0x1c], 0x11
jmp 0x474aa0
mov ecx, dword [ebp - 0xff0]
mov eax, 0x15
mov dword [ecx + 0x1c], 0x15
jmp 0x474aa0
mov ecx, dword [ebp - 0xff0]
mov eax, 9
mov dword [ecx + 0x1c], 9
jmp 0x474aa0
mov ecx, dword [ebp - 0xff0]
mov eax, 0xd
mov dword [ecx + 0x1c], 0xd
jmp 0x474aa0
mov ecx, dword [ebp - 0xff0]
mov eax, 1
mov dword [ecx + 0x1c], 1
cmp edx, 1
jle 0x474aa9
inc eax
mov dword [ecx + 0x1c], eax
cmp edx, 4
jle 0x474ab2
inc eax
mov dword [ecx + 0x1c], eax
cmp edx, 9
jle 0x474abb
inc eax
mov dword [ecx + 0x1c], eax
or esi, 0xffffffff
mov edx, 5
mov edi, 0x10
nop dword [eax + eax]
mov ecx, dword [ebp + edx*4 - 0xea8]
mov eax, edx
test ecx, ecx
cmovg edx, edi
add eax, 0xfffffffb
test ecx, ecx
cmovle eax, esi
inc edx
mov esi, eax
cmp edx, 0xd
jle 0x474ad0
cmp esi, 0xffffffff
jle 0x474b12
lea eax, [esi + 0x19]
mov esi, dword [ebp - 0xff0]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov edi, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
add esp, 0x18
mov ecx, dword [edi + 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 - 0x1014]
mov ecx, esi
call fcn.0044c2d0
push eax
lea eax, [ebp - 0x418]
push 0x5bebdc
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x1000]
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
push dword [ebp - 0xfe8]
movss xmm0, dword [ebp - 0xfdc]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xfd0]
movss dword [esp], xmm0
push esi
mov esi, dword [ebp - 0x1020]
mov ecx, esi
push edi
call fcn.00486180
imul ecx, dword [esi + 0x188], 0x980
push dword [ebp - 0x1014]
mov ecx, dword [ecx + esi + 0x2d8]
call fcn.0050dff0
jmp 0x474d74
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc4], eax
test eax, eax
je 0x474d74
movss xmm0, dword [ebp - 0xfdc]
mov edi, eax
divss xmm0, dword [ebp - 0xfd0]
movss dword [ebp - 0xfc0], xmm0
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbe0]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
cvttss2si eax, xmm0
mov dword [ebp - 0xfc4], eax
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
comiss xmm0, dword [ebp - 0xfc0]
jbe 0x474d51
mov eax, dword [edi + 0x110]
cmp eax, 4
je 0x474cde
cmp eax, 8
jne 0x474d51
mov eax, dword [edi + 0x11c]
mov eax, dword [eax]
cmp eax, 5
jl 0x474cde
add eax, 0xfffffffb
cmp eax, 0xa
ja 0x474d51
cmp dword [ebp - 0xfc4], 2
jne 0x474d51
mov ecx, dword [esi + 0x188]
mov edx, ecx
imul eax, ecx, 0x980
cmp dword [eax + esi + 0x2f0], 9
jle 0x474d1d
cmp dword [edi + 0x110], 8
jne 0x474d1d
mov eax, dword [edi + 0x11c]
mov eax, dword [eax]
cmp eax, 5
jl 0x474d1d
cmp eax, 0xe
jge 0x474d1d
inc dword [edi + 0x118]
mov edx, dword [esi + 0x188]
mov eax, dword [edi + 0x118]
cmp eax, 1
jle 0x474d31
dec eax
mov dword [edi + 0x118], eax
jmp 0x474d51
imul eax, edx, 0x980
push edi
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov edi, eax
test edi, edi
jne 0x474c55
mov ecx, dword [ebp - 0xff4]
cmp dword [ecx + 0xc], 0
ja 0x47e7ac
jb 0x474d93
cmp dword [ecx + 8], 0x7530
jae 0x47e7ac
movss xmm1, dword [ebp - 0xfdc]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0xfd0]
divss xmm0, dword [0x5bcee4]
comiss xmm2, xmm0
jbe 0x47e7ac
mov eax, dword [0x61aa7c]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
movd xmm0, dword [eax + 0x98]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfc4], xmm0
call fcn.00554c10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0xfc4]
addss xmm0, xmm1
call fcn.0055490f
mov ecx, eax
mov dword [ebp - 0xfec], edx
mov eax, dword [ebp - 0xff4]
mov dword [ebp - 0xfc0], ecx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push eax
push ecx
push eax
push ecx
call fcn.00555ad0
mov edi, eax
mov ecx, edx
shld ecx, edi, 4
shl edi, 4
sub edi, eax
mov eax, edi
mov dword [ebp - 0xfc4], edi
mov edi, dword [ebp - 0xfd4]
sbb ecx, edx
mov edx, dword [ebp - 0xfec]
shld ecx, eax, 1
add eax, eax
cmp ecx, edx
ja 0x47e7ac
mov ecx, dword [ebp - 0xfc0]
jb 0x474e5e
cmp eax, ecx
ja 0x47e7ac
push 0
push 0x1e
push edx
push ecx
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov ecx, dword [ebp - 0xff4]
push str.You_gained_a_skill_level__
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
imul eax, dword [esi + 0x188], 0x980
movss xmm0, dword [eax + esi + 0x300]
addss xmm0, dword [0x5c0090]
movss dword [eax + esi + 0x300], xmm0
mov ecx, dword [edi + 0x11c]
jmp 0x47e790
lea eax, [ebp - 0x418]
push str.BUG:_Cannot_find_skill_for_level.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
mov edx, 0x5be840
mov ecx, eax
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x474f72
cmp byte [ebp - 0xfba], 0
je 0x474f6e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x474f72
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x474f30
xor ecx, ecx
jmp 0x474f77
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47c1bb
mov edx, 0x5be88c
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x474fc8
cmp byte [ebp - 0xfba], 0
je 0x474fc4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x474fc8
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x474f86
xor ecx, ecx
jmp 0x474fcd
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47c1bb
mov edx, 0x5be854
mov ecx, eax
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475022
cmp byte [ebp - 0xfba], 0
je 0x47501e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475022
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x474fe0
xor ecx, ecx
jmp 0x475027
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47c1bb
mov edx, 0x5be874
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475078
cmp byte [ebp - 0xfba], 0
je 0x475074
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475078
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x475036
xor ecx, ecx
jmp 0x47507d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47c1bb
mov edx, 0x5be89c
mov ecx, eax
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x4750d2
cmp byte [ebp - 0xfba], 0
je 0x4750ce
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x4750d2
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x475090
xor ecx, ecx
jmp 0x4750d7
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47c1bb
mov edx, 0x5be864
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475128
cmp byte [ebp - 0xfba], 0
je 0x475124
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475128
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x4750e6
xor ecx, ecx
jmp 0x47512d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47c1bb
mov edx, 0x5be814
mov ecx, eax
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475182
cmp byte [ebp - 0xfba], 0
je 0x47517e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475182
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x475140
xor ecx, ecx
jmp 0x475187
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x475bc5
mov dword [ebp - 0x105c], 0x3f800000
xorps xmm0, xmm0
mov dword [ebp - 0x1058], 0x3f800000
mov dword [ebp - 0x1054], 0x3f800000
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfc0], ecx
mov dword [ebp - 0xfec], ecx
movss dword [ebp - 0xfe4], xmm0
movss dword [ebp - 0xfc8], xmm0
movss dword [ebp - 0xfe8], xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov ecx, eax
test ecx, ecx
je 0x47531d
xor esi, esi
nop dword [eax]
mov eax, dword [ecx + 0x110]
cmp eax, 0xb
jne 0x475257
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ecx + 0x118]
add esi, ecx
movss xmm0, dword [eax + 8]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
addss xmm0, dword [ebp - 0xfe4]
movss dword [ebp - 0xfe4], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
addss xmm0, dword [ebp - 0xfc8]
movss dword [ebp - 0xfc8], xmm0
jmp 0x4752ee
cmp eax, 0xa
jne 0x4752ee
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 - 0xfc4], eax
cmp eax, 0x163
jle 0x4752b2
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 - 0xfc4]
add eax, ecx
lea ecx, [ebp - 0x105c]
movd xmm0, eax
push ecx
lea ecx, [ebp - 0x1058]
push ecx
lea ecx, [ebp - 0x1054]
push ecx
sub esp, 0xc
cvtdq2ps xmm0, xmm0
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
call fcn.0044cbf0
add esp, 0x18
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
test ecx, ecx
jne 0x475200
mov dword [ebp - 0xfc0], esi
mov esi, dword [ebp - 0xfd4]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
test eax, eax
je 0x47539c
xor esi, esi
nop dword [eax]
cmp dword [eax + 0x110], 0xc
jne 0x475373
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 - 0xfe8]
movss dword [ebp - 0xfe8], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
test eax, eax
jne 0x475340
mov dword [ebp - 0xfec], esi
mov esi, dword [ebp - 0xfd4]
cmp dword [ebp - 0xfc0], 0
movss xmm0, dword [ebp - 0xfe8]
addss xmm0, dword [0x5bc028]
mulss xmm0, dword [ebp - 0xfc8]
movss dword [ebp - 0xfe8], xmm0
jg 0x4753cf
push str.Use_explosive_material_to_make_a_bomb.
jmp 0x47e764
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfd8], 0
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x475bbb
mov ecx, eax
call fcn.0044c2d0
lea ecx, [edi + 0x260]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x475430
test dl, dl
je 0x47542c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x475430
add ecx, 2
add eax, 2
test dl, dl
jne 0x475410
xor eax, eax
jmp 0x475435
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47544b
mov eax, dword [ebp - 0xfc0]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfd8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x475400
mov esi, dword [ebp - 0xfd4]
cmp dword [ebp - 0xfd8], eax
je 0x475bbb
mov ecx, edi
call fcn.0047f0d0
mov ecx, dword [ebp - 0xfd8]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.00555ad0
mov ecx, eax
call fcn.00554c10
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3fa66666
movss dword [ebp - 0xfc4], xmm0
mov dword [esp], 0x3f333333
call fcn.004903c0
fmul dword [ebp - 0xfc4]
add esp, 8
mov ecx, 0x61b4f0
push esi
push 3
fstp dword [ebp - 0xfc0]
call fcn.0052fd90
test eax, eax
je 0x475514
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x475514
movss xmm0, dword [ebp - 0xfc0]
mulss xmm0, dword [0x5c00bc]
jmp 0x47551c
movss xmm0, dword [ebp - 0xfc0]
push esi
push 4
mov ecx, 0x61b4f0
movss dword [ebp - 0xfcc], xmm0
call fcn.0052fd90
test eax, eax
je 0x47556a
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x47556a
movss xmm0, dword [ebp - 0xfcc]
mulss xmm0, dword [0x5c00bc]
movss dword [ebp - 0xfcc], xmm0
push esi
push 5
mov ecx, 0x61b4f0
call fcn.0052fd90
test eax, eax
je 0x4755b2
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
movss xmm1, dword [ebp - 0xfcc]
test eax, eax
je 0x4755ba
mulss xmm1, dword [0x5c00bc]
movss dword [ebp - 0xfcc], xmm1
jmp 0x4755ba
movss xmm1, dword [ebp - 0xfcc]
mov eax, dword [edi + 0x14f60]
test eax, eax
jle 0x4755e7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0094]
addss xmm0, dword [0x5bc028]
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
movss xmm0, dword [ebp - 0xfe8]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 eax, dword [edi + 0x188], 0x980
movss xmm0, dword [ebp - 0xfcc]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
comiss xmm0, dword [ebp - 0xfe8]
jb 0x475a9f
call fcn.0044dcb0
mov dword [ebp - 0xfc4], eax
test eax, eax
je 0x47573f
mov esi, eax
mov eax, dword [esi + 0x110]
cmp eax, 0xb
je 0x4756f6
cmp eax, 0xc
je 0x4756f6
cmp eax, 0xa
jne 0x47571a
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4756e1
mov esi, dword [ebp - 0xfd4]
movss xmm0, dword [ebp - 0xfe4]
xor edi, edi
divss xmm0, dword [0x5bcbd0]
cvttss2si ecx, xmm0
mov eax, 0x66666667
inc edi
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
test ecx, ecx
jg 0x475755
mov eax, 0xe
cmp edi, eax
cmovg edi, eax
lea eax, [edi + edi*4]
lea eax, [eax*4 + str.Tiny]
push eax
lea eax, [ebp - 0x418]
push str._s_Bomb
push eax
call fcn.0043d360
push 0x120
call fcn.00554883
add esp, 0x10
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4757c8
lea ecx, [ebp - 0x418]
push ecx
push 0
push 0xd
mov ecx, eax
call fcn.0050d390
mov edx, eax
mov dword [ebp - 0xfc8], eax
jmp 0x4757d0
xor edx, edx
mov dword [ebp - 0xfc8], edx
movss xmm0, dword [ebp - 0xfe8]
movss xmm1, dword [ebp - 0xfcc]
addss xmm0, xmm0
mov ecx, dword [edx + 0x11c]
mov eax, dword [ebp - 0xfec]
movss xmm2, dword [ebp - 0xfe4]
mov byte [ebp - 4], 0
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 0x475820
mov dword [ecx + 4], 0
jmp 0x475830
comiss xmm1, dword [0x5bc028]
jbe 0x475830
mov dword [ecx + 4], 0x3f800000
mov edi, dword [ebp - 0x1020]
cmp eax, 1
jge 0x475842
mov dword [ecx + 4], 0x3f800000
movss xmm1, dword [0x5bceec]
addss xmm2, xmm2
push str.You_have_created_a
movss dword [edx + 0x10c], xmm2
movss xmm0, dword [ebp - 0x1054]
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ecx + 0x14], eax
movss xmm0, dword [ebp - 0x1058]
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ecx + 0x18], eax
movss xmm0, dword [ebp - 0x105c]
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ecx + 0x1c], eax
lea eax, [ebp - 0x418]
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfc8]
call fcn.0044c2d0
push eax
lea eax, [ebp - 0x418]
push 0x5bebdc
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfc8]
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
mov eax, dword [0x61aa7c]
mov esi, dword [ebp - 0xfd8]
movd xmm0, dword [eax + 0x9c]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0xfe8]
movss dword [ebp - 0xfc4], xmm0
call fcn.00554c10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0xfc4]
addss xmm0, xmm1
call fcn.0055490f
mov dword [ebp - 0xfc0], eax
mov ecx, edx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov eax, dword [esi + 0xc]
push eax
mov dword [ebp - 0xfc4], ecx
mov ecx, dword [esi + 8]
push ecx
push eax
push ecx
call fcn.00555ad0
mov ecx, eax
mov esi, 0x64
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
mov ecx, dword [ebp - 0xfc4]
add esi, edx
mov edx, eax
cmp esi, ecx
ja 0x47e7ac
mov eax, dword [ebp - 0xfc0]
jb 0x4759f3
cmp edx, eax
ja 0x47e7ac
push 0
push 0x64
push ecx
push eax
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov ecx, dword [ebp - 0xfd8]
push str.You_gained_a_skill_level__
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5c0098]
movss dword [eax + edi + 0x300], xmm0
jmp 0x47e7ac
mov dword [ebp - 0xfd8], 0
call fcn.0044dcb0
mov dword [ebp - 0xfc4], eax
test eax, eax
je 0x475b2b
mov esi, eax
nop word [eax + eax]
mov eax, dword [esi + 0x110]
cmp eax, 0xb
je 0x475ad0
cmp eax, 0xc
jne 0x475b06
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [ebp - 0xfd8]
mov ecx, esi
add eax, dword [esi + 0x118]
mov dword [ebp - 0xfd8], 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, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x475ac0
mov esi, dword [ebp - 0xfd4]
mov byte [ebp - 0x1084], 0x47
mov ecx, esi
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x1083], eax
mov eax, 0x66666667
imul dword [ebp - 0xfd8]
mov dword [ebp - 0x107d], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x1079], 0
shr eax, 0x1f
add edx, 5
add eax, edx
push 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1075], xmm0
mov al, byte [edi + 0x108]
mov byte [ebp - 0x107f], al
mov al, byte [edi + 0x10c]
mov byte [ebp - 0x107e], al
cvttss2si eax, xmm0
push eax
lea eax, [ebp - 0x1084]
push eax
push 0x13
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
jmp 0x47e7ac
push str.BUG:_Cannot_find_skill_for_level.
jmp 0x47e764
mov edx, 0x5be82c
mov ecx, eax
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475c12
cmp byte [ebp - 0xfba], 0
je 0x475c0e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x475c12
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x475bd0
xor ecx, ecx
jmp 0x475c17
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x477c53
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xff0], ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
test eax, eax
je 0x477c49
xor esi, esi
nop dword [eax + eax]
cmp dword [eax + 0x110], 1
jne 0x475c7e
add esi, dword [eax + 0x118]
mov dword [ebp - 0xff0], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd10
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
test eax, eax
jne 0x475c50
cmp esi, 1
mov esi, dword [ebp - 0xfd4]
jl 0x477c49
mov eax, dword [ebp - 0xff0]
cmp dword [eax + 0x118], 1
mov esi, dword [eax + 0x11c]
mov dword [ebp - 0xfe0], esi
jle 0x475d55
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x475cfe
push str.UNNAMED
push 0
push 0
mov ecx, eax
call fcn.0050d390
mov edx, eax
mov dword [ebp - 0xfc0], eax
jmp 0x475d06
xor edx, edx
mov dword [ebp - 0xfc0], edx
mov ecx, dword [ebp - 0xff0]
push edx
mov byte [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [ebp - 0xff0]
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, 8
call fcn.0044ddb0
lea eax, [ebp - 0x1008]
mov ecx, edi
push eax
lea eax, [ebp - 0xfc4]
push eax
push esi
call fcn.0047f0f0
mov ecx, esi
call fcn.00480460
mov ecx, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xfec], xmm0
call fcn.00480460
cmp dword [esi + 0x1c], 0x19
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1028], xmm0
movd xmm0, dword [esi]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x100c], xmm0
jl 0x475dc4
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5c0154]
movss dword [ebp - 0x100c], xmm0
cmp dword [esi + 0x3c], 2
jne 0x475dda
subss xmm0, dword [0x5c015c]
movss dword [ebp - 0x100c], xmm0
mov eax, dword [ebp - 0xfc4]
add eax, 2
movss xmm0, dword [ebp - 0xfec]
addss xmm0, dword [0x5bc028]
mov dword [ebp - 0xfd8], 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, 8
movss dword [ebp - 0x1010], xmm1
call fcn.0044dcb0
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x474ee8
nop word [eax + eax]
mov ecx, eax
call fcn.0044c2d0
lea ecx, [edi + 0x260]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x475ef0
test dl, dl
je 0x475eec
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x475ef0
add ecx, 2
add eax, 2
test dl, dl
jne 0x475ed0
xor eax, eax
jmp 0x475ef5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x475f0b
mov eax, dword [ebp - 0xfc0]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfd8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x475ec0
mov esi, dword [ebp - 0xfe0]
cmp dword [ebp - 0xfd8], eax
je 0x474ee8
mov ecx, edi
call fcn.0047f0d0
mov ecx, dword [ebp - 0xfd8]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.00555ad0
mov ecx, eax
call fcn.00554c10
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3f8ccccd
movss dword [ebp - 0xfc4], xmm0
mov dword [esp], 0x3f666666
call fcn.004903c0
fmul dword [ebp - 0xfc4]
add esp, 8
mov eax, dword [ebp - 0xfd4]
mov ecx, 0x61b4f0
push eax
fmul dword [0x5bcd38]
push 1
fstp dword [ebp - 0xfc0]
call fcn.0052fd90
test eax, eax
je 0x475fe4
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0xfd4]
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x475fe4
movss xmm0, dword [ebp - 0xfc0]
mulss xmm0, dword [0x5c00bc]
jmp 0x475fec
movss xmm0, dword [ebp - 0xfc0]
push dword [ebp - 0xfd4]
mov ecx, 0x61b4f0
movss dword [ebp - 0xfdc], xmm0
push 0
call fcn.0052fd90
test eax, eax
je 0x476043
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0xfd4]
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x476043
movss xmm0, dword [ebp - 0xfdc]
mulss xmm0, dword [0x5c00bc]
movss dword [ebp - 0xfdc], xmm0
push dword [ebp - 0xfd4]
mov ecx, 0x61b4f0
push 2
call fcn.0052fd90
test eax, eax
je 0x476094
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0xfd4]
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
movss xmm1, dword [ebp - 0xfdc]
test eax, eax
je 0x47609c
mulss xmm1, dword [0x5c00bc]
movss dword [ebp - 0xfdc], xmm1
jmp 0x47609c
movss xmm1, dword [ebp - 0xfdc]
mov eax, dword [edi + 0x14f60]
test eax, eax
jle 0x4760c9
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0094]
addss xmm0, dword [0x5bc028]
mulss xmm0, xmm1
movss dword [ebp - 0xfdc], xmm0
movss xmm0, dword [ebp - 0x1010]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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 - 0xfdc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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
mov eax, dword [esi + 0x3c]
cmp eax, 5
jle 0x476a51
push 0x40
push 0
push dword [esi + 0x78]
call fcn.0044c740
push 0x40
mov dword [esi + 0x78], eax
push 0
push dword [esi + 0x74]
call fcn.0044c740
push 0x40
mov dword [esi + 0x74], eax
push 0
push dword [esi + 0x70]
call fcn.0044c740
push 0x40
mov dword [esi + 0x70], eax
push 0
push dword [esi + 0x6c]
call fcn.0044c740
push 0x40
mov dword [esi + 0x6c], eax
push 0
push dword [esi + 0x68]
call fcn.0044c740
push 0x40
mov dword [esi + 0x68], eax
push 0
push dword [esi + 0x64]
call fcn.0044c740
add esp, 0x48
mov dword [esi + 0x64], eax
push 0x40
push 0
push dword [esi + 0x60]
call fcn.0044c740
push 0x40
mov dword [esi + 0x60], eax
push 0
push dword [esi + 0x5c]
call fcn.0044c740
push 0x40
mov dword [esi + 0x5c], eax
push 0
push dword [esi + 0x58]
call fcn.0044c740
push 0x40
mov dword [esi + 0x58], eax
push 0
push dword [esi + 0x54]
call fcn.0044c740
push 0x40
mov dword [esi + 0x54], eax
push 0
push dword [esi + 0x50]
call fcn.0044c740
push 0x40
mov dword [esi + 0x50], eax
push 0
push dword [esi + 0x4c]
call fcn.0044c740
add esp, 0x48
mov dword [esi + 0x4c], eax
push 0x40
push 0
push dword [esi + 0x48]
call fcn.0044c740
push 0x40
mov dword [esi + 0x48], eax
push 0
push dword [esi + 0x44]
call fcn.0044c740
push 0x40
mov dword [esi + 0x44], eax
push 0
push dword [esi + 0x40]
call fcn.0044c740
mov dword [esi + 0x40], eax
add esp, 0x24
mov eax, dword [esi + 0x3c]
cmp eax, 5
jle 0x476a51
movss xmm0, dword [ebp - 0xfdc]
divss xmm0, dword [0x5bde88]
movss xmm1, dword [ebp - 0x1010]
divss xmm0, xmm1
comiss xmm0, dword [0x5bc028]
jb 0x476a59
mov eax, dword [esi + 0x40]
mov edi, 1
cmp eax, edi
mov dword [ebp - 0xfc0], 0xffffffff
cmovge edi, eax
xor edx, edx
cmp eax, 1
setge dl
xor ecx, ecx
dec edx
cmp eax, 1
setge cl
lea ecx, [ecx*2 - 1]
cmp dword [esi + 0x44], edi
jl 0x4762ff
mov dword [ebp - 0xfc0], edx
mov edx, 1
mov eax, edi
mov dword [ebp - 0xfc4], 2
cmovl eax, ecx
mov ecx, dword [esi + 0x44]
cmovl ecx, edi
mov edi, dword [esi + 0x48]
cmp edi, ecx
mov esi, edx
cmovl edx, dword [ebp - 0xfc0]
cmovge esi, dword [ebp - 0xfc4]
mov dword [ebp - 0xfc0], edx
mov edx, ecx
cmovl edx, eax
mov dword [ebp - 0xfc4], 3
mov eax, edi
mov edi, esi
cmovl eax, ecx
mov ecx, dword [ebp - 0xfe0]
mov ecx, dword [ecx + 0x4c]
cmp ecx, eax
mov dword [ebp - 0xfc8], ecx
mov ecx, eax
cmovge edi, dword [ebp - 0xfc4]
cmovl esi, dword [ebp - 0xfc0]
cmp dword [ebp - 0xfc8], eax
mov dword [ebp - 0xfc4], 4
cmovl ecx, edx
mov edx, dword [ebp - 0xfc8]
cmovl edx, eax
mov eax, dword [ebp - 0xfe0]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xfe4], eax
mov eax, edi
cmp dword [ebp - 0xfe4], edx
cmovge eax, dword [ebp - 0xfc4]
cmovl edi, esi
mov esi, edx
mov dword [ebp - 0xfc4], edi
mov edi, dword [ebp - 0xfe4]
cmovl esi, ecx
mov ecx, dword [ebp - 0xfe0]
cmovl edi, edx
mov edx, eax
mov ecx, dword [ecx + 0x54]
mov dword [ebp - 0xfc8], ecx
mov ecx, 5
cmp dword [ebp - 0xfc8], edi
cmovge edx, ecx
mov ecx, dword [ebp - 0xfc8]
cmp ecx, edi
cmovl eax, dword [ebp - 0xfc4]
mov dword [ebp - 0xfc0], eax
mov eax, edi
cmovl eax, esi
mov dword [ebp - 0xfc4], 6
mov esi, dword [ebp - 0xfe0]
cmp ecx, edi
cmovl ecx, edi
mov edi, edx
mov esi, dword [esi + 0x58]
cmp esi, ecx
mov dword [ebp - 0xfec], esi
cmovl edx, dword [ebp - 0xfc0]
cmovge edi, dword [ebp - 0xfc4]
mov dword [ebp - 0xfc4], edx
mov edx, ecx
cmovl edx, eax
mov eax, dword [ebp - 0xfe0]
cmp esi, ecx
cmovl esi, ecx
mov ecx, 7
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0xfc8], eax
mov eax, edi
cmp dword [ebp - 0xfc8], esi
cmovge eax, ecx
mov ecx, dword [ebp - 0xfc8]
cmp ecx, esi
mov dword [ebp - 0x100c], eax
mov eax, esi
cmovl edi, dword [ebp - 0xfc4]
cmovl eax, edx
mov dword [ebp - 0xfc4], 8
cmp ecx, esi
cmovl ecx, esi
mov esi, dword [ebp - 0xfe0]
mov edx, dword [esi + 0x60]
mov dword [ebp - 0xfc8], edx
cmp dword [ebp - 0xfc8], ecx
mov edx, dword [ebp - 0x100c]
mov esi, edx
cmovge esi, dword [ebp - 0xfc4]
cmovl edx, edi
mov dword [ebp - 0x100c], edx
mov edi, esi
mov edx, ecx
mov dword [ebp - 0xfc4], 9
cmovl edx, eax
mov eax, dword [ebp - 0xfc8]
cmovl eax, ecx
mov ecx, dword [ebp - 0xfe0]
mov ecx, dword [ecx + 0x64]
cmp ecx, eax
mov dword [ebp - 0xfc8], ecx
mov ecx, eax
cmovge edi, dword [ebp - 0xfc4]
cmovl esi, dword [ebp - 0x100c]
cmp dword [ebp - 0xfc8], eax
mov dword [ebp - 0xfc4], 0xa
cmovl ecx, edx
mov edx, dword [ebp - 0xfc8]
cmovl edx, eax
mov eax, dword [ebp - 0xfe0]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0xfc8], eax
mov eax, edi
cmp dword [ebp - 0xfc8], edx
cmovge eax, dword [ebp - 0xfc4]
cmovl edi, esi
mov esi, dword [ebp - 0xfe0]
mov dword [ebp - 0x100c], eax
mov eax, edx
cmovl eax, ecx
mov dword [ebp - 0xfc4], 0xb
mov ecx, dword [ebp - 0xfc8]
cmovl ecx, edx
mov edx, dword [esi + 0x6c]
mov dword [ebp - 0xfc8], edx
cmp dword [ebp - 0xfc8], ecx
mov edx, dword [ebp - 0x100c]
mov esi, edx
cmovge esi, dword [ebp - 0xfc4]
cmovl edx, edi
mov dword [ebp - 0x100c], edx
mov edi, 0xc
mov edx, ecx
mov dword [ebp - 0xfc4], esi
cmovl edx, eax
mov eax, dword [ebp - 0xfc8]
cmovl eax, ecx
mov ecx, dword [ebp - 0xfe0]
mov ecx, dword [ecx + 0x70]
cmp ecx, eax
mov dword [ebp - 0xfc8], ecx
mov ecx, eax
cmovge esi, edi
mov edi, dword [ebp - 0xfc4]
cmovl edi, dword [ebp - 0x100c]
cmp dword [ebp - 0xfc8], eax
mov dword [ebp - 0xfc4], 0xd
cmovl ecx, edx
mov edx, dword [ebp - 0xfc8]
cmovl edx, eax
mov eax, dword [ebp - 0xfe0]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0xfc8], eax
mov eax, esi
cmp dword [ebp - 0xfc8], edx
cmovge eax, dword [ebp - 0xfc4]
cmovl esi, edi
mov dword [ebp - 0xfd0], eax
mov eax, edx
mov edi, dword [ebp - 0xfe0]
cmovl eax, ecx
mov ecx, dword [ebp - 0xfc8]
cmovl ecx, edx
mov dword [ebp - 0xfc4], 0xe
mov edx, dword [edi + 0x78]
mov dword [ebp - 0xfc8], edx
cmp dword [ebp - 0xfc8], ecx
mov edx, dword [ebp - 0xfd0]
mov edi, edx
cmovge edi, dword [ebp - 0xfc4]
cmovl edx, esi
mov esi, dword [ebp - 0xfc8]
cmp esi, ecx
mov dword [ebp - 0xfc0], edi
mov edi, dword [ebp - 0xfe0]
cmovl ecx, eax
mov eax, dword [ebp - 0xfc0]
mov dword [ebp - 0xfd0], edx
cmp esi, ecx
jle 0x476665
mov dword [ebp - 0xfd0], edx
cmp eax, 0xe
je 0x476665
mov edx, 0xe
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x74]
cmp esi, ecx
jle 0x47667e
cmp eax, 0xd
je 0x47667e
mov edx, 0xd
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x70]
cmp esi, ecx
jle 0x476697
cmp eax, 0xc
je 0x476697
mov edx, 0xc
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x6c]
cmp esi, ecx
jle 0x4766b0
cmp eax, 0xb
je 0x4766b0
mov edx, 0xb
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x68]
cmp esi, ecx
jle 0x4766c9
cmp eax, 0xa
je 0x4766c9
mov edx, 0xa
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x64]
cmp esi, ecx
jle 0x4766e2
cmp eax, 9
je 0x4766e2
mov edx, 9
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x60]
cmp esi, ecx
jle 0x4766fb
cmp eax, 8
je 0x4766fb
mov edx, 8
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x5c]
cmp esi, ecx
jle 0x476714
cmp eax, 7
je 0x476714
mov edx, 7
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x58]
cmp esi, ecx
jle 0x47672d
cmp eax, 6
je 0x47672d
mov edx, 6
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x54]
cmp esi, ecx
jle 0x476746
cmp eax, 5
je 0x476746
mov edx, 5
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x50]
cmp esi, ecx
jle 0x47675f
cmp eax, 4
je 0x47675f
mov edx, 4
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x4c]
cmp esi, ecx
jle 0x476778
cmp eax, 3
je 0x476778
mov edx, 3
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x48]
cmp esi, ecx
jle 0x476791
cmp eax, 2
je 0x476791
mov edx, 2
mov ecx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [edi + 0x44]
cmp esi, ecx
jle 0x4767aa
cmp eax, 1
je 0x4767aa
mov edx, 1
mov ecx, esi
mov dword [ebp - 0xfd0], edx
cmp dword [edi + 0x40], ecx
jle 0x4767bc
xor ecx, ecx
test eax, eax
cmovne edx, ecx
mov dword [ebp - 0xfd0], edx
test eax, eax
jns 0x4767cc
xor eax, eax
mov dword [edi + 0x34], eax
mov dword [edi + 4], 1
imul eax, eax, 0x13
lea ecx, [ebp - 0x418]
push ecx
push 0x5bb3c4
add eax, 0x5fd690
push eax
cmp edx, 0xffffffff
jle 0x476844
call fcn.0043dcf0
lea ecx, [ebp - 0x418]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4767f7
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push str.__WXZQPNS
push eax
call fcn.0043d360
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x476820
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push eax
imul eax, dword [ebp - 0xfd0], 0x13
push 0x5bb3c4
add eax, 0x5fd690
push eax
call fcn.0043dcf0
lea ecx, [ebp - 0x418]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x476855
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push 0x5bebc4
push eax
call fcn.0043d360
add esp, 8
mov edi, 6
xor esi, esi
nop dword [eax + eax]
lea eax, [esi + esi*8]
mov edx, esi
cmp dword [eax*8 + 0x5fce48], 0x40
mov eax, 7
cmovg esi, eax
lea eax, [edx - 1]
cmovle eax, edi
inc esi
mov edi, eax
cmp esi, 6
jl 0x476880
xor edx, edx
lea ecx, [ebp - 0x418]
test edi, edi
lea esi, [ecx + 1]
mov eax, 5
cmovns edx, edi
mov edi, dword [ebp - 0xfe0]
cmp edx, 5
cmovg edx, eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4768c4
lea eax, [edx + edx*8]
sub ecx, esi
lea eax, [eax*8 + str.Dirk]
push eax
lea eax, [ebp - 0x418]
add eax, ecx
push eax
call fcn.0043d360
push 0x120
call fcn.00554883
add esp, 0xc
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x476917
lea ecx, [ebp - 0x418]
push ecx
push 0
push 1
mov ecx, eax
call fcn.0050d390
mov edx, eax
jmp 0x476919
xor edx, edx
mov ecx, dword [edx + 0x11c]
mov eax, dword [edi]
push edx
mov byte [ebp - 4], 0
mov dword [ecx], eax
mov eax, dword [ebp - 0xff0]
mov eax, dword [eax + 0x10c]
mov dword [edx + 0x10c], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x40a00000
mov eax, dword [edi + 0x20]
mov dword [ecx + 0x20], eax
mov eax, dword [edi + 0x2c]
mov dword [ecx + 0x2c], eax
mov eax, dword [edi + 0x28]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [edi + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [edi + 0x34]
mov dword [ecx + 0x34], eax
mov eax, dword [edi + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [edi + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi + 0x50]
mov dword [ecx + 0x50], eax
mov eax, dword [edi + 0x54]
mov dword [ecx + 0x54], eax
mov eax, dword [edi + 0x58]
mov dword [ecx + 0x58], eax
mov eax, dword [edi + 0x5c]
mov dword [ecx + 0x5c], eax
mov eax, dword [edi + 0x60]
mov dword [ecx + 0x60], eax
mov eax, dword [edi + 0x64]
mov dword [ecx + 0x64], eax
mov eax, dword [edi + 0x68]
mov dword [ecx + 0x68], eax
mov eax, dword [edi + 0x6c]
mov dword [ecx + 0x6c], eax
mov eax, dword [edi + 0x70]
mov dword [ecx + 0x70], eax
mov eax, dword [edi + 0x74]
mov dword [ecx + 0x74], eax
mov eax, dword [edi + 0x78]
mov dword [ecx + 0x78], eax
mov eax, dword [edi + 0x1c]
mov edi, dword [ebp - 0x1020]
mov dword [ecx + 0x1c], eax
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
lea eax, [ebp - 0x418]
push str.You_have_recovered_the_greatsword.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov esi, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
add esp, 0x18
mov ecx, dword [esi + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push edx
push 0
lea edx, [ebp - 0xf78]
push edx
push 0x65
call eax
jmp 0x4779e1
movss xmm1, dword [ebp - 0x1010]
movss xmm2, dword [ebp - 0xfec]
movaps xmm0, xmm2
mulss xmm0, dword [0x5c00b4]
cvttss2si eax, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x5bcbcc]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xfdc]
divss xmm0, dword [0x5bcbe0]
push eax
divss xmm0, xmm1
mulss xmm0, xmm2
cvttss2si eax, xmm0
push eax
call fcn.0044c740
xorps xmm0, xmm0
movsd xmm1, qword [0x5c0100]
movups xmmword [ebp - 0xf10], xmm0
mov ecx, eax
add esp, 0xc
movups xmmword [ebp - 0xf00], xmm0
mov dword [ebp - 0xfc4], 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 - 0xfec], 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 0x476e5c
nop dword [eax + eax]
mov eax, dword [esi + 0x78]
test eax, eax
je 0x476c45
dec eax
mov ecx, 0xf
mov dword [esi + 0x78], eax
jmp 0x476d58
mov eax, dword [esi + 0x74]
test eax, eax
je 0x476c5a
dec eax
mov ecx, 0xe
mov dword [esi + 0x74], eax
jmp 0x476d58
mov eax, dword [esi + 0x70]
test eax, eax
je 0x476c6f
dec eax
mov ecx, 0xd
mov dword [esi + 0x70], eax
jmp 0x476d58
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x476c84
dec eax
mov ecx, 0xc
mov dword [esi + 0x6c], eax
jmp 0x476d58
mov eax, dword [esi + 0x68]
test eax, eax
je 0x476c99
dec eax
mov ecx, 0xb
mov dword [esi + 0x68], eax
jmp 0x476d58
mov eax, dword [esi + 0x64]
test eax, eax
je 0x476cae
dec eax
mov ecx, 0xa
mov dword [esi + 0x64], eax
jmp 0x476d58
mov eax, dword [esi + 0x60]
test eax, eax
je 0x476cc3
dec eax
mov ecx, 9
mov dword [esi + 0x60], eax
jmp 0x476d58
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x476cd8
dec eax
mov ecx, 8
mov dword [esi + 0x5c], eax
jmp 0x476d58
mov eax, dword [esi + 0x58]
test eax, eax
je 0x476cea
dec eax
mov ecx, 7
mov dword [esi + 0x58], eax
jmp 0x476d58
mov eax, dword [esi + 0x54]
test eax, eax
je 0x476cfc
dec eax
mov ecx, 6
mov dword [esi + 0x54], eax
jmp 0x476d58
mov eax, dword [esi + 0x50]
test eax, eax
je 0x476d0e
dec eax
mov ecx, 5
mov dword [esi + 0x50], eax
jmp 0x476d58
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x476d20
dec eax
mov ecx, 4
mov dword [esi + 0x4c], eax
jmp 0x476d58
mov eax, dword [esi + 0x48]
test eax, eax
je 0x476d32
dec eax
mov ecx, 3
mov dword [esi + 0x48], eax
jmp 0x476d58
mov eax, dword [esi + 0x44]
test eax, eax
je 0x476d44
dec eax
mov ecx, 2
mov dword [esi + 0x44], eax
jmp 0x476d58
mov eax, dword [esi + 0x40]
test eax, eax
je 0x476e5c
dec eax
mov ecx, 1
mov dword [esi + 0x40], eax
imul eax, ecx, 0x13
mov dword [ebp - 0xfd0], ecx
lea eax, [eax + 0x5fd67d]
push eax
lea eax, [ebp - 0x418]
push str._s_Ingot
push eax
call fcn.0043d360
push 0x120
call fcn.00554883
add esp, 0x10
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x476da8
lea ecx, [ebp - 0x418]
push ecx
push 0
push 4
mov ecx, eax
call fcn.0050d390
jmp 0x476daa
xor eax, eax
mov edx, dword [eax + 0x11c]
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0xfd0]
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 + 0x5fd7e4]
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x5fd7e8]
mov dword [edx + 4], eax
mov eax, dword [ecx*4 + 0x5fd7ec]
mov ecx, dword [ebp - 0xfc0]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xfd0]
push ecx
mov dword [ecx + 0x108], 0x3f800000
movd xmm0, dword [eax*4 + 0x5fd7ac]
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.0050dff0
mov ecx, dword [ebp - 0xfec]
inc ecx
mov dword [ebp - 0xfec], ecx
cmp ecx, dword [ebp - 0xfc4]
jl 0x476c30
mov edi, dword [ebp - 0xfd4]
lea eax, [ebp - 0xf10]
mov esi, 0x5fd690
mov dword [ebp - 0xfc0], eax
mov ecx, dword [eax]
test ecx, ecx
jle 0x476ece
push esi
push ecx
lea eax, [ebp - 0x418]
push str.You_recover__d__s_Ingots.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x1000]
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, 0x5fd86b
jl 0x476e73
movss xmm2, dword [ebp - 0xfdc]
divss xmm2, dword [0x5bcbd0]
mov esi, dword [ebp - 0xfe0]
mov dword [ebp - 0xfe8], 0
movd xmm1, dword [esi + 0x24]
divss xmm2, dword [ebp - 0x1010]
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0xff4], xmm2
movaps xmm0, xmm1
mulss xmm0, dword [0x5c00b4]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x5c00a4]
push eax
cvttss2si eax, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm1
push eax
cvttss2si eax, xmm0
push eax
call fcn.0044c740
mov edi, dword [ebp - 0x1020]
add esp, 0xc
movd xmm0, eax
mov eax, dword [esi + 0x24]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfcc], eax
comiss xmm0, dword [0x5bc028]
movss dword [ebp - 0xfc4], xmm0
jb 0x47705e
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x476fa8
push 0x5bda7c
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x476faa
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfc4]
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.0050dff0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0xfe8], 1
push str.You_recover__d_Glowing_White_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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 [0x5c00b4]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0xff4]
push eax
mulss xmm0, dword [0x5c00a4]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.0044c740
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfcc]
add eax, dword [esi + 0x28]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfcc], eax
comiss xmm0, dword [0x5bc028]
movss dword [ebp - 0xfc4], xmm0
jb 0x4771ab
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4770f5
push 0x5bda54
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4770f7
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfc4]
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.0050dff0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0xfe8], 1
push str.You_recover__d_Glowing_Red_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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 [0x5c00b4]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0xff4]
push eax
mulss xmm0, dword [0x5c00a4]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.0044c740
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfcc]
add eax, dword [esi + 0x2c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfcc], eax
comiss xmm0, dword [0x5bc028]
movss dword [ebp - 0xfc4], xmm0
jb 0x4772f8
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x477242
push 0x5bda68
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x477244
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfc4]
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.0050dff0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0xfe8], 1
push str.You_recover__d_Glowing_Green_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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 [0x5c00b4]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0xff4]
push eax
mulss xmm0, dword [0x5c00a4]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.0044c740
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfcc]
add eax, dword [esi + 0x20]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfcc], eax
comiss xmm0, dword [0x5bc028]
movss dword [ebp - 0xfc4], xmm0
jb 0x477445
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x47738f
push 0x5bda90
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x477391
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfc4]
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.0050dff0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0xfe8], 1
push str.You_recover__d_Glowing_Black_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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]
mov eax, dword [esi + 0x34]
push eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x5c00a4]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xff4]
mulss xmm0, xmm1
push eax
cvttss2si eax, xmm0
push eax
call fcn.0044c740
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfcc]
add eax, dword [esi + 0x34]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xfcc], eax
comiss xmm0, dword [0x5bc028]
movss dword [ebp - 0xfc4], xmm0
jb 0x477589
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4774d3
push 0x5bef9c
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4774d5
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
cvttss2si esi, dword [ebp - 0xfc4]
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.0050dff0
push esi
lea eax, [ebp - 0x418]
mov dword [ebp - 0xfe8], 1
push str.You_recover__d_Glowing_Gold_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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 0x477597
sub eax, 0x15
jmp 0x477598
dec eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x5c00ac]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0xff4]
push eax
mulss xmm0, dword [0x5bda04]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call fcn.0044c740
add esp, 0xc
movd xmm0, eax
mov eax, dword [ebp - 0xfcc]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
add eax, ecx
mov dword [ebp - 0xfc0], ecx
comiss xmm0, dword [0x5bc028]
mov dword [ebp - 0xfcc], eax
jb 0x4776e8
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x47762f
push 0x5bda40
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x477631
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.0050dff0
push dword [ebp - 0xfc0]
lea eax, [ebp - 0x418]
mov dword [ebp - 0xfe8], 1
push str.You_recover__d_Glowing_Blue_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
movss xmm0, dword [ebp - 0xfdc]
divss xmm0, dword [0x5bde88]
add eax, dword [esi + 0x30]
mov dword [ebp - 0xfcc], eax
push 1
push 0
divss xmm0, dword [ebp - 0x1010]
cvttss2si eax, xmm0
push eax
call fcn.0044c740
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 0x477750
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 - 0xfcc], 5
cmovge ecx, edx
cmp dword [ebp - 0xfcc], 0xe
mov dword [ebp - 0xfc8], ecx
jle 0x47777e
mov dword [ebp - 0xfc8], ecx
test ecx, ecx
je 0x47777e
lea eax, [ecx + 0xa]
mov dword [ebp - 0xfc8], eax
call fcn.005619b8
movss xmm0, dword [ebp - 0xfc0]
mov ecx, 0x64
cdq
xorps xmm1, xmm1
idiv ecx
comiss xmm0, xmm1
jbe 0x477900
cmp dword [esi + 0x38], 0x2710
jl 0x477900
cmp dword [ebp - 0xfe8], 0
je 0x477900
cmp edx, dword [ebp - 0xfc8]
jge 0x477900
movss xmm0, dword [ebp - 0x100c]
comiss xmm0, dword [0x5c0164]
jb 0x477900
call fcn.005619b8
mov esi, eax
and esi, 0x80000007
jns 0x4777ee
dec esi
or esi, 0xfffffff8
inc esi
push 0x120
add esi, 5
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x477827
mov ecx, esi
shl ecx, 6
add ecx, str.Glowing_Green_Dust
push ecx
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x477829
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
mov dword [eax], esi
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a4000
mov dword [ecx + 0x118], 1
push ecx
imul ecx, dword [edi + 0x188], 0x980
mov byte [ebp - 4], 0
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
lea eax, [ebp - 0x418]
push str.You_find_something_special_inside_the_weapon.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov esi, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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.0043d360
lea eax, [ebp - 0x418]
push eax
push str.ShardCreationLog.txt
call fcn.004a0f20
add esp, 0x14
jmp 0x4779e1
mov eax, dword [0x61aa7c]
cmp dword [eax + 0x7c], 0
je 0x4779db
call fcn.005619b8
movss xmm0, dword [ebp - 0xfc0]
mov ecx, 0xa
cdq
xorps xmm1, xmm1
idiv ecx
comiss xmm0, xmm1
jbe 0x4779db
cmp dword [esi + 0x38], 0x2710
jl 0x4779db
cmp dword [ebp - 0xfe8], 0
je 0x4779db
cmp edx, 1
jne 0x4779db
movss xmm0, dword [ebp - 0x1028]
comiss xmm0, dword [0x5c0168]
jb 0x4779db
call fcn.005619b8
mov esi, eax
and esi, 0x80000007
jns 0x477978
dec esi
or esi, 0xfffffff8
inc esi
push 0x120
add esi, 5
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x4779b1
mov ecx, esi
shl ecx, 6
add ecx, str.Glowing_Green_Dust
push ecx
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4779b3
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
mov dword [eax], esi
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
jmp 0x47784c
mov esi, dword [ebp - 0xfd4]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc4], eax
test eax, eax
je 0x477a8e
mov esi, eax
nop word [eax + eax]
cmp dword [ebp - 0xff0], esi
jne 0x477a69
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x477a2c
dec eax
mov dword [esi + 0x118], eax
jmp 0x477a50
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd10
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x477a10
mov esi, dword [ebp - 0xfd4]
lea eax, [ebp - 0x418]
push str.You_dismantle_the_weapon.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 eax, dword [ebp - 0xfd8]
cmp dword [eax + 0xc], 0
ja 0x47e7ac
jb 0x477afa
cmp dword [eax + 8], 0x7530
jae 0x47e7ac
movss xmm1, dword [ebp - 0xfdc]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x1010]
divss xmm0, dword [0x5bcbd0]
comiss xmm2, xmm0
jbe 0x47e7ac
mov eax, dword [0x61aa7c]
mov edi, dword [ebp - 0xfd8]
movd xmm0, dword [eax + 0x98]
mov edx, dword [edi + 4]
mov ecx, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfc4], xmm0
call fcn.00554c10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0xfc4]
addss xmm0, xmm1
call fcn.0055490f
mov ecx, edx
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [ebp - 0xfc0], eax
mov eax, dword [edi + 0xc]
push eax
mov dword [ebp - 0xfec], ecx
mov ecx, dword [edi + 8]
push ecx
push eax
push ecx
call fcn.00555ad0
mov edi, eax
mov ecx, edx
shld ecx, edi, 4
shl edi, 4
sub edi, eax
mov eax, edi
mov dword [ebp - 0xfc4], edi
mov edi, dword [ebp - 0x1020]
sbb ecx, edx
mov edx, dword [ebp - 0xfec]
shld ecx, eax, 1
add eax, eax
cmp ecx, edx
ja 0x47e7ac
mov ecx, dword [ebp - 0xfc0]
jb 0x477bc5
cmp eax, ecx
ja 0x47e7ac
push 0
push 0x1e
push edx
push ecx
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov ecx, dword [ebp - 0xfd8]
push str.You_gained_a_skill_level__
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5c0090]
movss dword [eax + edi + 0x300], xmm0
jmp 0x47e78a
push str.Put_a_weapon_in_the_workbench_to_dismantle_it.
jmp 0x47e764
mov edx, 0x5bf06c
mov ecx, eax
nop word [eax + eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x477ca2
cmp byte [ebp - 0xfba], 0
je 0x477c9e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x477ca2
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x477c60
xor ecx, ecx
jmp 0x477ca7
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x478561
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfe8], ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
test eax, eax
je 0x478557
xor esi, esi
nop dword [eax + eax]
cmp dword [eax + 0x110], 0xd
jne 0x477d0e
add esi, dword [eax + 0x118]
mov dword [ebp - 0xfe8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd10
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
test eax, eax
jne 0x477ce0
cmp esi, 1
mov esi, dword [ebp - 0xfd4]
jl 0x478557
mov eax, dword [ebp - 0xfe8]
cmp dword [eax + 0x118], 1
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0x100c], ecx
jle 0x477deb
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x477d8e
push str.UNNAMED
push 0
push 0
mov ecx, eax
call fcn.0050d390
mov edx, eax
mov dword [ebp - 0xfc0], eax
jmp 0x477d96
xor edx, edx
mov dword [ebp - 0xfc0], edx
mov ecx, dword [ebp - 0xfe8]
push edx
mov byte [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [ebp - 0xfe8]
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, 8
call fcn.0044ddb0
mov ecx, dword [ebp - 0x100c]
movss xmm1, dword [0x5bc028]
divss xmm1, dword [ecx + 4]
mov eax, dword [ecx + 0xc]
inc eax
mov dword [ebp - 0xfd8], 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, 8
mulss xmm1, xmm0
movss dword [ebp - 0xfc8], xmm1
call fcn.0044dcb0
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x475bbb
mov ecx, eax
call fcn.0044c2d0
lea ecx, [edi + 0x260]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x477e71
test dl, dl
je 0x477e6d
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x477e71
add ecx, 2
add eax, 2
test dl, dl
jne 0x477e51
xor eax, eax
jmp 0x477e76
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477e8c
mov eax, dword [ebp - 0xfc0]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfd8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x477e44
mov esi, dword [ebp - 0xfd4]
cmp dword [ebp - 0xfd8], eax
je 0x475bbb
mov ecx, edi
call fcn.0047f0d0
mov ecx, dword [ebp - 0xfd8]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.00555ad0
mov ecx, eax
call fcn.00554c10
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3f8ccccd
movss dword [ebp - 0xfc4], xmm0
mov dword [esp], 0x3f666666
call fcn.004903c0
fmul dword [ebp - 0xfc4]
add esp, 8
mov ecx, 0x61b4f0
push esi
fmul dword [0x5bcd38]
push 1
fstp dword [ebp - 0xfc0]
call fcn.0052fd90
test eax, eax
je 0x477f5b
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x477f5b
movss xmm0, dword [ebp - 0xfc0]
mulss xmm0, dword [0x5c00bc]
jmp 0x477f63
movss xmm0, dword [ebp - 0xfc0]
push esi
push 0
mov ecx, 0x61b4f0
movss dword [ebp - 0xfcc], xmm0
call fcn.0052fd90
test eax, eax
je 0x477fb1
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x477fb1
movss xmm0, dword [ebp - 0xfcc]
mulss xmm0, dword [0x5c00bc]
movss dword [ebp - 0xfcc], xmm0
push esi
push 2
mov ecx, 0x61b4f0
call fcn.0052fd90
test eax, eax
je 0x477ff9
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
movss xmm1, dword [ebp - 0xfcc]
test eax, eax
je 0x478001
mulss xmm1, dword [0x5c00bc]
movss dword [ebp - 0xfcc], xmm1
jmp 0x478001
movss xmm1, dword [ebp - 0xfcc]
mov eax, dword [edi + 0x14f60]
test eax, eax
jle 0x47802e
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0094]
addss xmm0, dword [0x5bc028]
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
movss xmm0, dword [ebp - 0xfc8]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
movss xmm1, dword [ebp - 0xfc8]
comiss xmm0, xmm1
jb 0x4782ac
mov eax, dword [ebp - 0xfe8]
movss xmm1, dword [eax + 0x10c]
mov eax, dword [ebp - 0x100c]
addss xmm1, xmm1
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
add eax, eax
movd xmm0, eax
imul eax, dword [edi + 0x188], 0x980
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
movss dword [ebp - 0xfc0], xmm1
call fcn.0044dcb0
mov dword [ebp - 0xfc4], eax
test eax, eax
je 0x4781e1
mov esi, eax
cmp dword [ebp - 0xfe8], esi
jne 0x4781bc
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x47817f
dec eax
mov dword [esi + 0x118], eax
jmp 0x4781a3
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd10
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x478163
mov esi, dword [ebp - 0xfd4]
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x47820e
push str.Disarmed_Bomb
push 0
push 0
mov ecx, eax
call fcn.0050d390
jmp 0x478210
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.0050dff0
lea eax, [ebp - 0x418]
push str.You_disarmed_the_bomb.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
movss xmm1, dword [ebp - 0xfc8]
mov eax, dword [ebp - 0xfd8]
cmp dword [eax + 0xc], 0
ja 0x4783af
jb 0x4782cb
cmp dword [eax + 8], 0x7530
jae 0x4783af
comiss xmm0, xmm1
jb 0x4783af
mov eax, dword [0x61aa7c]
mov edi, dword [ebp - 0xfd8]
movd xmm0, dword [eax + 0x9c]
mov edx, dword [edi + 4]
mov ecx, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfc4], xmm0
call fcn.00554c10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0xfc4]
addss xmm0, xmm1
call fcn.0055490f
mov ecx, edx
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [ebp - 0xfc0], eax
mov eax, dword [edi + 0xc]
push eax
mov dword [ebp - 0xfec], ecx
mov ecx, dword [edi + 8]
push ecx
push eax
push ecx
call fcn.00555ad0
mov esi, eax
mov ecx, edx
shld ecx, esi, 4
shl esi, 4
sub esi, eax
mov eax, esi
mov dword [ebp - 0xfc4], esi
mov esi, dword [ebp - 0xfd4]
sbb ecx, edx
mov edx, dword [ebp - 0xfec]
shld ecx, eax, 1
add eax, eax
cmp ecx, edx
ja 0x47e7ac
mov ecx, dword [ebp - 0xfc0]
jb 0x47837b
cmp eax, ecx
ja 0x47e7ac
push 0
push 0x1e
push edx
push ecx
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
push str.You_gained_a_skill_level__
jmp 0x47e764
lea eax, [ebp - 0x418]
push str.You_failed_to_disarm_the_bomb_
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x478429
push edi
mov ecx, eax
call fcn.00490430
mov ecx, eax
mov dword [ebp - 0xfc8], eax
jmp 0x478431
xor ecx, ecx
mov dword [ebp - 0xfc8], ecx
mov eax, dword [edi + 0x108]
mov edx, dword [ebp - 0x100c]
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 - 0xfc8]
mov dword [ecx + 0x198], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc4], eax
test eax, eax
je 0x478541
mov esi, eax
cmp dword [ebp - 0xfe8], esi
jne 0x47851c
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x4784df
dec eax
mov dword [esi + 0x118], eax
jmp 0x478503
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd10
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4784c3
mov esi, dword [ebp - 0xfd4]
push dword [ebp - 0xfc8]
mov ecx, dword [esi + 0x118]
call fcn.00515a10
jmp 0x47e7ac
push str.Put_a_bomb_in_the_workbench_to_attempt_to_disarm_it.
jmp 0x47e764
mov edx, 0x5be920
mov ecx, eax
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x4785b2
cmp byte [ebp - 0xfba], 0
je 0x4785ae
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfba], al
lea eax, [edi + 0x260]
jne 0x4785b2
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfba], 0
jne 0x478570
xor ecx, ecx
jmp 0x4785b7
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x478fdb
movss xmm0, dword [0x5bc028]
xor eax, eax
mov dword [ebp - 0xfec], eax
mov dword [ebp - 0xfe4], eax
or eax, 0xffffffff
mov dword [ebp - 0xff4], eax
imul eax, dword [edi + 0x188], 0x980
movss dword [ebp - 0xfe8], xmm0
movss dword [ebp - 0x1018], xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
test eax, eax
je 0x478fd1
or esi, 0xffffffff
mov ecx, dword [eax + 0x110]
cmp ecx, 0xa
jne 0x47864d
mov eax, dword [eax + 0x11c]
cmp esi, 0xffffffff
je 0x478632
mov ecx, dword [eax]
mov dword [ebp - 0xff4], ecx
jmp 0x478634
mov esi, dword [eax]
mov eax, dword [eax + 8]
cmp eax, 0x17
jg 0x478641
cmp eax, 0xfffffffe
jne 0x4786ad
mov dword [ebp - 0xfec], 1
jmp 0x4786ad
cmp ecx, 0x10
jne 0x4786ad
mov ecx, dword [eax + 0x11c]
mov edx, dword [ecx]
test edx, edx
jne 0x478688
mov eax, dword [eax + 0x118]
add dword [ebp - 0xfe4], eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 4]
addss xmm0, dword [ebp - 0xfe8]
movss dword [ebp - 0xfe8], xmm0
jmp 0x4786ad
cmp edx, 1
jne 0x4786ad
movd xmm0, dword [eax + 0x118]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 4]
addss xmm0, dword [ebp - 0x1018]
movss dword [ebp - 0x1018], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
test eax, eax
jne 0x478612
mov dword [ebp - 0x1010], esi
cmp esi, 0xffffffff
mov esi, dword [ebp - 0xfd4]
je 0x478fd1
cmp dword [ebp - 0xfe4], 1
jge 0x4786f6
push str.An_EarthKey_requires_at_least_one_bead_to_power_it.
jmp 0x47e764
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfd8], 0
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x475bbb
mov ecx, eax
call fcn.0044c2d0
lea ecx, [edi + 0x260]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x478754
test dl, dl
je 0x478750
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x478754
add ecx, 2
add eax, 2
test dl, dl
jne 0x478734
xor eax, eax
jmp 0x478759
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47876f
mov eax, dword [ebp - 0xfc0]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfd8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x478727
cmp dword [ebp - 0xfd8], eax
je 0x475bbb
mov ecx, edi
call fcn.00484760
mov ecx, dword [ebp - 0xfd8]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.00555ad0
mov ecx, eax
call fcn.00554c10
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3fa66666
mulss xmm0, dword [0x5c00a0]
mov dword [esp], 0x3f333333
movss dword [ebp - 0xfc4], xmm0
call fcn.004903c0
fmul dword [ebp - 0xfc4]
add esp, 8
mov ecx, 0x61b4f0
push esi
push 6
fstp dword [ebp - 0xfc0]
call fcn.0052fd90
test eax, eax
je 0x47883a
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x47883a
movss xmm0, dword [ebp - 0xfc0]
mulss xmm0, dword [0x5bd0d8]
jmp 0x478842
movss xmm0, dword [ebp - 0xfc0]
push esi
push 7
mov ecx, 0x61b4f0
movss dword [ebp - 0xfcc], xmm0
call fcn.0052fd90
test eax, eax
je 0x478892
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
movss xmm1, dword [ebp - 0xfcc]
test eax, eax
je 0x47889a
mulss xmm1, dword [0x5c00cc]
movss dword [ebp - 0xfcc], xmm1
jmp 0x47889a
movss xmm1, dword [ebp - 0xfcc]
mov eax, dword [edi + 0x14f5c]
test eax, eax
jle 0x4788c7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0094]
addss xmm0, dword [0x5bc028]
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
mov eax, dword [ebp - 0xfe4]
imul eax
mov ecx, eax
call fcn.00554c50
cvtsd2ss xmm0, xmm0
sub esp, 8
lea eax, [ebp - 0x418]
mulss xmm0, dword [ebp - 0x1018]
mulss xmm0, dword [0x5c00e0]
movss dword [ebp - 0x100c], xmm0
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
comiss xmm0, dword [ebp - 0x100c]
jb 0x478ea2
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc4], eax
test eax, eax
je 0x478a3e
mov esi, eax
mov eax, dword [esi + 0x110]
cmp eax, 0xa
je 0x4789f5
cmp eax, 0x10
jne 0x478a19
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4789e5
mov esi, dword [ebp - 0xfd4]
movss xmm0, dword [ebp - 0xfe8]
mulss xmm0, dword [ebp - 0x1018]
push 4
push 0
cvttss2si eax, xmm0
movss dword [ebp - 0xfe8], xmm0
and eax, reloc.WS2_32.dll_closesocket
jns 0x478a6a
dec eax
or eax, 0xfffffffc
inc eax
push eax
call fcn.0044c740
movss xmm0, dword [ebp - 0xfe8]
divss xmm0, dword [0x5bcbd0]
push 4
push 0
cvttss2si eax, xmm0
and eax, reloc.WS2_32.dll_closesocket
jns 0x478a94
dec eax
or eax, 0xfffffffc
inc eax
push eax
call fcn.0044c740
mov eax, dword [0x61aa7c]
add esp, 0x18
cmp dword [eax + 0x7c], 0
jne 0x478af0
mov eax, dword [ebp - 0x1010]
cmp eax, 0x15
je 0x478ac2
cmp eax, 0x1b
je 0x478ac2
cmp eax, 0x1f
je 0x478ac2
cmp eax, 0x20
jne 0x478acc
mov dword [ebp - 0x1010], 0
mov eax, dword [ebp - 0xff4]
cmp eax, 0x15
je 0x478ae6
cmp eax, 0x1b
je 0x478ae6
cmp eax, 0x1f
je 0x478ae6
cmp eax, 0x20
jne 0x478af6
xor eax, eax
mov dword [ebp - 0xff4], eax
jmp 0x478af6
mov eax, dword [ebp - 0xff4]
movss xmm0, dword [ebp - 0xfe8]
addss xmm0, dword [0x5bcee4]
cvttss2si ecx, xmm0
test eax, eax
jns 0x478b35
imul eax, dword [ebp - 0x1010], 0x258
add eax, str.Ghost
push eax
push ecx
lea eax, [ebp - 0x418]
push str._dm__s_EarthKey
push eax
call fcn.0043d360
add esp, 0x10
jmp 0x478b4a
push ecx
lea eax, [ebp - 0x418]
push str._dm_mixed_EarthKey
push eax
call fcn.0043d360
add esp, 0xc
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x478b79
lea ecx, [ebp - 0x418]
push ecx
push 0
push 0x11
mov ecx, eax
call fcn.0050d390
jmp 0x478b7b
xor eax, eax
movss xmm1, dword [ebp - 0xfe8]
movaps xmm0, xmm1
mov dword [eax + 0x108], 0
mulss xmm0, dword [0x5bcd38]
mov dword [ebp - 0xfc8], eax
mov byte [ebp - 4], 0
addss xmm0, dword [0x5c016c]
movss dword [eax + 0x10c], xmm0
mov dword [eax + 0x118], 1
mov ecx, dword [eax + 0x11c]
mov eax, dword [ebp - 0x1010]
mov dword [ebp - 0xfc0], ecx
movss dword [ecx + 8], xmm1
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xff4]
mov dword [ecx + 0x10], eax
movss xmm0, dword [ecx + 8]
cvtps2pd xmm0, xmm0
call fcn.00584320
cvtsd2ss xmm0, xmm0
mov ecx, 2
divss xmm0, dword [0x5c0184]
cvttss2si eax, xmm0
sub ecx, eax
lea eax, [ecx + ecx*4]
mov ecx, 0xa
cmp eax, ecx
cmovl eax, ecx
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx], eax
movss xmm0, dword [ecx + 8]
mulss xmm0, dword [0x5c00b0]
cvtps2pd xmm0, xmm0
call fcn.00584320
cvtsd2ss xmm0, xmm0
mov ecx, 2
divss xmm0, dword [0x5c0184]
cvttss2si eax, xmm0
sub ecx, eax
lea eax, [ecx + ecx*4]
mov ecx, 0xa
cmp eax, 0xa
cmovl eax, ecx
cmp dword [ebp - 0xfec], 1
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 4], eax
jne 0x478c72
mov eax, dword [ecx]
neg eax
mov dword [ecx], eax
mov eax, dword [ecx + 4]
neg eax
mov dword [ecx + 4], eax
lea eax, [ebp - 0x418]
push str.You_have_created_a
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfc8]
call fcn.0044c2d0
push eax
lea eax, [ebp - 0x418]
push 0x5bebdc
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfc8]
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
mov ecx, dword [ebp - 0xfd8]
cmp dword [ecx + 0xc], 0
ja 0x47e7ac
jb 0x478d53
cmp dword [ecx + 8], 0x7530
jae 0x47e7ac
movss xmm1, dword [ebp - 0xfcc]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x100c]
divss xmm0, dword [0x5bcee4]
comiss xmm2, xmm0
jbe 0x47e7ac
mov eax, dword [0x61aa7c]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
movd xmm0, dword [eax + 0xa0]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfc4], xmm0
call fcn.00554c10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0xfc4]
addss xmm0, xmm1
call fcn.0055490f
mov ecx, eax
mov dword [ebp - 0xfec], edx
mov eax, dword [ebp - 0xfd8]
mov dword [ebp - 0xfc0], ecx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push eax
push ecx
push eax
push ecx
call fcn.00555ad0
mov esi, eax
mov ecx, edx
shld ecx, esi, 4
shl esi, 4
sub esi, eax
mov eax, esi
mov dword [ebp - 0xfc4], esi
mov esi, dword [ebp - 0xfd4]
sbb ecx, edx
mov edx, dword [ebp - 0xfec]
shld ecx, eax, 1
add eax, eax
cmp ecx, edx
ja 0x47e7ac
mov ecx, dword [ebp - 0xfc0]
jb 0x478e1e
cmp eax, ecx
ja 0x47e7ac
push 0
push 0x1e
push edx
push ecx
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov ecx, dword [ebp - 0xfd8]
push str.You_gained_a_skill_level__
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5c00a4]
movss dword [eax + edi + 0x300], xmm0
jmp 0x47e78a
lea eax, [ebp - 0x418]
push str.Your_Eye_of_the_Earth_fails_to_see.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x47e7ac
movss xmm0, dword [ebp - 0xfcc]
divss xmm0, dword [ebp - 0x100c]
movss dword [ebp - 0xfcc], xmm0
nop word [eax + eax]
sub esp, 8
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call fcn.004903c0
fstp dword [ebp - 0xfc4]
movss xmm0, dword [ebp - 0xfc4]
add esp, 8
comiss xmm0, dword [ebp - 0xfcc]
jbe 0x478fa9
mov eax, dword [esi + 0x110]
cmp eax, 0xa
je 0x478f71
cmp eax, 0x10
jne 0x478fa9
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x478f85
dec eax
mov dword [esi + 0x118], eax
jmp 0x478fa9
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x478f30
jmp 0x47e7ac
push str.An_EarthKey_requires_the_flesh_of_a_monster.
jmp 0x47e764
mov ecx, 0x5be92c
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x479000
test dl, dl
je 0x478ffc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x479000
add eax, 2
add ecx, 2
test dl, dl
jne 0x478fe0
xor eax, eax
jmp 0x479005
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47ad08
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
test eax, eax
je 0x47acfe
xor esi, esi
cmp dword [eax + 0x110], 2
cmovne eax, esi
mov esi, eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
test eax, eax
jne 0x479030
mov dword [ebp - 0x1018], esi
test esi, esi
mov esi, dword [ebp - 0xfd4]
je 0x47acfe
mov dword [ebp - 0xff4], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x475bbb
nop word [eax + eax]
mov ecx, eax
call fcn.0044c2d0
lea ecx, [edi + 0x260]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4790d0
test dl, dl
je 0x4790cc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4790d0
add ecx, 2
add eax, 2
test dl, dl
jne 0x4790b0
xor eax, eax
jmp 0x4790d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4790eb
mov eax, dword [ebp - 0xfc0]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xff4], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x4790a0
cmp dword [ebp - 0xff4], eax
je 0x475bbb
mov ecx, edi
call fcn.00484760
mov ecx, dword [ebp - 0xff4]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.00555ad0
mov ecx, eax
call fcn.00554c10
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3fc00000
mulss xmm0, dword [0x5c00a0]
mov dword [esp], 0x3f4ccccd
movss dword [ebp - 0xfc4], xmm0
call fcn.004903c0
fmul dword [ebp - 0xfc4]
add esp, 8
mov ecx, 0x61b4f0
push esi
push 8
fstp dword [ebp - 0xfc0]
call fcn.0052fd90
test eax, eax
je 0x4791b6
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x4791b6
movss xmm1, dword [ebp - 0xfc0]
mulss xmm1, dword [0x5c00b8]
jmp 0x4791be
movss xmm1, dword [ebp - 0xfc0]
mov eax, dword [edi + 0x14f5c]
movss dword [ebp - 0x1010], xmm1
test eax, eax
jle 0x4791f3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0094]
addss xmm0, dword [0x5bc028]
mulss xmm0, xmm1
movss dword [ebp - 0x1010], xmm0
mov eax, dword [ebp - 0x1018]
xor edx, edx
mov esi, 9
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfc4], eax
lea ecx, [eax + 0x1c]
nop
cvttss2si eax, dword [ecx]
lea ecx, [ecx + 4]
add edx, eax
sub esi, 1
jne 0x479210
mov ecx, dword [ebp - 0xfc4]
mov dword [ebp - 0xfc0], edx
mov ecx, dword [ecx + 4]
lea eax, [ecx + ecx]
imul ecx
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0xfc0]
shld esi, ecx, 1
add ecx, ecx
lea eax, [eax + eax*4]
add eax, eax
cdq
add ecx, eax
adc edx, esi
call fcn.00554c50
movss xmm1, dword [0x5bc028]
lea eax, [ebp - 0x418]
cvtsd2ss xmm0, xmm0
sub esp, 8
maxss xmm1, xmm0
cvtps2pd xmm0, xmm1
movss dword [ebp - 0xfec], xmm1
movsd qword [esp], xmm0
push str.Task_difficulty_is__4.2f.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov esi, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
add esp, 0x20
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
movss xmm0, dword [ebp - 0x1010]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0x1010]
lea eax, [ebp - 0x418]
comiss xmm0, dword [ebp - 0xfec]
jb 0x47ac96
push str.You_successfully_shatter_the_totem_with_magic___Its_power_engulfs_the_items_in_your_workbench.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 eax, dword [ebp - 0x1018]
movss xmm1, dword [0x5c0150]
mov ecx, dword [eax + 0x11c]
add ecx, 0x1c
mov dword [ebp - 0xfd0], ecx
movss xmm0, dword [ecx + 0x18]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4795c6
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4795c6
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_break_a_Heart_Gem_apart.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x4795c0
mov esi, dword [ebp - 0xfd0]
nop dword [eax]
nop dword [eax + eax]
cmp dword [eax + 0x110], 0x10
jne 0x479593
mov ecx, dword [eax + 0x11c]
cmp dword [ecx], 1
jne 0x479593
movss xmm1, dword [esi + 0x20]
movss xmm2, dword [0x5bc028]
comiss xmm1, xmm2
jbe 0x479593
movss xmm0, dword [ecx + 4]
comiss xmm0, xmm2
jbe 0x479593
comiss xmm1, xmm0
jb 0x479593
dec dword [eax + 0x118]
cmp dword [eax + 0x118], 1
jge 0x4794c8
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [ebp - 0xfc0]
mov eax, dword [eax + 0x11c]
movss xmm0, dword [esi + 0x20]
push 0x120
movss xmm1, dword [eax + 4]
cvttss2si eax, xmm1
subss xmm0, xmm1
mov dword [ebp - 0xfc4], eax
movss dword [esi + 0x20], xmm0
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x479518
push str.Plain_Heart_Gem
push 0
push 0x10
mov ecx, eax
call fcn.0050d390
jmp 0x47951a
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x47953b
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x47953d
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 - 0xfc4]
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.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x479450
mov esi, dword [ebp - 0xfd4]
mov ecx, dword [ebp - 0xfd0]
movss xmm0, dword [ecx + 0x10]
movss xmm1, dword [0x5bc038]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4799ed
movss xmm0, dword [ecx]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4797de
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Green_Dust_into_White_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0xfc8], ecx
test ecx, ecx
je 0x4799df
mov esi, dword [ebp - 0xfd0]
nop dword [eax]
cmp dword [ecx + 0x110], 8
jne 0x4797b0
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 0
jne 0x4797b0
movss xmm1, dword [esi + 0x20]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x4797b0
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x4796f5
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [ebp - 0xfc8]
add eax, 8
push 0x5bda7c
push eax
call fcn.0043d360
mov ecx, dword [ebp - 0xfc8]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 3
jmp 0x479799
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x479730
push 0x5bda7c
push 0
push 8
mov ecx, eax
call fcn.0050d390
jmp 0x479732
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x479753
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x479755
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], eax
cvttss2si eax, dword [esi + 0x20]
mov dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x11c]
mov dword [eax], 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.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0xfc8], eax
test ecx, ecx
jne 0x479670
jmp 0x4799d9
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4799ed
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Black_Dust_into_Red_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0xfc8], ecx
test ecx, ecx
je 0x4799df
mov esi, dword [ebp - 0xfd0]
nop dword [eax]
cmp dword [ecx + 0x110], 8
jne 0x4799b0
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 2
jne 0x4799b0
movss xmm1, dword [esi + 0x20]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x4799b0
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x4798f5
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [ebp - 0xfc8]
add eax, 8
push 0x5bda54
push eax
call fcn.0043d360
mov ecx, dword [ebp - 0xfc8]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 4
jmp 0x479999
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x479930
push 0x5bda54
push 0
push 8
mov ecx, eax
call fcn.0050d390
jmp 0x479932
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x479953
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x479955
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], eax
cvttss2si eax, dword [esi + 0x20]
mov dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x11c]
mov dword [eax], 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.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0xfc8], eax
test ecx, ecx
jne 0x479870
mov esi, dword [ebp - 0xfd4]
mov ecx, dword [ebp - 0xfd0]
movss xmm1, dword [0x5bc038]
movss xmm0, dword [ecx + 0x14]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x479c0d
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x479c0d
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_White_into_Green_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0xfc8], ecx
test ecx, ecx
je 0x479bff
mov esi, dword [ebp - 0xfd0]
nop dword [eax]
cmp dword [ecx + 0x110], 8
jne 0x479bd0
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 3
jne 0x479bd0
movss xmm1, dword [esi + 0x20]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x479bd0
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x479b15
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [ebp - 0xfc8]
add eax, 8
push 0x5bda68
push eax
call fcn.0043d360
mov ecx, dword [ebp - 0xfc8]
add esp, 8
mov eax, dword [ecx + 0x11c]
mov dword [eax], 0
jmp 0x479bb9
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x479b50
push 0x5bda68
push 0
push 8
mov ecx, eax
call fcn.0050d390
jmp 0x479b52
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x479b73
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x479b75
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
mov dword [ecx + 0x11c], eax
cvttss2si eax, dword [esi + 0x20]
mov dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x11c]
mov dword [eax], 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.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0xfc8], eax
test ecx, ecx
jne 0x479a90
mov esi, dword [ebp - 0xfd4]
mov ecx, dword [ebp - 0xfd0]
movss xmm1, dword [0x5bc038]
movss xmm4, dword [ecx + 0x18]
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jp 0x479e1f
movss xmm0, dword [ecx + 0x14]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x479e1f
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_White_into_Black_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0xfc0], ecx
test ecx, ecx
je 0x47aaf4
nop word [eax + eax]
cmp dword [ecx + 0x110], 8
jne 0x479df1
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 3
jne 0x479df1
mov esi, dword [ebp - 0xfd0]
xorps xmm0, xmm0
movss xmm1, dword [esi + 0x20]
comiss xmm1, xmm0
jbe 0x479df1
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x479d36
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov esi, dword [ebp - 0xfc0]
push 0x5bda90
lea eax, [esi + 8]
push eax
call fcn.0043d360
mov eax, dword [esi + 0x11c]
add esp, 8
mov dword [eax], 2
push esi
jmp 0x479ddb
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x479d71
push 0x5bda90
push 0
push 8
mov ecx, eax
call fcn.0050d390
jmp 0x479d73
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x479d94
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x479d96
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
push ecx
mov dword [ecx + 0x11c], eax
cvttss2si eax, dword [esi + 0x20]
mov dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x11c]
mov dword [eax], 2
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0xfc0], eax
test ecx, ecx
jne 0x479cb0
jmp 0x47aaf4
movss xmm0, dword [ecx + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a22f
movss xmm0, dword [ecx + 0x10]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a02f
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Red_Dust_into_Black_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0xfc0], ecx
test ecx, ecx
je 0x47aaf4
nop dword [eax]
cmp dword [ecx + 0x110], 8
jne 0x47a001
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 4
jne 0x47a001
mov esi, dword [ebp - 0xfd0]
xorps xmm0, xmm0
movss xmm1, dword [esi + 0x20]
comiss xmm1, xmm0
jbe 0x47a001
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x479f46
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov esi, dword [ebp - 0xfc0]
push 0x5bda90
lea eax, [esi + 8]
push eax
call fcn.0043d360
mov eax, dword [esi + 0x11c]
add esp, 8
mov dword [eax], 2
push esi
jmp 0x479feb
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x479f81
push 0x5bda90
push 0
push 8
mov ecx, eax
call fcn.0050d390
jmp 0x479f83
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x479fa4
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x479fa6
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
push ecx
mov dword [ecx + 0x11c], eax
cvttss2si eax, dword [esi + 0x20]
mov dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x11c]
mov dword [eax], 2
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0xfc0], eax
test ecx, ecx
jne 0x479ec0
jmp 0x47aaf4
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a22f
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Red_Dust_into_Green_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0xfc0], ecx
test ecx, ecx
je 0x47aaf4
nop word [eax + eax]
cmp dword [ecx + 0x110], 8
jne 0x47a201
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 4
jne 0x47a201
mov esi, dword [ebp - 0xfd0]
xorps xmm0, xmm0
movss xmm1, dword [esi + 0x20]
comiss xmm1, xmm0
jbe 0x47a201
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47a146
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov esi, dword [ebp - 0xfc0]
push 0x5bda68
lea eax, [esi + 8]
push eax
call fcn.0043d360
mov eax, dword [esi + 0x11c]
add esp, 8
mov dword [eax], 0
push esi
jmp 0x47a1eb
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x47a181
push 0x5bda68
push 0
push 8
mov ecx, eax
call fcn.0050d390
jmp 0x47a183
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x47a1a4
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x47a1a6
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
push ecx
mov dword [ecx + 0x11c], eax
cvttss2si eax, dword [esi + 0x20]
mov dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x11c]
mov dword [eax], 0
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0xfc0], eax
test ecx, ecx
jne 0x47a0c0
jmp 0x47aaf4
movss xmm2, dword [ecx]
movss xmm1, dword [0x5bcbe0]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x47a43f
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a43f
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Green_Dust_into_Blue_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0xfc0], ecx
test ecx, ecx
je 0x47aaf4
cmp dword [ecx + 0x110], 8
jne 0x47a411
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 0
jne 0x47a411
mov esi, dword [ebp - 0xfd0]
xorps xmm0, xmm0
movss xmm1, dword [esi + 0x20]
comiss xmm1, xmm0
jbe 0x47a411
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47a356
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov esi, dword [ebp - 0xfc0]
push 0x5bda40
lea eax, [esi + 8]
push eax
call fcn.0043d360
mov eax, dword [esi + 0x11c]
add esp, 8
mov dword [eax], 1
push esi
jmp 0x47a3fb
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x47a391
push 0x5bda40
push 0
push 8
mov ecx, eax
call fcn.0050d390
jmp 0x47a393
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x47a3b4
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x47a3b6
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
push ecx
mov dword [ecx + 0x11c], eax
cvttss2si eax, dword [esi + 0x20]
mov dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x11c]
mov dword [eax], 1
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0xfc0], eax
test ecx, ecx
jne 0x47a2d0
jmp 0x47aaf4
movss xmm1, dword [0x5c0150]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x47a64f
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a64f
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_turn_Black_Dust_into_Blue_Dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0xfc0], ecx
test ecx, ecx
je 0x47aaf4
nop dword [eax]
cmp dword [ecx + 0x110], 8
jne 0x47a621
mov eax, dword [ecx + 0x11c]
cmp dword [eax], 2
jne 0x47a621
mov esi, dword [ebp - 0xfd0]
xorps xmm0, xmm0
movss xmm1, dword [esi + 0x20]
comiss xmm1, xmm0
jbe 0x47a621
movd xmm0, dword [ecx + 0x118]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47a566
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov esi, dword [ebp - 0xfc0]
push 0x5bda40
lea eax, [esi + 8]
push eax
call fcn.0043d360
mov eax, dword [esi + 0x11c]
add esp, 8
mov dword [eax], 1
push esi
jmp 0x47a60b
subss xmm0, xmm1
push 0x120
cvttss2si eax, xmm0
mov dword [ecx + 0x118], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1008], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x47a5a1
push 0x5bda40
push 0
push 8
mov ecx, eax
call fcn.0050d390
jmp 0x47a5a3
xor eax, eax
push 8
mov dword [ebp - 0xfc0], eax
mov byte [ebp - 4], 0
call fcn.00554883
add esp, 4
test eax, eax
je 0x47a5c4
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x47a5c6
xor eax, eax
mov ecx, dword [ebp - 0xfc0]
push ecx
mov dword [ecx + 0x11c], eax
cvttss2si eax, dword [esi + 0x20]
mov dword [ecx + 0x118], eax
mov eax, dword [ecx + 0x11c]
mov dword [eax], 1
mov eax, dword [ecx + 0x11c]
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0xfc0], eax
test ecx, ecx
jne 0x47a4e0
jmp 0x47aaf4
movss xmm3, dword [ecx + 4]
movss xmm1, dword [0x5c0140]
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jp 0x47a783
movss xmm0, dword [ecx + 0xc]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a783
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x47a783
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_change_a_shards_color.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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, 8
call fcn.0044dcb0
mov ecx, eax
test ecx, ecx
je 0x47aaf4
nop dword [eax]
cmp dword [ecx + 0x110], 8
jne 0x47a71b
mov edx, dword [ecx + 0x11c]
mov eax, dword [edx]
cmp eax, 5
jl 0x47a71b
cmp eax, 0xd
jle 0x47a73f
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov ecx, eax
test ecx, ecx
jne 0x47a700
jmp 0x47aaf4
inc eax
mov dword [edx], eax
mov eax, dword [ecx + 0x11c]
mov edx, dword [eax]
cmp edx, 0xd
jle 0x47a75d
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
nop dword [eax]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x47a770
jmp 0x47aaf4
movss xmm0, dword [0x5bc028]
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x47aaf4
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x47aaf4
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jp 0x47aaf4
lea eax, [ebp - 0x418]
push str.The_released_power_wants_to_release_your_pets.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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
lea ecx, [edi + 0x334]
mov byte [ebp - 0x1048], 0x38
mov byte [ebp - 0xf98], 0x3a
add ecx, eax
add eax, 0x368
add eax, edi
mov dword [ebp - 0xfe4], ecx
mov dword [ebp - 0xfd8], eax
cmp byte [ecx + 0x10], 0xff
je 0x47a996
mov eax, dword [edi + 0x180]
mov ecx, esi
mov dword [ebp - 0x1047], eax
mov dword [ebp - 0x1043], 0xffffffff
mov al, byte [edi + 0x108]
mov byte [ebp - 0x103f], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x103e], al
lea eax, [ebp - 0x1048]
push eax
push 0x11
mov word [ebp - 0x103d], 0x2828
mov dword [ebp - 0x103b], 0x50032
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
push dword [ebp - 0xfe4]
lea eax, [ebp - 0x418]
push str._s_is_freed_into_the_wild.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
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.0052c140
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.0044c9c0
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 [0x5bcbd0]
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.0052c140
mov eax, dword [ebp - 0xfe4]
mov byte [eax + 0x10], 0xff
mov eax, dword [ebp - 0xfd8]
cmp byte [eax + 0x10], 0xff
je 0x47aaf4
mov eax, dword [edi + 0x180]
mov ecx, esi
mov dword [ebp - 0x1047], eax
mov dword [ebp - 0x1043], 0xffffffff
mov al, byte [edi + 0x108]
mov byte [ebp - 0x103f], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x103e], al
lea eax, [ebp - 0x1048]
push eax
push 0x11
mov word [ebp - 0x103d], 0x2828
mov dword [ebp - 0x103b], 0x50032
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
push dword [ebp - 0xfd8]
lea eax, [ebp - 0x418]
push str._s_is_freed_into_the_wild.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
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.0052c140
mov eax, dword [edi + 0x180]
mov dword [ebp - 0xf97], eax
lea eax, [ebp - 0xf8b]
push 0x10
push eax
push 0x10
push dword [ebp - 0xfd8]
call fcn.0044c9c0
mov ecx, dword [ebp - 0xfd8]
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 [0x5bcbd0]
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.0052c140
mov eax, dword [ebp - 0xfd8]
mov byte [eax + 0x10], 0xff
mov esi, dword [ebp - 0x1018]
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x47ab0e
dec eax
mov dword [esi + 0x118], eax
jmp 0x47ab32
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov esi, dword [ebp - 0xff4]
cmp dword [esi + 0xc], 0
ja 0x47e7ac
jb 0x47ab51
cmp dword [esi + 8], 0x7530
jae 0x47e7ac
movss xmm0, dword [ebp - 0x1010]
divss xmm0, dword [0x5bcee4]
movss xmm1, dword [ebp - 0xfec]
comiss xmm1, xmm0
jbe 0x47e7ac
mov eax, dword [0x61aa7c]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
movd xmm0, dword [eax + 0xa4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xfc4], xmm0
call fcn.00554c10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0xfc4]
addss xmm0, xmm1
call fcn.0055490f
mov ecx, edx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [ebp - 0xfc0], eax
mov eax, dword [esi + 0xc]
push eax
mov dword [ebp - 0xfc4], ecx
mov ecx, dword [esi + 8]
push ecx
push eax
push ecx
call fcn.00555ad0
mov ecx, eax
mov esi, edx
shld esi, ecx, 2
shl ecx, 2
add eax, ecx
adc edx, esi
mov esi, dword [ebp - 0xfc4]
shld edx, eax, 2
shl eax, 2
cmp edx, esi
ja 0x47e7ac
mov ecx, dword [ebp - 0xfc0]
jb 0x47ac06
cmp eax, ecx
ja 0x47e7ac
push 0
push 0x14
push esi
push ecx
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov ecx, dword [ebp - 0xff4]
push str.You_gained_a_skill_level__
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5c0094]
movss dword [eax + edi + 0x300], xmm0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
push str.Your_attempt_to_magically_break_the_totem_fails._It_crumbles_to_dust.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0x1018]
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x47b4bd
dec eax
mov dword [esi + 0x118], eax
jmp 0x47e7ac
push str.You_must_have_a_totem_in_your_workbench_to_shatter.
jmp 0x47e764
mov eax, str.BEAR
mov dword [ebp - 0xfe8], 0xffffffff
mov dword [ebp - 0xfc0], 0
lea esi, [edi + 0x260]
mov dword [ebp - 0xfc8], eax
nop dword [eax]
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47ad35
sub ecx, edx
push ecx
push esi
push dword [ebp - 0xfc8]
call fcn.00593944
mov edx, dword [ebp - 0xfe8]
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0xfc0]
cmove edx, eax
inc eax
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0xfc8]
add eax, 0xc
mov dword [ebp - 0xfe8], edx
mov dword [ebp - 0xfc8], eax
cmp eax, 0x5fd60c
jl 0x47ad30
mov esi, dword [ebp - 0xfd4]
cmp edx, 0xffffffff
jle 0x47c1b1
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0xfe4], eax
mov dword [ebp - 0x1018], eax
mov dword [ebp - 0xfd8], eax
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfc8], ecx
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
test eax, eax
je 0x47c1a7
or esi, 0xffffffff
mov ecx, dword [eax + 0x110]
cmp ecx, 2
jne 0x47adf6
mov ecx, dword [ebp - 0xfc8]
add ecx, dword [eax + 0x118]
mov dword [ebp - 0xfc8], ecx
mov dword [ebp - 0xfcc], eax
jmp 0x47ae60
cmp ecx, 0xe
jne 0x47ae15
mov ecx, dword [ebp - 0x1018]
add ecx, dword [eax + 0x118]
mov dword [ebp - 0x1018], ecx
mov dword [ebp - 0xff0], eax
jmp 0x47ae60
cmp ecx, 9
jne 0x47ae34
mov ecx, dword [ebp - 0xfe4]
add ecx, dword [eax + 0x118]
mov dword [ebp - 0xfe4], ecx
mov dword [ebp - 0xfec], eax
jmp 0x47ae60
cmp ecx, 0xf
jne 0x47ae60
mov ecx, dword [ebp - 0xfd8]
add ecx, dword [eax + 0x118]
mov dword [ebp - 0xfd8], ecx
cmp esi, 0xffffffff
jne 0x47ae5b
mov eax, dword [eax + 0x11c]
movsx esi, byte [eax]
jmp 0x47ae60
mov esi, 0xfffffffe
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
test eax, eax
jne 0x47add1
mov ecx, dword [ebp - 0xfc8]
mov dword [ebp - 0x101c], esi
mov esi, dword [ebp - 0xfd4]
cmp ecx, 1
jle 0x47aea2
push str.Use_magic_on_one_totem_at_a_time.
jmp 0x47e764
mov eax, dword [ebp - 0xfe4]
cmp eax, 1
jle 0x47aeb7
push str.Use_magic_on_one_egg_at_a_time.
jmp 0x47e764
mov edx, dword [ebp - 0x1018]
cmp edx, 1
jle 0x47aecc
push str.Use_magic_on_one_staff_at_a_time.
jmp 0x47e764
cmp ecx, 1
jge 0x47aedf
cmp eax, 1
jge 0x47aedf
cmp edx, 1
jl 0x47c1a7
add eax, edx
add eax, ecx
cmp eax, 1
jle 0x47aef2
push str.You_have_too_many_imbuable_items_in_the_workbench.
jmp 0x47e764
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0xfd0], 0
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc0], eax
test eax, eax
je 0x47c19d
mov ecx, eax
call fcn.0044c2d0
lea ecx, [edi + 0x260]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47af50
test dl, dl
je 0x47af4c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47af50
add ecx, 2
add eax, 2
test dl, dl
jne 0x47af30
xor eax, eax
jmp 0x47af55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47af6b
mov eax, dword [ebp - 0xfc0]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfd0], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0xfc0], eax
test eax, eax
jne 0x47af23
cmp dword [ebp - 0xfd0], eax
je 0x47c19d
mov eax, dword [ebp - 0xfe4]
test eax, eax
jle 0x47b4e6
mov eax, dword [ebp - 0xfec]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfc4], eax
mov ecx, dword [eax]
mov esi, dword [eax + 4]
add ecx, 4
add esi, ecx
mov eax, 0xa
cmp esi, eax
mov ecx, edi
cmovg esi, eax
call fcn.00484760
cmp eax, esi
jge 0x47b015
lea eax, [ebp - 0x418]
push str.Your_magic_is_too_weak_to_hatch_this_egg.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
imul eax, dword [edi + 0x188], 0x980
cmp byte [eax + edi + 0x344], 0xff
je 0x47b09c
cmp byte [eax + edi + 0x378], 0xff
jne 0x47b060
add eax, 0x368
mov esi, 0x34
push 0x10
add eax, edi
mov dword [ebp - 0xfe4], esi
push eax
push 0x400
push str.Pet_B
call fcn.0044c9c0
mov byte [ebp - 0xfba], 1
jmp 0x47b0c4
lea eax, [ebp - 0x418]
push str.You_already_have_two_pet_drakes.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
add eax, 0x334
xor esi, esi
push 0x10
add eax, edi
mov dword [ebp - 0xfe4], esi
push eax
push 0x400
push str.Pet_A
call fcn.0044c9c0
mov byte [ebp - 0xfba], 0
imul eax, dword [edi + 0x188], 0x980
add esp, 0x10
add eax, edi
mov dword [eax + esi + 0x348], 0
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x358
add ecx, edi
add ecx, esi
call fcn.00515840
imul eax, dword [edi + 0x188], 0x980
mov edx, dword [ebp - 0xfc4]
add eax, edi
mov byte [eax + esi + 0x347], 0
imul ecx, dword [edi + 0x188], 0x980
mov al, byte [edx]
add ecx, edi
mov byte [ecx + esi + 0x344], al
imul ecx, dword [edi + 0x188], 0x980
mov al, byte [edx + 4]
add ecx, edi
mov byte [ecx + esi + 0x345], al
imul eax, dword [edi + 0x188], 0x980
add eax, edi
mov byte [eax + esi + 0x346], 0
imul eax, dword [edi + 0x188], 0x980
add eax, edi
mov byte [eax + esi + 0x34c], 0
imul eax, dword [edi + 0x188], 0x980
add eax, edi
mov byte [eax + esi + 0x34d], 0
imul eax, dword [edi + 0x188], 0x980
add eax, edi
mov dword [eax + esi + 0x354], 0
mov ecx, dword [edx + 4]
mov dword [ebp - 0xfc4], ecx
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp - 0xfe8]
add eax, dword [edx]
lea eax, [eax + eax*8]
shl eax, 4
cmp ecx, dword [eax + 0x5fd934]
jne 0x47b1d3
imul eax, dword [edi + 0x188], 0x980
add eax, edi
mov dword [eax + esi + 0x354], 0x3f800000
mov ecx, dword [edx + 4]
jmp 0x47b1d9
mov ecx, dword [ebp - 0xfc4]
mov esi, dword [ebp - 0xfd4]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, 0x61b4f0
add eax, dword [edx]
push esi
lea eax, [eax + eax*8]
shl eax, 4
push dword [eax + 0x5fd934]
call fcn.0052fd90
test eax, eax
je 0x47b257
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
mov edx, dword [ebp - 0xfe4]
test eax, eax
je 0x47b25d
imul eax, dword [edi + 0x188], 0x980
add eax, edi
movss xmm0, dword [eax + edx + 0x354]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x5bc030]
cvtpd2ps xmm0, xmm0
movss dword [eax + edx + 0x354], xmm0
jmp 0x47b25d
mov edx, dword [ebp - 0xfe4]
mov eax, dword [edi + 0x14f5c]
test eax, eax
jle 0x47b28e
imul ecx, dword [edi + 0x188], 0x980
add ecx, edi
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ecx + edx + 0x354]
movss dword [ecx + edx + 0x354], xmm0
mov byte [ebp - 0xfb8], 0x3a
mov ecx, esi
mov eax, dword [edi + 0x180]
mov dword [ebp - 0xfb7], eax
mov byte [ebp - 0xfab], 0
imul eax, dword [edi + 0x188], 0x980
push 0
push 5
add eax, edi
mov al, byte [eax + edx + 0x345]
mov byte [ebp - 0xfb2], al
imul eax, dword [edi + 0x188], 0x980
add eax, edi
mov al, byte [eax + edx + 0x344]
mov byte [ebp - 0xfb3], al
imul eax, dword [edi + 0x188], 0x980
add eax, edi
mov al, byte [eax + edx + 0x346]
mov byte [ebp - 0xfb1], al
imul eax, dword [edi + 0x188], 0x980
add eax, edi
movss xmm1, dword [eax + edx + 0x354]
divss xmm1, dword [0x5bcbd0]
movzx eax, byte [eax + edx + 0x347]
movd xmm0, eax
mov al, byte [ebp - 0xfba]
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.0052c140
lea eax, [ebp - 0x418]
push str.You_have_hatched_a_pet_drake_
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0x1070], 0x38
mov ecx, esi
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x106f], eax
mov dword [ebp - 0x106b], 0xffffffff
mov al, byte [edi + 0x108]
mov byte [ebp - 0x1067], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x1066], al
lea eax, [ebp - 0x1070]
push eax
push 0x11
mov word [ebp - 0x1065], 0xffff
mov dword [ebp - 0x1063], 0x50000
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
push 0x5ba63c
push str.petInfo.txt
call fcn.00561dfc
mov esi, eax
lea eax, [ebp - 0x418]
push eax
call fcn.00581191
lea eax, [ebp - 0x418]
push eax
push str._s_
push esi
call fcn.0043d330
lea eax, [ebp - 0x418]
push eax
call fcn.00581388
lea eax, [ebp - 0x418]
push eax
push str._s_
push esi
call fcn.0043d330
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.0043d330
add esp, 0x40
push esi
call fcn.00561aa9
mov esi, dword [ebp - 0xfec]
add esp, 4
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
jmp 0x47e7ac
mov ecx, edi
call fcn.00484760
mov ecx, dword [ebp - 0xfd0]
cdq
push dword [ecx + 0xc]
push dword [ecx + 8]
push edx
push eax
call fcn.00555ad0
mov ecx, eax
call fcn.00554c10
cvtsd2ss xmm0, xmm0
sub esp, 8
mov dword [esp + 4], 0x3fa66666
mulss xmm0, dword [0x5c00a0]
mov dword [esp], 0x3f333333
movss dword [ebp - 0xfc4], xmm0
call fcn.004903c0
fmul dword [ebp - 0xfc4]
add esp, 8
mov ecx, dword [ebp - 0xfe8]
push esi
push ecx
mov ecx, 0x61b4f0
fstp dword [ebp - 0xfc0]
call fcn.0052fd90
test eax, eax
je 0x47b587
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x47b587
movss xmm1, dword [ebp - 0xfc0]
mulss xmm1, dword [0x5c00cc]
jmp 0x47b58f
movss xmm1, dword [ebp - 0xfc0]
mov eax, dword [edi + 0x14f5c]
movss dword [ebp - 0xfdc], xmm1
test eax, eax
jle 0x47b5c4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0094]
addss xmm0, dword [0x5bc028]
mulss xmm1, xmm0
movss dword [ebp - 0xfdc], xmm1
mov eax, dword [ebp - 0x1018]
test eax, eax
jle 0x47b9c3
push ecx
movss dword [esp], xmm1
push dword [ebp - 0xfe8]
push dword [ebp - 0xff0]
call fcn.0052d940
mov dword [ebp - 0xfc4], eax
mov eax, dword [ebp - 0xff0]
mov eax, dword [eax + 0x11c]
push eax
mov dword [ebp - 0xfec], eax
call fcn.0052d9d0
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfdc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfd0]
push dword [eax + 8]
push dword [ebp - 0xff0]
call fcn.0052da10
mov ecx, dword [0x61aa7c]
add esp, 8
mov ecx, dword [ecx + 0xa8]
imul ecx, eax
mov eax, dword [ebp - 0xfd0]
add dword [eax], ecx
adc dword [eax + 4], 0
mov eax, dword [ebp - 0xfc4]
sub eax, 0
je 0x47b7a1
sub eax, 1
je 0x47b74f
sub eax, 1
jne 0x47b83d
lea eax, [ebp - 0x418]
push str.The_attempt_destroys_the_staff.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
add esp, 0x18
jmp 0x47b895
lea eax, [ebp - 0x418]
push str.The_magic_fails_to_imbue_the_staff.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 0x47b83d
lea eax, [ebp - 0x418]
push str.The_magic_infuses_the_staff_
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfdc]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0xff0]
call fcn.0052da90
movss xmm0, dword [ebp - 0xfdc]
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 - 0xff0]
push esi
call fcn.00486b10
mov eax, dword [ebp - 0xfec]
xor ecx, ecx
add eax, 0x10
lea edx, [ecx + 9]
nop dword [eax + eax]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [eax]
add eax, 4
cvttss2si ecx, xmm0
sub edx, 1
jne 0x47b850
mov eax, dword [ebp - 0xfec]
mov eax, dword [eax + 4]
add eax, 4
lea eax, [eax + eax*4]
cmp ecx, eax
jle 0x47b8e1
push 0x64
lea eax, [ebp - 0xf77]
push eax
push 0x400
push str.The_staff_cant_hold_that_much_magic.__It_shatters_
call fcn.0044c9c0
add esp, 0x10
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xff0]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov ecx, dword [ebp - 0xff0]
push 1
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0xfd0]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov dword [ebp - 0xfc0], ecx
test ecx, ecx
ja 0x47e7ac
jb 0x47b906
cmp edx, 0x64
jae 0x47e7ac
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xfec], ecx
mov ecx, edx
mov dword [ebp - 0xfc4], eax
mov eax, dword [ebp - 0xfc0]
shld eax, ecx, 4
shl ecx, 4
sub ecx, edx
mov edx, dword [ebp - 0xfc4]
sbb eax, dword [ebp - 0xfc0]
shld eax, ecx, 1
add ecx, ecx
cmp eax, edx
ja 0x47e7ac
mov eax, dword [ebp - 0xfec]
jb 0x47b952
cmp ecx, eax
ja 0x47e7ac
push 0
push 0x1e
push edx
push eax
call fcn.00555b10
mov ecx, dword [ebp - 0xfd0]
add eax, 1
push str.You_gained_a_skill_level__
adc edx, 0
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5c00a4]
movss dword [eax + edi + 0x300], xmm0
jmp 0x47e78a
mov ecx, dword [ebp - 0xfcc]
mov eax, dword [ecx + 0x11c]
mov dword [ebp - 0xff0], eax
cmp byte [eax + 8], 0
je 0x47ba0f
mov eax, dword [eax]
sub eax, 7
cmp eax, 2
ja 0x47bdc6
push 0x64
lea eax, [ebp - 0xf77]
push eax
push 0x400
push str.This_type_of_totem_cannot_be_further_imbued.
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
add esp, 0x10
jmp 0x47e793
mov edx, dword [ebp - 0x101c]
test edx, edx
js 0x47bdc6
cmp dword [ebp - 0xfe8], edx
je 0x47ba4b
push 0x64
lea eax, [ebp - 0xf77]
push eax
push 0x400
push str.The_attempt_feels_painful_and_improper__it_fizzles.
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
add esp, 0x10
jmp 0x47e793
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xfd8]
push eax
lea eax, [ebp - 0x418]
push str.Task_difficulty_is__d.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfdc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xff0]
movss xmm1, dword [ebp - 0xfdc]
mov eax, dword [ecx + 4]
add eax, dword [ebp - 0xfd8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x47bd6e
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x47bb9c
nop dword [eax + eax]
cmp dword [esi + 0x110], 0xf
jne 0x47bb7d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x47bb50
movd xmm0, dword [ebp - 0xfd8]
mov esi, dword [ebp - 0xff0]
cvtdq2ps xmm0, xmm0
mov byte [esi + 8], 1
cvtps2pd xmm0, xmm0
call fcn.00584320
cvtsd2ss xmm0, xmm0
lea ecx, [esi + 0xa]
movss dword [esi + 0x40], xmm0
call fcn.00515840
mov ecx, esi
mov eax, dword [ecx + 4]
lea ecx, [esi + 0xa]
lea edx, [eax + 1]
inc eax
imul edx, eax
lea eax, [edx + edx*4]
add eax, eax
push eax
call fcn.005157b0
mov eax, dword [ebp - 0x101c]
dec eax
cmp eax, 6
ja case.0x47bbf7.2
movzx eax, byte [eax + 0x47e7f8]
jmp dword [eax*4 + 0x47e7ec]
mov ecx, dword [ebp - 0xff0]
mov eax, str.Mage_Stat
mov dword [ecx], 8
jmp 0x47bc35
mov ecx, dword [ebp - 0xff0]
mov eax, str.Crea_Stat
mov dword [ecx], 9
jmp 0x47bc35
mov ecx, dword [ebp - 0xff0]
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 - 0xfcc]
add eax, 8
push str._s__s_Totem
push eax
call fcn.0043d360
mov ecx, dword [ebp - 0xfd0]
add esp, 0x10
mov esi, dword [ebp - 0xfd8]
sub esi, dword [ecx + 8]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jge 0x47bc9c
lea ecx, [esi + 1]
mov eax, 1
cmp ecx, eax
cmovge eax, ecx
mov ecx, dword [0x61aa7c]
imul eax, dword [ecx + 0xa8]
mov ecx, dword [ebp - 0xfd0]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov esi, dword [ebp - 0xfd4]
mov eax, dword [ecx]
mov dword [ebp - 0xfc0], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xfec], eax
mov eax, dword [ecx + 8]
mov edi, eax
mov ecx, dword [ecx + 0xc]
mov edx, ecx
shld edx, edi, 4
shl edi, 4
sub edi, eax
mov eax, edi
mov dword [ebp - 0xfc4], edi
mov edi, dword [ebp - 0x1020]
sbb edx, ecx
shld edx, eax, 1
add eax, eax
cmp edx, dword [ebp - 0xfec]
ja 0x47e7ac
mov ecx, dword [ebp - 0xfc0]
jb 0x47bcf8
cmp eax, ecx
ja 0x47e7ac
push 0
push 0x1e
push dword [ebp - 0xfec]
push ecx
call fcn.00555b10
mov ecx, dword [ebp - 0xfd0]
add eax, 1
push str.You_gained_a_skill_level__
adc edx, 0
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5c00a4]
movss dword [eax + edi + 0x300], xmm0
jmp 0x47e78a
lea eax, [ebp - 0x418]
push str.The_attempt_fails.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfd0]
jmp 0x47bca2
push ecx
movss dword [esp], xmm1
push dword [ebp - 0xfe8]
push ecx
call fcn.0052fe60
mov dword [ebp - 0xfc4], eax
add esp, 4
mov eax, dword [ebp - 0xff0]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfdc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfd0]
push dword [eax + 8]
mov eax, dword [ebp - 0xfcc]
push eax
call fcn.0052fed0
mov ecx, dword [0x61aa7c]
add esp, 8
mov ecx, dword [ecx + 0xa8]
imul ecx, eax
mov eax, dword [ebp - 0xfd0]
add dword [eax], ecx
adc dword [eax + 4], 0
mov eax, dword [ebp - 0xfc4]
sub eax, 0
je 0x47bfd1
sub eax, 1
je 0x47bf7f
sub eax, 1
jne 0x47c065
lea eax, [ebp - 0x418]
push str.The_attempt_destroys_the_totem.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov ecx, dword [ebp - 0xfcc]
push 1
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
xor ecx, ecx
mov dword [ebp - 0xfcc], ecx
jmp 0x47c06b
lea eax, [ebp - 0x418]
push str.The_magic_fails_to_imbue_the_totem.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 0x47c065
lea eax, [ebp - 0x418]
push str.The_magic_infuses_the_totem_
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
call fcn.0052ff00
movss xmm0, dword [ebp - 0xfdc]
lea eax, [edi + 0x260]
add esp, 4
mov ecx, edi
push eax
mov eax, dword [ebp - 0xff0]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [ebp - 0xfcc]
push esi
call fcn.00486b10
mov ecx, dword [ebp - 0xfcc]
mov eax, dword [ebp - 0xff0]
xor edx, edx
mov edi, dword [ebp - 0x1020]
mov dword [ebp - 0xfc8], 0
lea esi, [eax + 0x1c]
test ecx, ecx
je 0x47c0b2
movd xmm0, dword [ebp - 0xfc8]
inc edx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esi]
add esi, 4
cvttss2si edi, xmm0
mov dword [ebp - 0xfc8], edi
mov edi, dword [ebp - 0x1020]
cmp edx, 9
jl 0x47c086
mov eax, dword [eax + 4]
mov esi, dword [ebp - 0xfd4]
add eax, 0xa
cmp dword [ebp - 0xfc8], eax
jle 0x47c131
test ecx, ecx
je 0x47c131
push 0x64
lea eax, [ebp - 0xf77]
push eax
push 0x400
push str.The_totem_cant_hold_that_much_magic.__It_shatters_
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov ecx, dword [ebp - 0xfcc]
push 1
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0xfd0]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov dword [ebp - 0xfc0], ecx
test ecx, ecx
ja 0x47e7ac
jb 0x47c156
cmp edx, 0x64
jae 0x47e7ac
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xfec], ecx
mov ecx, edx
mov dword [ebp - 0xfc4], eax
mov eax, dword [ebp - 0xfc0]
shld eax, ecx, 4
shl ecx, 4
sub ecx, edx
mov edx, dword [ebp - 0xfc4]
sbb eax, dword [ebp - 0xfc0]
shld eax, ecx, 1
add ecx, ecx
cmp eax, edx
ja 0x47e7ac
mov eax, dword [ebp - 0xfec]
jmp 0x47b948
push str.BUG:_Cannot_find_skill_for_magic.
jmp 0x47e764
push str.Put_a_totem_in_your_workbench.
jmp 0x47e764
push str.No_combining_happened.
jmp 0x47e764
imul eax, dword [edi + 0x188], 0x980
xorps xmm0, xmm0
mov dword [ebp - 0xff0], 0
mov dword [ebp - 0xfe0], 0
mov dword [ebp - 0x100c], 0
mov dword [ebp - 0x1028], 0
mov dword [ebp - 0xfec], 0
mov dword [ebp - 0xfc0], 0
movss dword [ebp - 0x1030], xmm0
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
movss dword [ebp - 0x102c], xmm0
movss dword [ebp - 0x1014], xmm0
mov dword [ebp - 0xfdc], 0
mov byte [ebp - 0xfba], 0
mov dword [ebp - 0x101c], 0
mov dword [ebp - 0x1010], 0
mov dword [ebp - 0xff4], 0xffffffff
mov dword [ebp - 0x1018], 0xffffffff
mov byte [ebp - 0xfe4], 0
mov dword [ebp - 0xfc4], 0xffffffff
mov dword [ebp - 0xfd0], 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.0044dcb0
mov edx, eax
mov dword [ebp - 0xfcc], edx
test edx, edx
je 0x47c73a
lea esi, [edi + 0x260]
mov ecx, 0x5be89c
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfcc]
jne 0x47c342
cmp byte [ebp - 0xfb9], 0
je 0x47c33e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfcc]
jne 0x47c342
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47c300
xor eax, eax
jmp 0x47c347
sbb eax, eax
or eax, 1
test eax, eax
je 0x47c3d6
cmp dword [edx + 0x110], 8
jne 0x47c3d6
mov eax, dword [edx + 0x11c]
mov ecx, dword [eax]
test ecx, ecx
js 0x47400c
cmp ecx, 0x10
jg 0x47400c
lea eax, [ecx - 5]
cmp eax, 8
ja 0x47c3a9
cmp byte [ebp - 0xfba], 0
jne 0x473fd0
cmp dword [edx + 0x118], 1
jne 0x473fd0
inc dword [ebp + ecx*4 - 0xea8]
inc dword [ebp - 0xfdc]
mov byte [ebp - 0xfba], 1
jmp 0x47c3d6
mov eax, dword [edx + 0x118]
add dword [ebp + ecx*4 - 0xea8], eax
add dword [ebp - 0xfdc], eax
cmp ecx, 0xe
jne 0x47c3d6
add eax, dword [ebp - 0xfdc]
mov ecx, dword [edx + 0x118]
lea eax, [eax + ecx*2]
mov dword [ebp - 0xfdc], eax
mov ecx, 0x5be89c
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfcc]
jne 0x47c422
cmp byte [ebp - 0xfb9], 0
je 0x47c41e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfcc]
jne 0x47c422
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47c3e0
xor eax, eax
jmp 0x47c427
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47c517
cmp dword [edx + 0x110], 0xe
jne 0x47c517
mov ecx, dword [ebp - 0x1018]
mov eax, dword [edx + 0x11c]
test ecx, ecx
js 0x47c455
cmp dword [eax + 4], ecx
jne 0x47c7ab
mov ecx, dword [eax + 8]
mov dword [ebp - 0xfc8], ecx
test ecx, ecx
jle 0x47c478
cmp byte [ebp - 0xfe4], 0
jne 0x47c478
cmp dword [ebp - 0x101c], 0
jg 0x47c7e7
movss xmm0, dword [eax + 0x34]
comiss xmm0, dword [0x5bc024]
jbe 0x47c48e
test ecx, ecx
jg 0x47c823
cmp ecx, 1
jge 0x47c4a0
cmp byte [ebp - 0xfe4], 0
jne 0x47c7e7
cmp dword [ebp - 0xff4], 0xffffffff
mov edi, dword [ebp - 0x1020]
jle 0x47c4c3
mov esi, dword [ebp - 0xff4]
cmp dword [eax], esi
lea esi, [edi + 0x260]
jne 0x47c85f
test ecx, ecx
jle 0x47c4d0
cmp dword [eax], 0xd
jl 0x47c89b
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1018], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0xff4], ecx
mov ecx, dword [edx + 0x118]
add dword [ebp - 0x101c], ecx
imul eax, ecx
mov ecx, 1
add dword [ebp - 0x1010], eax
mov eax, dword [ebp - 0xfe4]
cmp dword [ebp - 0xfc8], 0
movzx eax, al
cmovg eax, ecx
mov dword [ebp - 0xfe4], eax
cmp dword [edx + 0x110], 1
jne 0x47c538
mov eax, dword [ebp - 0x100c]
add eax, dword [edx + 0x118]
mov dword [ebp - 0x100c], eax
mov dword [ebp - 0xfe0], edx
mov ecx, 0x5be89c
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfcc]
jne 0x47c582
cmp byte [ebp - 0xfb9], 0
je 0x47c57e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfcc]
jne 0x47c582
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47c540
xor eax, eax
jmp 0x47c587
sbb eax, eax
or eax, 1
test eax, eax
je 0x47c70b
cmp dword [edx + 0x110], 4
jne 0x47c70b
mov edi, dword [edx + 0x118]
mov eax, 0x20
mov ecx, dword [edx + 0x11c]
cmp edi, 0x20
mov dword [ebp - 0xfd8], ecx
cmovg edi, eax
add dword [ebp - 0xff0], edi
movss xmm0, dword [ecx + 0x10]
mov eax, dword [ecx]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
imul eax, edi
mulss xmm0, xmm1
addss xmm0, dword [ebp - 0x1014]
add dword [ebp - 0x1028], eax
mov eax, dword [ecx + 4]
imul eax, edi
movss dword [ebp - 0x1014], xmm0
movss xmm0, dword [ecx + 0xc]
mulss xmm0, xmm1
add dword [ebp - 0xfec], eax
mov eax, dword [ecx + 8]
imul eax, edi
addss xmm0, dword [ebp - 0x1030]
add dword [ebp - 0xfc0], eax
xor esi, esi
movss dword [ebp - 0x1030], xmm0
movss xmm0, dword [edx + 0x10c]
mulss xmm0, xmm1
addss xmm0, dword [ebp - 0x102c]
movss dword [ebp - 0x102c], xmm0
nop dword [eax]
mov eax, esi
shl eax, 6
cmp dword [ebp + esi*4 - 0xf00], 0
mov dword [ebp - 0xfc8], eax
jle 0x47c6b0
mov ecx, edx
call fcn.0044c2d0
mov ecx, dword [ebp - 0xfc8]
lea ecx, [ebp + ecx - 0x918]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47c690
test dl, dl
je 0x47c68c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47c690
add ecx, 2
add eax, 2
test dl, dl
jne 0x47c670
xor eax, eax
jmp 0x47c695
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47c6a2
mov dword [ebp + esi*4 - 0xf00], edi
jmp 0x47c6dd
mov edx, dword [ebp - 0xfcc]
cmp dword [ebp + esi*4 - 0xf00], 0
jne 0x47c6ef
mov ecx, edx
mov dword [ebp + esi*4 - 0xf00], edi
call fcn.0044c2d0
push eax
mov eax, dword [ebp - 0xfc8]
lea ecx, [ebp - 0x918]
add eax, ecx
push eax
call fcn.0043d360
add esp, 8
mov esi, 0x15
mov eax, dword [ebp - 0xfd8]
cvttss2si eax, dword [eax + 0x10]
mov dword [ebp + eax*4 - 0xe6c], edi
mov edx, dword [ebp - 0xfcc]
inc esi
cmp esi, 0x14
jl 0x47c640
mov edi, dword [ebp - 0x1020]
mov esi, dword [ebp - 0xfe8]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov edx, eax
mov dword [ebp - 0xfcc], eax
test edx, edx
jne 0x47c2f7
mov esi, dword [ebp - 0xfd4]
xor eax, eax
mov dword [ebp - 0xfc8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfe4], eax
test eax, eax
je 0x47e75f
mov esi, eax
nop dword [eax + eax]
mov ecx, esi
call fcn.0044c2d0
mov ecx, 0x5be820
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47c8d7
test dl, dl
je 0x47c7a4
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47c8d7
add ecx, 2
add eax, 2
test dl, dl
jne 0x47c780
xor eax, eax
jmp 0x47c8dc
lea eax, [ebp - 0x418]
push str.You_can_only_have_one_quality_of_staff_when_making_a_scythe.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
lea eax, [ebp - 0x418]
push str.Cant_mix_imbued_and_unimbued_staffs.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
lea eax, [ebp - 0x418]
push str.Cant_use_an_imperfect_staff.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
lea eax, [ebp - 0x418]
push str.Cant_mix_different_imbued_staffs.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
lea eax, [ebp - 0x418]
push str.Only_taming_staffs_may_be_used_inbued.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47c8ec
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0xfc8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x47c770
mov eax, dword [ebp - 0xfc8]
mov esi, dword [ebp - 0xfd4]
test eax, eax
je 0x47e75f
cmp dword [eax + 0xc], 0
ja 0x47c93b
jb 0x47c931
cmp dword [eax + 8], 0x14
jae 0x47c93b
push str.You_must_first_reach_level_20_in_your_Swordsmith_skill.
jmp 0x47e764
mov eax, dword [ebp - 0xfe0]
test eax, eax
je 0x47e758
cmp dword [ebp - 0x100c], 1
jl 0x47e758
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0xfd8], eax
cmp dword [eax + 0x3c], 0
jne 0x47e758
movss xmm0, dword [0x5bcd38]
comiss xmm0, dword [eax + 8]
jbe 0x47c984
push str.The_sacrifical_blade_is_not_big_enough.
jmp 0x47e764
mov edi, dword [ebp - 0xfe8]
mov ecx, 0x5be89c
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47c9b1
test dl, dl
je 0x47c9ad
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47c9b1
add eax, 2
add ecx, 2
test dl, dl
jne 0x47c991
xor eax, eax
jmp 0x47c9b6
sbb eax, eax
or eax, 1
mov dword [ebp - 0xfc8], 2
mov dword [ebp - 0x100c], 3
mov dword [ebp - 0xfe4], 4
mov dword [ebp - 0x1008], 0x10
test eax, eax
jne 0x47cc35
mov edx, dword [ebp - 0xfd8]
mov esi, 1
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 - 0xfd0], edx
mov edx, dword [ebp - 0xfd8]
mov esi, dword [ebp - 0xfd0]
mov eax, dword [edx + 0x48]
cmp eax, ecx
cmovge esi, dword [ebp - 0xfc8]
cmovl eax, ecx
mov ecx, dword [edx + 0x4c]
cmp ecx, eax
mov dword [ebp - 0xfc8], 5
cmovge esi, dword [ebp - 0x100c]
cmovl ecx, eax
mov eax, dword [edx + 0x50]
cmp eax, ecx
cmovge esi, dword [ebp - 0xfe4]
cmovl eax, ecx
mov ecx, dword [edx + 0x54]
cmp ecx, eax
cmovge esi, dword [ebp - 0xfc8]
cmovl ecx, eax
mov eax, dword [edx + 0x58]
cmp eax, ecx
mov dword [ebp - 0xfc8], 6
cmovge esi, dword [ebp - 0xfc8]
cmovl eax, ecx
mov ecx, dword [edx + 0x5c]
cmp ecx, eax
mov edx, dword [edx + 0x60]
cmovl ecx, eax
mov dword [ebp - 0xfc8], 7
cmovge esi, dword [ebp - 0xfc8]
cmp edx, ecx
mov dword [ebp - 0xfd0], esi
mov esi, 8
mov eax, dword [ebp - 0xfd0]
cmovl edx, ecx
mov ecx, dword [ebp - 0xfd8]
cmovge eax, esi
mov dword [ebp - 0xfd0], eax
mov esi, dword [ebp - 0xfd0]
mov dword [ebp - 0xfc8], 9
mov eax, dword [ecx + 0x64]
cmp eax, edx
mov ecx, dword [ecx + 0x68]
cmovge esi, dword [ebp - 0xfc8]
cmovl eax, edx
cmp ecx, eax
mov dword [ebp - 0xfd0], esi
mov edx, dword [ebp - 0xfd0]
mov esi, 0xa
cmovl ecx, eax
mov dword [ebp - 0xfc8], 0xb
mov eax, dword [ebp - 0xfd8]
cmovge edx, esi
mov dword [ebp - 0xfd0], edx
mov esi, dword [ebp - 0xfd0]
mov edx, dword [eax + 0x6c]
cmp edx, ecx
mov eax, dword [eax + 0x70]
cmovge esi, dword [ebp - 0xfc8]
cmovl edx, ecx
cmp eax, edx
mov dword [ebp - 0xfd0], esi
mov ecx, dword [ebp - 0xfd0]
mov esi, 0xc
cmovl eax, edx
cmovge ecx, esi
mov edx, dword [ebp - 0xfd8]
mov dword [ebp - 0xfd0], ecx
mov ecx, dword [edx + 0x74]
mov esi, dword [ebp - 0xfd0]
cmp ecx, eax
mov dword [ebp - 0xfc8], 0xd
cmovge esi, dword [ebp - 0xfc8]
cmovl ecx, eax
mov eax, dword [edx + 0x78]
cmp eax, ecx
mov dword [ebp - 0xfc8], 0xe
cmovge esi, dword [ebp - 0xfc8]
cmovl eax, ecx
mov dword [ebp - 0xfd0], esi
mov esi, dword [ebp - 0xfd4]
cmp eax, 0x40
jge 0x47cb9b
push str.The_sacrifical_blade_is_not_a_proper_greatsword.
jmp 0x47e764
cmp dword [edx + 0x34], 1
mov ecx, dword [ebp - 0x1010]
jge 0x47cbb5
test ecx, ecx
jle 0x47cbc7
push str.The_sacrifical_blade_does_not_have_any_Gold_Dust.
jmp 0x47e764
or eax, 0xffffffff
test ecx, ecx
cmovg eax, dword [ebp - 0xff4]
mov dword [ebp - 0xfc4], eax
mov edx, dword [ebp - 0xff0]
lea eax, [ecx + ecx]
test ecx, ecx
cmovle eax, ecx
mov ecx, 1
mov dword [ebp - 0x1010], eax
mov eax, dword [ebp - 0x1018]
cmp eax, 0xffffffff
cmovg edx, ecx
test eax, eax
mov ecx, 2
cmovg edx, ecx
cmp eax, 1
mov ecx, 4
cmovg edx, ecx
cmp eax, 2
mov ecx, 8
cmovg edx, ecx
cmp eax, 3
mov ecx, 0x10
cmovg edx, ecx
cmp eax, 4
mov eax, 0x20
cmovg edx, eax
mov eax, edx
mov edx, dword [ebp - 0x101c]
imul edx, eax
mov dword [ebp - 0xff0], edx
jmp 0x47cc3b
mov edx, dword [ebp - 0xff0]
mov eax, 0x5be89c
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x47cc60
test cl, cl
je 0x47cc5c
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x47cc60
add edi, 2
add eax, 2
test cl, cl
jne 0x47cc40
xor eax, eax
jmp 0x47cc65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47cc91
mov eax, dword [ebp - 0xfd0]
movss xmm0, dword [0x5bc028]
inc eax
imul eax, edx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x47ccca
push str.Please_use_both_a_staff_and_a_greatsword.
jmp 0x47e764
cmp edx, 0x20
jle 0x47ccc2
lea eax, [edx - 0x20]
movd xmm0, eax
cvtdq2ps xmm1, xmm0
mulss xmm1, dword [0x5bde80]
addss xmm1, dword [0x5bc028]
mulss xmm1, dword [ebp - 0x1014]
addss xmm1, dword [ebp - 0x1014]
jmp 0x47ccca
movss xmm1, dword [ebp - 0x1014]
movd xmm0, dword [ebp - 0xfdc]
movaps xmm2, xmm1
divss xmm2, dword [0x5bcbe0]
mov esi, dword [ebp - 0xfe8]
xor edi, edi
mov dword [ebp - 0xfdc], 0xffffffff
mov ecx, 0x5be89c
mov dword [ebp - 0xfc8], edi
mov eax, esi
mov dword [ebp - 0x101c], 0xffffffff
mov dword [ebp - 0x100c], edi
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm0
addss xmm2, xmm1
movss dword [ebp - 0xfe4], xmm2
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47cd40
test dl, dl
je 0x47cd3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47cd40
add eax, 2
add ecx, 2
test dl, dl
jne 0x47cd20
xor eax, eax
jmp 0x47cd45
sbb eax, eax
or eax, 1
test eax, eax
je 0x47ce54
xor esi, esi
mov dword [ebp - 0xfd8], esi
mov ecx, dword [ebp + esi*4 - 0xf00]
cmp edi, ecx
mov eax, ecx
mov dword [ebp - 0x1014], ecx
mov ecx, dword [ebp - 0xfd8]
cmovge eax, edi
mov edi, dword [ebp + esi*4 - 0xefc]
mov edx, edi
mov esi, dword [ebp + esi*4 - 0xef8]
cmp eax, edi
mov dword [ebp - 0xfcc], eax
cmovge edx, eax
mov eax, esi
cmp edx, esi
mov dword [ebp - 0x104c], edx
cmovge eax, edx
mov edx, dword [ebp + ecx*4 - 0xef4]
cmp eax, edx
mov dword [ebp - 0x1050], eax
mov ecx, edx
cmovge ecx, eax
mov dword [ebp - 0x1024], ecx
mov ecx, dword [ebp - 0xfd8]
mov eax, dword [ebp + ecx*4 - 0xef0]
mov dword [ebp - 0x1034], eax
mov eax, ecx
mov ecx, dword [ebp - 0x1014]
cmp dword [ebp - 0xfc8], ecx
mov ecx, dword [ebp - 0xfd8]
cmovge eax, dword [ebp - 0xfdc]
inc ecx
cmp dword [ebp - 0xfcc], edi
cmovge ecx, eax
mov eax, dword [ebp - 0xfd8]
add eax, 2
cmp dword [ebp - 0x104c], esi
mov esi, dword [ebp - 0xfd8]
cmovge eax, ecx
cmp dword [ebp - 0x1050], edx
mov edx, dword [ebp - 0x1024]
lea ecx, [esi + 3]
cmovge ecx, eax
lea edi, [esi + 4]
mov eax, dword [ebp - 0x1034]
cmp edx, eax
cmovge edi, ecx
add esi, 5
mov dword [ebp - 0xfdc], edi
cmp edx, eax
mov edi, eax
mov dword [ebp - 0xfd8], esi
cmovge edi, edx
mov dword [ebp - 0xfc8], edi
cmp esi, 0x14
jl 0x47cd55
mov esi, dword [ebp - 0xfe8]
mov eax, dword [ebp - 0xfdc]
jmp 0x47ce60
mov eax, dword [ebp - 0xfd0]
mov dword [ebp - 0xfdc], eax
test eax, eax
jns 0x47cea0
lea eax, [ebp - 0x418]
push str.Use_ingots_to_make_weapons.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0xfd4]
mov ecx, dword [eax + 0x11c]
jmp 0x47e790
mov edx, 0x5be89c
mov ecx, esi
nop word [eax + eax]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0xfb9], al
mov eax, dword [ebp - 0xfdc]
jne 0x47cef2
cmp byte [ebp - 0xfb9], 0
je 0x47ceee
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0xfb9], al
mov eax, dword [ebp - 0xfdc]
jne 0x47cef2
add ecx, 2
add edx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47ceb0
xor ecx, ecx
jmp 0x47cef7
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x47d017
xor esi, esi
mov dword [ebp + eax*4 - 0xf00], 0
mov dword [ebp - 0xfd8], esi
xor edi, edi
mov ecx, dword [ebp + esi*4 - 0xf00]
cmp edi, ecx
mov eax, ecx
mov dword [ebp - 0x1024], ecx
mov ecx, dword [ebp - 0xfd8]
cmovge eax, edi
mov edi, dword [ebp + esi*4 - 0xefc]
mov edx, edi
mov esi, dword [ebp + esi*4 - 0xef8]
cmp eax, edi
mov dword [ebp - 0x1034], eax
cmovge edx, eax
mov eax, esi
cmp edx, esi
mov dword [ebp - 0x1050], edx
cmovge eax, edx
mov edx, dword [ebp + ecx*4 - 0xef4]
cmp eax, edx
mov dword [ebp - 0x104c], eax
mov ecx, edx
cmovge ecx, eax
mov dword [ebp - 0x1014], ecx
mov ecx, dword [ebp - 0xfd8]
mov eax, dword [ebp + ecx*4 - 0xef0]
mov dword [ebp - 0xfc8], eax
mov eax, ecx
mov ecx, dword [ebp - 0x1024]
cmp dword [ebp - 0x100c], ecx
mov ecx, dword [ebp - 0xfd8]
cmovge eax, dword [ebp - 0x101c]
inc ecx
cmp dword [ebp - 0x1034], edi
cmovge ecx, eax
mov eax, dword [ebp - 0xfd8]
add eax, 2
cmp dword [ebp - 0x1050], esi
mov esi, dword [ebp - 0xfd8]
cmovge eax, ecx
cmp dword [ebp - 0x104c], edx
mov edx, dword [ebp - 0x1014]
lea ecx, [esi + 3]
cmovge ecx, eax
lea edi, [esi + 4]
mov eax, dword [ebp - 0xfc8]
cmp edx, eax
cmovge edi, ecx
add esi, 5
mov dword [ebp - 0x101c], edi
cmp edx, eax
mov edi, eax
mov dword [ebp - 0xfd8], esi
cmovge edi, edx
mov dword [ebp - 0x100c], edi
cmp esi, 0x14
jl 0x47cf14
mov eax, dword [ebp - 0x101c]
mov esi, dword [ebp - 0xfe8]
mov dword [ebp - 0x101c], eax
mov edi, dword [ebp - 0x1020]
xor ecx, ecx
mov dword [ebp - 0x1014], ecx
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0xfc8], eax
test eax, eax
je 0x474ee8
nop dword [eax]
mov ecx, eax
call fcn.0044c2d0
mov ecx, esi
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x47d080
test dl, dl
je 0x47d07c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x47d080
add ecx, 2
add eax, 2
test dl, dl
jne 0x47d060
xor eax, eax
jmp 0x47d085
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47d09b
mov eax, dword [ebp - 0xfc8]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0x1014], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0xfc8], eax
test eax, eax
jne 0x47d050
mov esi, dword [ebp - 0x1014]
test esi, esi
je 0x474ee8
call fcn.005619b8
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c00d8]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5c00a4]
movss dword [ebp - 0x1024], xmm0
call fcn.0047f0d0
push dword [esi + 0xc]
cdq
push dword [esi + 8]
push edx
push eax
call fcn.00555ad0
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.00554c10
mov esi, dword [ebp - 0xfd4]
mov ecx, 0x61b4f0
cvtsd2ss xmm0, xmm0
push esi
push 1
mulss xmm0, dword [ebp - 0x1024]
movss dword [ebp - 0xfcc], xmm0
call fcn.0052fd90
test eax, eax
je 0x47d188
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x47d188
movss xmm0, dword [ebp - 0xfcc]
mulss xmm0, dword [0x5c00bc]
movss dword [ebp - 0xfcc], xmm0
push esi
push 0
mov ecx, 0x61b4f0
call fcn.0052fd90
test eax, eax
je 0x47d1ce
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
test eax, eax
je 0x47d1ce
movss xmm0, dword [ebp - 0xfcc]
mulss xmm0, dword [0x5c00bc]
movss dword [ebp - 0xfcc], xmm0
push esi
push 2
mov ecx, 0x61b4f0
call fcn.0052fd90
test eax, eax
je 0x47d216
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.00530860
movss xmm1, dword [ebp - 0xfcc]
test eax, eax
je 0x47d21e
mulss xmm1, dword [0x5c00bc]
movss dword [ebp - 0xfcc], xmm1
jmp 0x47d21e
movss xmm1, dword [ebp - 0xfcc]
mov eax, dword [edi + 0x14f60]
test eax, eax
jle 0x47d24b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0094]
addss xmm0, dword [0x5bc028]
mulss xmm0, xmm1
movss dword [ebp - 0xfcc], xmm0
movss xmm0, dword [ebp - 0xfe4]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
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.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 eax, dword [edi + 0x188], 0x980
movss xmm0, dword [ebp - 0xfcc]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
comiss xmm0, dword [ebp - 0xfe4]
jb 0x47e4ed
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x47d415
mov ecx, 0x5be89c
lea eax, [edi + 0x260]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47d370
test dl, dl
je 0x47d36c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47d370
add eax, 2
add ecx, 2
test dl, dl
jne 0x47d350
xor eax, eax
jmp 0x47d375
sbb eax, eax
or eax, 1
test eax, eax
je 0x47d3c5
mov eax, dword [esi + 0x110]
cmp eax, 4
jne 0x47d39a
mov eax, dword [esi + 0x118]
cmp eax, 0x20
jle 0x47d3ce
add eax, 0xffffffe0
mov dword [esi + 0x118], eax
jmp 0x47d3f2
cmp eax, 8
jne 0x47d3f2
mov ecx, dword [esi + 0x118]
cmp ecx, 1
jle 0x47d3ce
mov eax, dword [esi + 0x11c]
mov eax, dword [eax]
sub eax, 5
cmp eax, 8
ja 0x47d3ce
lea eax, [ecx - 1]
mov dword [esi + 0x118], eax
jmp 0x47d3f2
cmp dword [esi + 0x110], 0xe
jne 0x47d3f2
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x47d343
mov esi, dword [ebp - 0xfe8]
mov ecx, 0x5be89c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47d442
test dl, dl
je 0x47d43e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47d442
add eax, 2
add ecx, 2
test dl, dl
jne 0x47d422
xor eax, eax
jmp 0x47d447
sbb eax, eax
or eax, 1
test eax, eax
lea eax, [ebp - 0x418]
push eax
push 0x5bb3c4
je 0x47d4e8
mov eax, dword [ebp - 0xfdc]
lea ecx, [ebp - 0x918]
mov edi, dword [ebp - 0x101c]
shl eax, 6
add eax, ecx
push eax
call fcn.0043dcf0
add esp, 0xc
cmp edi, 0xffffffff
jle 0x47d574
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d490
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push str.__WXZQPNS
push eax
call fcn.0043d360
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d4b8
sub ecx, edx
shl edi, 6
lea eax, [ebp - 0x418]
add eax, ecx
push eax
lea eax, [ebp - 0x918]
add eax, edi
push 0x5bb3c4
push eax
call fcn.0043dcf0
add esp, 0xc
jmp 0x47d574
imul eax, dword [ebp - 0xfdc], 0x13
add eax, 0x5fd690
push eax
call fcn.0043dcf0
mov edi, dword [ebp - 0xfc4]
add esp, 0xc
test edi, edi
jle 0x47d560
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d510
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push 0x5bebc4
push eax
call fcn.0043d360
lea ecx, [ebp - 0x418]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d538
mov eax, edi
sub ecx, edx
shl eax, 4
lea eax, [eax + str.Fire]
add eax, edi
push eax
lea eax, [ebp - 0x418]
add eax, ecx
push eax
call fcn.0043d360
add esp, 8
mov eax, dword [ebp - 0xff4]
cmp eax, 0xc
jle 0x47d574
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 0x47d580
sub ecx, edx
lea eax, [ebp - 0x418]
add eax, ecx
push 0x5bebc4
push eax
call fcn.0043d360
add esp, 8
mov ecx, 0x5be89c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47d5c6
test dl, dl
je 0x47d5c2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47d5c6
add eax, 2
add ecx, 2
test dl, dl
jne 0x47d5a6
xor eax, eax
jmp 0x47d5cb
sbb eax, eax
or eax, 1
test eax, eax
je 0x47d620
xor edi, edi
lea esi, [edi + 3]
lea eax, [edi + edi*8]
mov edx, edi
mov ecx, dword [eax*8 + 0x5fcff8]
mov eax, 4
cmp ecx, dword [ebp - 0xff0]
cmovg edi, eax
lea eax, [edx - 1]
cmovle eax, esi
inc edi
mov esi, eax
cmp edi, 3
jl 0x47d5d4
xor edx, edx
test esi, esi
cmovns edx, esi
mov esi, dword [ebp - 0xfe8]
mov dword [ebp - 0xfdc], edx
cmp edx, 2
jle 0x47d62c
mov dword [ebp - 0xfdc], 2
jmp 0x47d62c
mov edx, dword [ebp - 0x1018]
mov dword [ebp - 0xfdc], edx
mov ecx, 0x5be840
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d675
cmp byte [ebp - 0xfb9], 0
je 0x47d671
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d675
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d633
xor eax, eax
jmp 0x47d67a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47d69d
lea ecx, [ebp - 0x418]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d687
lea eax, [edx + edx*8]
lea eax, [eax*8 + str.Tanto]
jmp 0x47d8d5
mov ecx, 0x5be88c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d6e6
cmp byte [ebp - 0xfb9], 0
je 0x47d6e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d6e6
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d6a4
xor eax, eax
jmp 0x47d6eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47d70e
lea ecx, [ebp - 0x418]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d6f8
lea eax, [edx + edx*8]
lea eax, [eax*8 + str.Talon]
jmp 0x47d8d5
mov ecx, 0x5be854
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d757
cmp byte [ebp - 0xfb9], 0
je 0x47d753
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d757
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d715
xor eax, eax
jmp 0x47d75c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47d786
lea ecx, [ebp - 0x418]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d770
lea eax, [edx + edx*8]
lea eax, [eax*8 + str.Chaos_Knife]
jmp 0x47d8d5
mov ecx, 0x5be874
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d7d2
cmp byte [ebp - 0xfb9], 0
je 0x47d7ce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d7d2
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d790
xor eax, eax
jmp 0x47d7d7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47d7fa
lea ecx, [ebp - 0x418]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d7e4
lea eax, [edx + edx*8]
lea eax, [eax*8 + str.Edgestaff]
jmp 0x47d8d5
mov ecx, 0x5be864
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d843
cmp byte [ebp - 0xfb9], 0
je 0x47d83f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d843
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d801
xor eax, eax
jmp 0x47d848
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47d868
lea ecx, [ebp - 0x418]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d855
lea eax, [edx + edx*8]
lea eax, [eax*8 + str.Small_Mace]
jmp 0x47d8d5
mov ecx, 0x5be89c
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d8b2
cmp byte [ebp - 0xfb9], 0
je 0x47d8ae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfdc]
jne 0x47d8b2
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47d870
xor eax, eax
jmp 0x47d8b7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47d8e9
lea ecx, [ebp - 0x418]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d8c4
lea eax, [edx + edx*8]
lea eax, [eax*8 + str.Pine_Scythe]
push eax
sub ecx, edi
lea eax, [ebp - 0x418]
add eax, ecx
push eax
call fcn.0043d360
add esp, 8
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x1024], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x47d918
lea ecx, [ebp - 0x418]
push ecx
push 0
push 1
mov ecx, eax
call fcn.0050d390
jmp 0x47d91a
xor eax, eax
mov edi, dword [eax + 0x11c]
mov ecx, 0x5be89c
mov dword [ebp - 0x101c], eax
mov eax, esi
mov byte [ebp - 4], 0
mov dword [ebp - 0x1034], edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47d957
test dl, dl
je 0x47d953
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47d957
add eax, 2
add ecx, 2
test dl, dl
jne 0x47d937
xor eax, eax
jmp 0x47d95c
sbb eax, eax
or eax, 1
test eax, eax
je 0x47d9b7
mov eax, dword [ebp - 0xfdc]
movd xmm0, dword [ebp - 0xff0]
cvtdq2ps xmm0, xmm0
lea eax, [eax + eax*8]
movd xmm1, dword [eax*8 + 0x5fcffc]
cvtdq2ps xmm1, xmm1
mov eax, dword [ebp - 0xfe0]
mulss xmm1, dword [ebp - 0x1030]
divss xmm1, xmm0
mulss xmm1, dword [0x5bcbcc]
cvttss2si ecx, xmm1
mov dword [edi], ecx
mov eax, dword [eax + 0x11c]
mov eax, dword [eax]
cdq
sub eax, edx
mov edx, dword [ebp - 0xfe0]
sar eax, 1
add eax, ecx
jmp 0x47d9c5
mov edx, dword [ebp - 0xfe0]
mov eax, dword [edx + 0x11c]
mov eax, dword [eax]
mov dword [edi], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xea4]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xff0]
add eax, 0x20
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bde84]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x5bc030]
cvtpd2ps xmm1, xmm0
comiss xmm1, dword [0x5bcbe0]
movss dword [edi + 8], xmm1
movaps xmm0, xmm1
jbe 0x47da8f
mov ecx, 0x5be89c
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
mov byte [ebp - 0xfb9], dl
cmp dl, byte [ecx]
jne 0x47da4c
test dl, dl
je 0x47da48
mov dl, byte [eax + 1]
mov byte [ebp - 0xfb9], dl
cmp dl, byte [ecx + 1]
jne 0x47da4c
add eax, 2
add ecx, 2
test dl, dl
jne 0x47da20
xor eax, eax
jmp 0x47da51
sbb eax, eax
or eax, 1
movaps xmm0, xmm1
test eax, eax
jne 0x47da8f
mulss xmm1, dword [0x5bde80]
cvttss2si eax, xmm1
movss xmm1, dword [0x5c0158]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x5bc054]
comiss xmm0, xmm1
movss dword [edi + 8], xmm0
jbe 0x47da8f
mov dword [edi + 8], 0x41c80000
movaps xmm0, xmm1
mov ecx, 0x5be89c
mov eax, esi
mov dl, byte [eax]
mov byte [ebp - 0xfb9], dl
cmp dl, byte [ecx]
jne 0x47dac2
test dl, dl
je 0x47dabe
mov dl, byte [eax + 1]
mov byte [ebp - 0xfb9], dl
cmp dl, byte [ecx + 1]
jne 0x47dac2
add eax, 2
add ecx, 2
test dl, dl
jne 0x47da96
xor eax, eax
jmp 0x47dac7
sbb eax, eax
or eax, 1
test eax, eax
je 0x47dad8
mulss xmm0, dword [0x5c00ac]
movss dword [edi + 8], xmm0
mov ecx, 0x5be89c
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47db22
cmp byte [ebp - 0xfb9], 0
je 0x47db1e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47db22
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47dae0
xor eax, eax
jmp 0x47db27
sbb eax, eax
or eax, 1
test eax, eax
je 0x47dc3f
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x40]
add eax, dword [ebp - 0xe68]
mov dword [edi + 0x40], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x44]
add eax, dword [ebp - 0xe64]
mov dword [edi + 0x44], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x48]
add eax, dword [ebp - 0xe60]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x4c]
add eax, dword [ebp - 0xe5c]
mov dword [edi + 0x4c], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x50]
add eax, dword [ebp - 0xe58]
mov dword [edi + 0x50], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x54]
add eax, dword [ebp - 0xe54]
mov dword [edi + 0x54], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x58]
add eax, dword [ebp - 0xe50]
mov dword [edi + 0x58], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x5c]
add eax, dword [ebp - 0xe4c]
mov dword [edi + 0x5c], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x60]
add eax, dword [ebp - 0xe48]
mov dword [edi + 0x60], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x64]
add eax, dword [ebp - 0xe44]
mov dword [edi + 0x64], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x68]
add eax, dword [ebp - 0xe40]
mov dword [edi + 0x68], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x6c]
add eax, dword [ebp - 0xe3c]
mov dword [edi + 0x6c], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x70]
add eax, dword [ebp - 0xe38]
mov dword [edi + 0x70], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x74]
add eax, dword [ebp - 0xe34]
mov dword [edi + 0x74], eax
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x78]
add eax, dword [ebp - 0xe30]
jmp 0x47dddd
mov eax, dword [ebp - 0x1018]
test eax, eax
jne 0x47dc4e
lea ecx, [eax + 1]
jmp 0x47dc87
cmp eax, 1
jne 0x47dc58
lea ecx, [eax + 1]
jmp 0x47dc87
cmp eax, 2
jne 0x47dc62
lea ecx, [eax + 2]
jmp 0x47dc87
cmp eax, 3
jne 0x47dc6c
lea ecx, [eax + 5]
jmp 0x47dc87
cmp eax, 4
jne 0x47dc76
lea ecx, [eax + 0xc]
jmp 0x47dc87
mov ecx, dword [ebp - 0x1008]
cmp eax, 5
mov eax, 0x20
cmove ecx, eax
mov eax, dword [ebp - 0xfd0]
test eax, eax
jne 0x47dca4
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x40]
add eax, ecx
mov dword [edi + 0x40], eax
jmp 0x47dde0
cmp eax, 1
jne 0x47dcbc
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x44]
add eax, ecx
mov dword [edi + 0x44], eax
jmp 0x47dde0
cmp eax, 2
jne 0x47dcd4
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x48]
add eax, ecx
mov dword [edi + 0x48], eax
jmp 0x47dde0
cmp eax, 3
jne 0x47dcec
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x4c]
add eax, ecx
mov dword [edi + 0x4c], eax
jmp 0x47dde0
cmp eax, 4
jne 0x47dd04
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x50]
add eax, ecx
mov dword [edi + 0x50], eax
jmp 0x47dde0
cmp eax, 5
jne 0x47dd1c
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x54]
add eax, ecx
mov dword [edi + 0x54], eax
jmp 0x47dde0
cmp eax, 6
jne 0x47dd34
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x58]
add eax, ecx
mov dword [edi + 0x58], eax
jmp 0x47dde0
cmp eax, 7
jne 0x47dd4c
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x5c]
add eax, ecx
mov dword [edi + 0x5c], eax
jmp 0x47dde0
cmp eax, 8
jne 0x47dd64
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x60]
add eax, ecx
mov dword [edi + 0x60], eax
jmp 0x47dde0
cmp eax, 9
jne 0x47dd79
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x64]
add eax, ecx
mov dword [edi + 0x64], eax
jmp 0x47dde0
cmp eax, 0xa
jne 0x47dd8e
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x68]
add eax, ecx
mov dword [edi + 0x68], eax
jmp 0x47dde0
cmp eax, 0xb
jne 0x47dda3
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x6c]
add eax, ecx
mov dword [edi + 0x6c], eax
jmp 0x47dde0
cmp eax, 0xc
jne 0x47ddb8
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x70]
add eax, ecx
mov dword [edi + 0x70], eax
jmp 0x47dde0
cmp eax, 0xd
jne 0x47ddcd
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x74]
add eax, ecx
mov dword [edi + 0x74], eax
jmp 0x47dde0
cmp eax, 0xe
jne 0x47dde0
mov eax, dword [edx + 0x11c]
mov eax, dword [eax + 0x78]
add eax, ecx
mov dword [edi + 0x78], eax
mov eax, dword [edx + 0x11c]
mov ecx, 0x2710
mov eax, dword [eax + 0x38]
cmp eax, ecx
cmovg eax, ecx
mov ecx, 0x5be89c
mov dword [ebp - 0x1024], eax
mov eax, esi
mov dl, byte [eax]
mov byte [ebp - 0xfb9], dl
cmp dl, byte [ecx]
jne 0x47de2c
test dl, dl
je 0x47de28
mov dl, byte [eax + 1]
mov byte [ebp - 0xfb9], dl
cmp dl, byte [ecx + 1]
jne 0x47de2c
add eax, 2
add ecx, 2
test dl, dl
jne 0x47de00
xor eax, eax
jmp 0x47de31
sbb eax, eax
or eax, 1
test eax, eax
je 0x47de67
movd xmm1, dword [ebp - 0x1024]
cvtdq2pd xmm1, xmm1
movd xmm0, dword [edi]
divsd xmm1, qword [0x5c0148]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm1
addsd xmm1, qword [0x5c0118]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [edi], eax
mov ecx, 0x5be840
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47deb2
cmp byte [ebp - 0xfb9], 0
je 0x47deae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47deb2
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47de70
xor eax, eax
jmp 0x47deb7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47decb
mov dword [edi + 0x3c], 1
add dword [edi + 4], 0x14
jmp 0x47e0b5
mov ecx, 0x5be88c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47df14
cmp byte [ebp - 0xfb9], 0
je 0x47df10
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47df14
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47ded2
xor eax, eax
jmp 0x47df19
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47df29
mov dword [edi + 0x3c], 4
jmp 0x47e0b5
mov ecx, 0x5be854
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47df72
cmp byte [ebp - 0xfb9], 0
je 0x47df6e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47df72
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47df30
xor eax, eax
jmp 0x47df77
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47df87
mov dword [edi + 0x3c], 3
jmp 0x47e0b5
mov ecx, 0x5be874
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47dfd2
cmp byte [ebp - 0xfb9], 0
je 0x47dfce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47dfd2
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47df90
xor eax, eax
jmp 0x47dfd7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47dfe7
mov dword [edi + 0x3c], 5
jmp 0x47e0b5
mov ecx, 0x5be89c
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47e032
cmp byte [ebp - 0xfb9], 0
je 0x47e02e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47e032
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47dff0
xor eax, eax
jmp 0x47e037
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47e052
mov eax, dword [ebp - 0xff4]
add eax, 6
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x1010]
mov dword [edi + 0x38], eax
jmp 0x47e0b5
mov ecx, 0x5be864
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47e0a2
cmp byte [ebp - 0xfb9], 0
je 0x47e09e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0xfb9], dl
mov edx, dword [ebp - 0xfe0]
jne 0x47e0a2
add eax, 2
add ecx, 2
cmp byte [ebp - 0xfb9], 0
jne 0x47e060
xor eax, eax
jmp 0x47e0a7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47e0b5
mov dword [edi + 0x3c], 2
add dword [edi], 0x1e
movss xmm1, dword [ebp - 0x102c]
mov eax, dword [ebp - 0x101c]
mulss xmm1, dword [0x5c00d4]
mov ecx, dword [ebp - 0xff0]
movss dword [eax + 0x10c], xmm1
movss xmm0, dword [edx + 0x10c]
addss xmm0, xmm1
movss dword [eax + 0x10c], xmm0
mov eax, dword [ebp - 0x1028]
cdq
idiv ecx
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0xfec]
cdq
idiv ecx
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0xfc0]
cdq
idiv ecx
mov dword [edi + 0x18], eax
mov eax, 0x5be89c
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x47e136
test cl, cl
je 0x47e132
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x47e136
add esi, 2
add eax, 2
test cl, cl
jne 0x47e116
xor eax, eax
jmp 0x47e13b
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0xfe0]
test eax, eax
jne 0x47e169
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x11c]
mov dword [ebp - 0x1024], 0xffffffff
mov eax, dword [eax + 0x20]
add eax, dword [ebp - 0xea0]
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0xea8]
mov dword [edi + 0x2c], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x28]
add eax, dword [ebp - 0xe98]
mov dword [edi + 0x28], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x24]
add eax, dword [ebp - 0xe9c]
mov dword [edi + 0x24], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x30]
add eax, dword [ebp - 0xe6c]
mov dword [edi + 0x30], eax
mov eax, dword [ecx + 0x11c]
mov eax, dword [eax + 0x34]
add eax, dword [ebp - 0xe70]
mov dword [edi + 0x34], eax
xor eax, eax
mov ecx, dword [edi + 0x20]
test ecx, ecx
mov edx, ecx
cmovle edx, eax
mov eax, dword [edi + 0x2c]
mov edi, dword [edi + 0x28]
cmp eax, edx
mov esi, eax
cmovle esi, edx
test ecx, ecx
mov ecx, 2
cmovle ecx, dword [ebp - 0x1024]
mov dword [ebp - 0xfc8], ecx
xor ecx, ecx
cmp eax, edx
mov eax, 4
cmovle ecx, dword [ebp - 0xfc8]
cmp edi, esi
cmovle edi, esi
cmovg ecx, eax
mov esi, dword [ebp - 0x1034]
mov eax, 3
mov edx, dword [esi + 0x24]
cmp edx, edi
cmovg ecx, eax
cmovle edx, edi
mov eax, dword [ebp - 0xfe0]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xea4]
cmp eax, edx
jle 0x47e25c
mov edx, eax
mov ecx, 1
jmp switch.0x0047e266
cmp ecx, 0xffffffff
jle 0x47e2cc
cmp ecx, 4
ja case.0x47e266.1
jmp dword [ecx*4 + 0x47e800]
mov dword [esi + 0x1c], 0x11
mov eax, 0x11
jmp 0x47e2b1
mov dword [esi + 0x1c], 0x15
mov eax, 0x15
jmp 0x47e2b1
mov dword [esi + 0x1c], 9
mov eax, 9
jmp 0x47e2b1
mov dword [esi + 0x1c], 0xd
mov eax, 0xd
jmp 0x47e2b1
mov dword [esi + 0x1c], 1
mov eax, 1
cmp edx, 1
jle 0x47e2ba
inc eax
mov dword [esi + 0x1c], eax
cmp edx, 4
jle 0x47e2c3
inc eax
mov dword [esi + 0x1c], eax
cmp edx, 9
jle 0x47e2cc
inc eax
mov dword [esi + 0x1c], eax
or edi, 0xffffffff
mov edx, 5
mov ecx, dword [ebp + edx*4 - 0xea8]
mov eax, edx
test ecx, ecx
cmovg edx, dword [ebp - 0x1008]
add eax, 0xfffffffb
test ecx, ecx
cmovle eax, edi
inc edx
mov edi, eax
cmp edx, 0xd
jle 0x47e2d4
cmp edi, 0xffffffff
jle 0x47e314
lea eax, [edi + 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 - 0xfe8]
mov ecx, 0x5be89c
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47e341
test dl, dl
je 0x47e33d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47e341
add eax, 2
add ecx, 2
test dl, dl
jne 0x47e321
xor eax, eax
jmp 0x47e346
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47e361
mov eax, dword [ebp - 0xfe0]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x1c]
cmp eax, 0x19
jl 0x47e361
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x418]
push str.You_have_created_a
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov esi, dword [ebp - 0xfd4]
lea edx, [ebp - 0x1000]
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 - 0x101c]
call fcn.0044c2d0
push eax
lea eax, [ebp - 0x418]
push 0x5bebdc
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x1000]
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 - 0xfcc]
push edi
mov edi, dword [ebp - 0x1020]
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xfe4]
movss dword [esp], xmm0
push dword [ebp - 0x101c]
push esi
call fcn.00486180
imul ecx, dword [edi + 0x188], 0x980
push dword [ebp - 0x101c]
mov ecx, dword [ecx + edi + 0x2d8]
call fcn.0050dff0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x47e5ff
nop
cmp dword [esi + 0x110], 1
jne 0x47e4c9
cmp dword [ebp - 0xfe0], esi
jne 0x47e4c9
mov eax, dword [esi + 0x118]
cmp eax, 1
jne 0x47e4c2
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
jmp 0x47e4c9
dec eax
mov dword [esi + 0x118], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x47e480
jmp 0x47e5ff
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x47e5ff
movss xmm0, dword [ebp - 0xfcc]
divss xmm0, dword [ebp - 0xfe4]
movss dword [ebp - 0x1008], xmm0
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
comiss xmm0, dword [ebp - 0x1008]
jbe 0x47e5dc
mov eax, dword [esi + 0x110]
cmp eax, 4
je 0x47e59b
cmp eax, 8
jne 0x47e5dc
mov eax, dword [esi + 0x11c]
mov eax, dword [eax]
cmp eax, 5
jl 0x47e59b
add eax, 0xfffffffb
cmp eax, 0xa
ja 0x47e5dc
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbe0]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
ucomiss xmm0, dword [0x5bc038]
lahf
test ah, 0x44
jp 0x47e5dc
cmp dword [esi + 0x110], 1
je 0x47e5dc
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x47e5b8
dec eax
mov dword [esi + 0x118], eax
jmp 0x47e5dc
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
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, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x47e514
mov esi, dword [ebp - 0x1014]
cmp dword [esi + 0xc], 0
ja 0x47e7ac
jb 0x47e61e
cmp dword [esi + 8], 0x5dc
jae 0x47e7ac
movss xmm1, dword [ebp - 0xfcc]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0xfe4]
divss xmm0, dword [0x5c0160]
comiss xmm2, xmm0
jbe 0x47e7ac
mov eax, dword [0x61aa7c]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
movd xmm0, dword [eax + 0x98]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x1008], xmm0
call fcn.00554c10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x1008]
addss xmm0, xmm1
call fcn.0055490f
mov ecx, edx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [ebp - 0xfc4], eax
mov eax, dword [esi + 0xc]
push eax
mov dword [ebp - 0x1008], ecx
mov ecx, dword [esi + 8]
push ecx
push eax
push ecx
call fcn.00555ad0
mov ecx, eax
mov esi, 0xbb8
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0xbb8
mul ecx
mov ecx, dword [ebp - 0x1008]
add esi, edx
mov edx, eax
cmp esi, ecx
ja 0x47e7ac
mov eax, dword [ebp - 0xfc4]
jb 0x47e6da
cmp edx, eax
ja 0x47e7ac
push 0
push 0xbb8
push ecx
push eax
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov ecx, dword [ebp - 0x1014]
push str.You_gained_a_skill_level__
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5bda04]
jmp 0x47ac7c
push str.You_must_sacrifice_one_blade_to_make_this.
jmp 0x47e764
push str.You_must_first_learn_to_create_swords.
lea eax, [ebp - 0x418]
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0xf77]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
add esp, 0x18
mov eax, dword [ecx]
lea edx, [ebp - 0x1000]
push edx
push 0
lea edx, [ebp - 0xf78]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
lea ecx, [ebp - 0x1000]
call fcn.00471720
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.005548c1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
cmp dword [edx], ebp
mov word [ebp - 0x946], 0
mov byte [ebp - 0x947], 0
call fcn.0052c140
mov edx, dword [ebp - 0x910]
mov ecx, edx
mov eax, dword [edi + 0x248]
sub ecx, eax
test eax, eax
je 0x48ea14
cmp edx, eax
jb 0x48ea14
cmp ecx, 0x1388
jbe 0x48ec02
mov ecx, dword [edi + 0x188]
imul eax, ecx, 0x980
cmp dword [edi + 0x14ea0], 0
movd xmm1, dword [eax + edi + 0x2f8]
cvtdq2ps xmm1, xmm1
je 0x48ea56
movd xmm0, dword [edi + 0x14f14]
mulss xmm1, dword [0x5c00a0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c00a4]
minss xmm1, xmm0
jmp 0x48ea5e
divss xmm1, dword [0x5c0140]
addss xmm1, dword [0x5c00ac]
imul ecx, ecx, 0x980
mov dword [edi + 0x248], edx
movd xmm0, dword [ecx + edi + 0x2fc]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ecx + edi + 0x2fc], eax
mov eax, dword [edi + 0x188]
imul ecx, eax, 0x980
mov edx, dword [ecx + edi + 0x2f8]
cmp dword [ecx + edi + 0x2fc], edx
jle 0x48eab6
mov dword [ecx + edi + 0x2fc], edx
mov eax, dword [edi + 0x188]
imul ecx, eax, 0x980
lea edx, [ebp - 0x924]
mov byte [ebp - 0x96c], 0x26
push edx
push 0
lea edx, [ebp - 0x96c]
push edx
push 0xd
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x967], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, dword [esi + 0x11c]
mov dword [ebp - 0x963], eax
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x96b], eax
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x48ebf0
cmp dword [eax + 0x214], 0
jne 0x48ebf0
cmp dword [eax + 0x204], 0
jne 0x48ebf0
mov ecx, edi
call fcn.00473770
cmp eax, 9
jle 0x48ebf0
mov ecx, dword [edi + 0x14f70]
movd xmm0, dword [ecx + 0x1b0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5c00e8]
cvtpd2ps xmm1, xmm0
movd xmm0, dword [ecx + 0x1ac]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ecx + 0x1ac], eax
mov ecx, dword [edi + 0x14f70]
mov eax, dword [ecx + 0x1b0]
cmp dword [ecx + 0x1ac], eax
jle 0x48eb95
mov dword [ecx + 0x1ac], eax
mov ecx, dword [edi + 0x14f70]
mov dword [ebp - 0x94f], ecx
mov byte [ebp - 0x950], 0x27
mov eax, dword [ecx + 0x1ac]
mov dword [ebp - 0x94b], eax
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x947], eax
lea eax, [ebp - 0x950]
movd xmm0, dword [ecx + 0x10c]
push 0
cvtdq2ps xmm0, xmm0
push 2
push eax
push 0xd
cvttss2si eax, xmm0
movd xmm0, dword [ecx + 0x108]
mov ecx, esi
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052c140
push esi
mov ecx, edi
call fcn.00488a80
test eax, eax
jne 0x48ebf0
mov edx, dword [ebp - 0x910]
mov eax, dword [edi + 0x24c]
mov ecx, edx
sub ecx, eax
test eax, eax
je 0x48ec20
cmp edx, eax
jb 0x48ec20
cmp ecx, 0x2710
jbe 0x48edf9
xor eax, eax
mov dword [edi + 0x24c], edx
mov dword [ebp - 0x92c], eax
xorps xmm0, xmm0
movss xmm1, dword [edi + eax*4 + 0x154]
comiss xmm1, xmm0
jbe 0x48ed1d
cmp dword [edi + eax*4 + 0x128], edx
jae 0x48ec5c
mov dword [edi + eax*4 + 0x154], 0
jmp 0x48ed1d
cmp eax, 4
jne 0x48ed1d
imul ecx, dword [edi + 0x188], 0x980
mulss xmm1, dword [0x5bcbcc]
push 0
push 2
movd xmm0, dword [ecx + edi + 0x2fc]
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ecx + edi + 0x2fc], eax
imul ecx, dword [edi + 0x188], 0x980
mov byte [ebp - 0x96c], 0x27
mov dword [ebp - 0x96b], edi
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x967], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, esi
mov dword [ebp - 0x963], eax
lea eax, [ebp - 0x96c]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
imul eax, dword [edi + 0x188], 0x980
xorps xmm0, xmm0
mov edx, dword [ebp - 0x910]
cmp dword [eax + edi + 0x2fc], 0
jg 0x48ed17
mov dword [eax + edi + 0x2fc], 0
mov dword [edi + 0x124], 1
mov eax, dword [ebp - 0x92c]
inc eax
mov dword [ebp - 0x92c], eax
cmp eax, 0xb
jl 0x48ec31
mov ecx, dword [esi + 0x110]
call fcn.0044dcb0
mov dword [ebp - 0x940], eax
cmp eax, edi
je 0x48ed76
lea ecx, [edi + 0x18c]
push ecx
lea ecx, [eax + 0x18c]
push ecx
call fcn.0044ce60
add esp, 8
test eax, eax
je 0x48ed76
mov eax, dword [ebp - 0x940]
mov dword [edi + 0x14f40], 1
mov dword [eax + 0x14f40], 1
mov ecx, dword [esi + 0x110]
call fcn.0044dd50
mov ecx, dword [esi + 0x110]
push edi
call fcn.0044dc60
cmp dword [edi + 0x14f34], 1
jne 0x48edf3
mov byte [ebp - 0x94c], 0x4b
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x61aa7c]
mov edx, eax
mov eax, 0x10624dd3
sub edx, dword [ecx + 0x58]
mov ecx, dword [esi + 0x11c]
mul edx
mov eax, 0x88888889
shr edx, 6
mul edx
mov ax, word [0x61aabc]
shr edx, 5
mov word [ebp - 0x947], dx
lea edx, [ebp - 0x924]
push edx
push 0
mov word [ebp - 0x94b], ax
lea edx, [ebp - 0x94c]
mov eax, dword [ecx]
push edx
push 7
call dword [eax + 4]
mov edx, dword [ebp - 0x910]
cmp dword [edi + 0x25c], 0
je 0x48ee87
mov ecx, dword [edi + 0x250]
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x908], eax
test ecx, ecx
je 0x48ee1e
cmp edx, ecx
jae 0x48ee28
mov dword [ebp - 0x908], 0x1389
imul eax, dword [edi + 0x188], 0x980
mov esi, dword [eax + edi + 0xbd0]
xor eax, eax
cmp esi, 3
setle al
add eax, 4
cmp esi, 4
lea ecx, [eax - 1]
cmovle ecx, eax
cmp esi, 5
lea edx, [ecx - 1]
cmovle edx, ecx
cmp esi, 6
mov esi, dword [ebp - 0x8f4]
lea eax, [edx - 1]
cmovle eax, edx
imul eax, eax, 0x3e8
cmp dword [ebp - 0x908], eax
jbe 0x48ee8d
push esi
mov ecx, edi
mov dword [edi + 0x25c], 0
call fcn.00473b60
jmp 0x48ee8d
mov esi, dword [ebp - 0x8f4]
mov edx, dword [ebp - 0x910]
mov ecx, edx
mov eax, dword [edi + 0x254]
sub ecx, eax
test eax, eax
je 0x48eeb1
cmp edx, eax
jb 0x48eeb1
cmp ecx, 0xea60
jbe 0x48f78e
mov dword [edi + 0x254], edx
lea eax, [ebp - 0x940]
push eax
mov dword [edi + 0x14f60], 0
mov dword [edi + 0x14f5c], 0
mov dword [edi + 0x14f58], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [0x61aa7c]
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bab90
test eax, eax
je 0x48ef27
mov ecx, dword [ebp - 0x940]
mov eax, dword [ecx + 0x15c]
mov dword [edi + 0x14f58], eax
mov eax, dword [ecx + 0x160]
mov dword [edi + 0x14f5c], eax
mov eax, dword [ecx + 0x164]
mov dword [edi + 0x14f60], eax
xorps xmm0, xmm0
movups xmmword [edi + 0x14f04], xmm0
movups xmmword [edi + 0x14f14], xmm0
movups xmmword [edi + 0x14f24], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0x900], eax
test eax, eax
je 0x48f064
nop word [eax + eax]
cmp dword [eax + 0x110], 2
jne 0x48f03d
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x930], eax
call fcn.005157a0
mov eax, dword [ebp - 0x930]
cmp byte [eax + 8], 0
je 0x48f03d
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [eax + 0xa]
call fcn.00515800
test eax, eax
js 0x48f03d
mov ecx, dword [ebp - 0x900]
call fcn.0044c2d0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x924]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x900]
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044dea0
mov ecx, dword [ebp - 0x900]
push 1
mov eax, dword [ecx]
call dword [eax]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0x900], eax
test eax, eax
jne 0x48ef70
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0x900], eax
test eax, eax
je 0x48f184
nop dword [eax + eax]
cmp dword [eax + 0x110], 2
jne 0x48f15d
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x930], eax
call fcn.005157a0
mov eax, dword [ebp - 0x930]
cmp byte [eax + 8], 0
je 0x48f15d
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [eax + 0xa]
call fcn.00515800
test eax, eax
js 0x48f15d
mov ecx, dword [ebp - 0x900]
call fcn.0044c2d0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x924]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x900]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov ecx, dword [ebp - 0x900]
push 1
mov eax, dword [ecx]
call dword [eax]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0x900], eax
test eax, eax
jne 0x48f090
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0x900], eax
test eax, eax
je 0x48f2ff
nop dword [eax + eax]
cmp dword [eax + 0x110], 2
jne 0x48f2d8
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x908], eax
call fcn.005157a0
mov edx, dword [ebp - 0x908]
cmp byte [edx + 8], 0
je 0x48f2d8
lea eax, [ebp - 0x82c]
push eax
lea ecx, [edx + 0xa]
call fcn.00515800
test eax, eax
js 0x48f27f
mov ecx, dword [ebp - 0x900]
call fcn.0044c2d0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x924]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x900]
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044dea0
mov ecx, dword [ebp - 0x900]
push 1
mov eax, dword [ecx]
call dword [eax]
jmp 0x48f2d8
mov edx, dword [ebp - 0x908]
cmp byte [edx + 8], 0
je 0x48f2d8
movd xmm0, dword [edx + 4]
xor ecx, ecx
movss xmm1, dword [edx + 0x40]
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
mov eax, dword [edx]
cmp eax, 7
jl 0x48f2b7
cmp eax, 9
jg 0x48f2b7
cvttss2si ecx, xmm1
cmp eax, 0xb
jne 0x48f2c8
xor edx, edx
comiss xmm1, dword [0x5bc024]
cmova ecx, edx
cmp ecx, dword [edi + eax*4 + 0x14f04]
jle 0x48f2d8
mov dword [edi + eax*4 + 0x14f04], ecx
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0x900], eax
test eax, eax
jne 0x48f1b0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0x92c], eax
test eax, eax
je 0x48f5dd
mov ecx, eax
call fcn.0044c2d0
mov ecx, str.Dodging
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48f352
test dl, dl
je 0x48f34e
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48f352
add ecx, 2
add eax, 2
test dl, dl
jne 0x48f332
xor eax, eax
jmp 0x48f357
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48f46e
mov edx, dword [ebp - 0x92c]
mov edx, dword [edx + 0x11c]
mov dword [ebp - 0x928], edx
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov esi, dword [edx]
mov edx, dword [edx + 4]
push eax
push ecx
push eax
push ecx
mov dword [ebp - 0x908], esi
mov dword [ebp - 0x930], edx
call fcn.00555ad0
mov ecx, eax
mov esi, 0x64
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
mov ecx, dword [ebp - 0x930]
add esi, edx
mov edx, eax
cmp esi, ecx
ja 0x48f46e
mov eax, dword [ebp - 0x908]
jb 0x48f3c9
cmp edx, eax
ja 0x48f46e
push 0
push 0x64
push ecx
push eax
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov ecx, dword [ebp - 0x928]
push str.You_gained_Dodging_skill__
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0x8f4]
lea edx, [ebp - 0x924]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5c00a8]
movss dword [eax + edi + 0x300], xmm0
mov esi, dword [ebp - 0x92c]
mov ecx, esi
call fcn.0044c2d0
mov ecx, str.Pet_Energy
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48f4a0
test dl, dl
je 0x48f49c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48f4a0
add ecx, 2
add eax, 2
test dl, dl
jne 0x48f480
xor eax, eax
jmp 0x48f4a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48f5b6
mov edx, dword [esi + 0x11c]
mov dword [ebp - 0x928], edx
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov esi, dword [edx]
mov edx, dword [edx + 4]
push eax
push ecx
push eax
push ecx
mov dword [ebp - 0x908], esi
mov dword [ebp - 0x930], edx
call fcn.00555ad0
mov ecx, eax
mov esi, 0x64
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
mov ecx, dword [ebp - 0x930]
add esi, edx
mov edx, eax
cmp esi, ecx
ja 0x48f5b6
mov eax, dword [ebp - 0x908]
jb 0x48f511
cmp edx, eax
ja 0x48f5b6
push 0
push 0x64
push ecx
push eax
call fcn.00555b10
mov ecx, eax
call fcn.00554c10
call fcn.00584320
addsd xmm0, qword [0x5bc030]
call fcn.00554af0
mov ecx, dword [ebp - 0x928]
push str.You_gained_Pet_Energy__
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0x8f4]
lea edx, [ebp - 0x924]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5c00a8]
movss dword [eax + edi + 0x300], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0x92c], eax
test eax, eax
jne 0x48f326
imul esi, dword [edi + 0x188], 0x980
mov ecx, edi
call fcn.00486160
lea eax, [eax + eax*2]
lea eax, [eax*2 + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esi + edi + 0x300]
cvttss2si eax, xmm0
mov dword [esi + edi + 0x2f8], eax
imul ecx, dword [edi + 0x188], 0x980
mov edx, dword [ecx + edi + 0xbd0]
mov eax, dword [ecx + edi + 0x2f8]
cmp edx, 6
jge 0x48f635
imul eax, edx
jmp 0x48f638
lea eax, [eax + eax*4]
mov dword [ecx + edi + 0x2f8], eax
imul eax, dword [edi + 0x188], 0x980
cvttss2si ecx, dword [eax + edi + 0x304]
cvttss2si eax, dword [eax + edi + 0x300]
cmp ecx, eax
je 0x48f780
lea eax, [ebp - 0x8e8]
mov byte [ebp - 0x8e8], 9
push eax
mov ecx, edi
call fcn.004739a0
mov esi, dword [ebp - 0x8f4]
lea edx, [ebp - 0x924]
push edx
push 0
lea edx, [ebp - 0x8e8]
mov ecx, dword [esi + 0x11c]
push edx
push 0x4d
mov eax, dword [ecx]
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
cvttss2si eax, dword [eax + edi + 0x300]
push eax
lea eax, [ebp - 0x418]
push str.You_gained_a_Level____You_are_now_Level__ld.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x924]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [edi + 0x180]
mov ecx, esi
mov dword [ebp - 0x82b], eax
movzx eax, byte [edi + 0x108]
push 0
mov byte [ebp - 0x823], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x822], al
lea eax, [ebp - 0x82c]
push eax
push 0x11
push dword [edi + 0x10c]
mov byte [ebp - 0x82c], 0x38
push dword [edi + 0x108]
mov dword [ebp - 0x827], 0xffffffff
push 0
mov word [ebp - 0x821], 0xff28
mov dword [ebp - 0x81f], 0x50028
call fcn.0052c140
imul edx, dword [edi + 0x188], 0x980
mov eax, dword [edx + edi + 0x300]
mov dword [edx + edi + 0x304], eax
jmp 0x48f786
mov esi, dword [ebp - 0x8f4]
push esi
mov ecx, edi
call fcn.0048a9e0
lea ecx, [ebp - 0x924]
call fcn.00471720
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.005548c1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4