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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x463d58
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov eax, dword [0x47e1c0]
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [esi + 0x140]
mov dword [esp + 0x48], 0
cmp dword [ecx + 0x20], 1
jne 0x405d75
lea ebx, [esi + 0x34]
test ebx, ebx
je 0x405801
lea edi, [esi + 0x40]
jmp 0x405803
xor edi, edi
test edi, edi
jne 0x40580b
xor eax, eax
jmp 0x405812
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x3c
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d3d4
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x405847
lea edi, [esi + 0x40]
jmp 0x405849
xor edi, edi
test edi, edi
jne 0x405851
xor eax, eax
jmp 0x405858
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x40586b
xor eax, eax
jmp 0x405872
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405896
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x4058bf
lea edi, [esi + 0x40]
jmp 0x4058c1
xor edi, edi
test edi, edi
jne 0x4058c9
xor eax, eax
jmp 0x4058d0
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.I_Name
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4058f4
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.J_Name
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405918
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d3c0
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40593c
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d3bc
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405960
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Plmax
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405984
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Plmin
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x4059b9
lea edi, [esi + 0x40]
jmp 0x4059bb
xor edi, edi
test edi, edi
jne 0x4059c3
xor eax, eax
jmp 0x4059ca
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x4059dd
xor eax, eax
jmp 0x4059e4
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405a08
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov eax, dword [esi + 0x114]
xor ebp, ebp
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0xac]
test eax, eax
mov dword [esp + 0x20], ebp
jle 0x405cfd
mov ecx, dword [esi + 0x118]
fld qword [ecx + 0x70]
mov eax, dword [ecx + 0x7c]
mov edx, dword [ecx + 0x78]
fabs
fcomp qword [0x467a60]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
fnstsw ax
test ah, 0x41
je 0x405a85
fld qword [esp + 0x2c]
fabs
fcomp qword [0x467a60]
fnstsw ax
test ah, 0x41
jne 0x405cd8
mov eax, dword [ecx + 0x2c]
mov edi, dword [esi + 0x10c]
mov edx, dword [ecx + 0x30]
mov ebp, eax
shl ebp, 4
add ebp, eax
lea eax, [edi + ebp*8]
mov ebp, edx
shl ebp, 4
fld qword [eax + 0x38]
add ebp, edx
test ebx, ebx
fld qword [edi + ebp*8 + 0x38]
lea edx, [edi + ebp*8]
mov edi, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
mov dword [esp + 0x24], edi
fld st(1)
fmul st(2)
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
fstp qword [esp + 0x34]
fmulp st(1)
fld qword [esp + 0x24]
fsub qword [esp + 0x14]
fld qword [ecx + 0x48]
fld qword [ecx + 0x40]
fld st(0)
fmul qword [esp + 0x34]
fld st(3)
fcos
fmul st(2)
fxch st(4)
fsin
fmul st(3)
faddp st(4)
fxch st(3)
fmul st(4)
fsubp st(3)
fxch st(2)
fstp qword [esp + 0x34]
fxch st(1)
fstp st(0)
fstp st(0)
fstp st(0)
je 0x405b17
lea edi, [esi + 0x40]
test edi, edi
jne 0x405b1d
xor eax, eax
jmp 0x405b24
xor edi, edi
xor eax, eax
jmp 0x405b24
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
mov ecx, dword [esi + 0x118]
add esp, 8
push ecx
mov ecx, edi
call fcn.0041b4d4
test ebx, ebx
je 0x405b4c
lea edi, [esi + 0x40]
test edi, edi
jne 0x405b52
xor eax, eax
jmp 0x405b59
xor edi, edi
xor eax, eax
jmp 0x405b59
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
mov eax, dword [esi + 0x118]
add esp, 8
add eax, 0x15
mov ecx, edi
push eax
call fcn.0041b4d4
mov ecx, dword [esi + 0x88e04]
mov ebp, dword [esp + 0x20]
mov edx, dword [ecx + ebp*8 + 4]
push edx
mov eax, dword [ecx + ebp*8]
lea ecx, [esp + 0x14]
push eax
push str._7.3f
push ecx
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x405ba9
lea edi, [esi + 0x40]
test edi, edi
jne 0x405baf
xor eax, eax
jmp 0x405bb6
xor edi, edi
xor eax, eax
jmp 0x405bb6
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push eax
call fcn.0041b4d4
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push ecx
push edx
lea eax, [esp + 0x18]
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x405bf8
lea edi, [esi + 0x40]
test edi, edi
jne 0x405bfe
xor eax, eax
jmp 0x405c05
xor edi, edi
xor eax, eax
jmp 0x405c05
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x118]
mov ecx, dword [eax + 0x74]
push ecx
mov edx, dword [eax + 0x70]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x405c4b
lea edi, [esi + 0x40]
test edi, edi
jne 0x405c51
xor eax, eax
jmp 0x405c58
xor edi, edi
xor eax, eax
jmp 0x405c58
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x118]
mov ecx, dword [eax + 0x7c]
push ecx
mov edx, dword [eax + 0x78]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x405c9e
lea edi, [esi + 0x40]
test edi, edi
jne 0x405ca4
xor eax, eax
jmp 0x405cab
xor edi, edi
xor eax, eax
jmp 0x405cab
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
push 0x4051e0
lea ecx, [esi + 0x40]
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov ecx, dword [esi + 0x118]
inc ebp
add ecx, 0x80
mov dword [esp + 0x20], ebp
mov dword [esi + 0x118], ecx
mov eax, dword [esi + 0xac]
cmp ebp, eax
jl 0x405a48
test ebx, ebx
je 0x405d06
lea edi, [esi + 0x40]
jmp 0x405d08
xor edi, edi
test edi, edi
jne 0x405d10
xor eax, eax
jmp 0x405d17
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x405d2a
xor eax, eax
jmp 0x405d31
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405d55
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov eax, dword [esi + 0x9c]
shl eax, 3
push eax
call fcn.00436762
mov ecx, dword [esi + 0x9c]
mov ebx, eax
shl ecx, 3
push ecx
mov dword [esp + 0x2c], ebx
call fcn.00436762
mov edx, dword [esi + 0xfc]
add esp, 8
mov dword [esi + 0x100], edx
mov ecx, dword [esi + 0x9c]
test ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], 0
jle 0x405e5f
sub ebx, eax
mov ecx, dword [esi + 0x100]
mov edx, dword [esi + 0x138]
mov edi, dword [ecx + 0x18]
mov edx, dword [edx + 0x2c]
mov ebp, edi
shl ebp, 4
add edx, ebp
mov ebp, dword [ecx + 0x20]
mov dword [ebx + eax], ebp
mov ecx, dword [ecx + 0x24]
mov dword [ebx + eax + 4], ecx
mov ecx, dword [esi + 0x100]
mov ebp, dword [ecx + 0x28]
mov dword [eax], ebp
mov ecx, dword [ecx + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0xd4]
mov ebp, dword [esi + 0xd8]
mov ecx, dword [ecx + edi*4]
test dword [ebp], ecx
jne 0x405e16
fld qword [edx]
fchs
fstp qword [ebx + eax]
mov ecx, dword [esi + 0xd4]
mov ebp, dword [esi + 0xd8]
mov ecx, dword [ecx + edi*4]
mov edi, dword [ebp + 4]
test edi, ecx
jne 0x405e33
fld qword [edx + 8]
fchs
fstp qword [eax]
mov edi, dword [esi + 0x100]
mov ecx, dword [esp + 0x14]
add edi, 0x2e0
inc ecx
mov dword [esi + 0x100], edi
mov edx, dword [esi + 0x9c]
add eax, 8
cmp ecx, edx
mov dword [esp + 0x14], ecx
jl 0x405dc4
lea ebx, [esi + 0x34]
test ebx, ebx
je 0x405e6b
lea edi, [esi + 0x40]
jmp 0x405e6d
xor edi, edi
test edi, edi
jne 0x405e75
xor eax, eax
jmp 0x405e7c
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x41
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d374
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x405eb1
lea edi, [esi + 0x40]
jmp 0x405eb3
xor edi, edi
test edi, edi
jne 0x405ebb
xor eax, eax
jmp 0x405ec2
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x405ed5
xor eax, eax
jmp 0x405edc
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405f00
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x405f29
lea edi, [esi + 0x40]
jmp 0x405f2b
xor edi, edi
test edi, edi
jne 0x405f33
xor eax, eax
jmp 0x405f3a
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Name
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405f5e
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d368
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405f82
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d364
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405fa6
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 7
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.PGmax
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405fca
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.PGmin
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x405fee
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d350
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406012
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 7
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d34c
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406036
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.QGmax
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40605a
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.QGmin
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40607e
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 6
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d338
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4060a2
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 6
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d334
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4060c6
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 6
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Vmax
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4060ea
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 6
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Vmax
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x40611f
lea edi, [esi + 0x40]
jmp 0x406121
xor edi, edi
test edi, edi
jne 0x406129
xor eax, eax
jmp 0x406130
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x406143
xor eax, eax
jmp 0x40614a
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40616e
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov ecx, dword [esi + 0xfc]
xor ebp, ebp
mov dword [esi + 0x100], ecx
mov eax, dword [esi + 0x9c]
test eax, eax
mov dword [esp + 0x14], ebp
jle 0x4066d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov dword [esp + 0x2c], eax
mov edx, dword [esi + 0x140]
cmp dword [edx + 8], 1
jne 0x406356
lea ebx, [esi + 0x34]
test ebx, ebx
je 0x4061de
lea edi, [esi + 0x40]
test edi, edi
jne 0x4061e4
xor eax, eax
jmp 0x4061eb
xor edi, edi
xor eax, eax
jmp 0x4061eb
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov ecx, dword [esi + 0x100]
add esp, 8
push ecx
mov ecx, edi
call fcn.0041b4d4
mov edx, dword [esi + 0x1f4]
mov eax, dword [edx + ebp*8 + 4]
push eax
mov ecx, dword [edx + ebp*8]
lea edx, [esp + 0x14]
push ecx
push str._7.3f
push edx
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x406234
lea edi, [esi + 0x40]
test edi, edi
jne 0x40623a
xor eax, eax
jmp 0x406241
xor edi, edi
xor eax, eax
jmp 0x406241
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 7
push eax
call fcn.00405240
mov ecx, dword [esp + 0x18]
add esp, 8
push ecx
mov ecx, edi
call fcn.0041b4d4
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
add edx, eax
lea eax, [esp + 0x10]
mov ecx, dword [edx + ebp*8 + 4]
push ecx
mov edx, dword [edx + ebp*8]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x40628c
lea edi, [esi + 0x40]
test edi, edi
jne 0x406292
xor eax, eax
jmp 0x406299
xor edi, edi
xor eax, eax
jmp 0x406299
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x100]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [eax + 0x50]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x4062df
lea edi, [esi + 0x40]
test edi, edi
jne 0x4062e5
xor eax, eax
jmp 0x4062ec
xor edi, edi
xor eax, eax
jmp 0x4062ec
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x100]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [eax + 0x58]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x406332
lea edi, [esi + 0x40]
test edi, edi
jne 0x406338
xor eax, eax
jmp 0x40633f
xor edi, edi
xor eax, eax
jmp 0x40633f
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x140]
cmp dword [eax + 4], 1
jne 0x4066ab
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x4063d8
lea ebx, [esi + 0x34]
test ebx, ebx
je 0x40637f
lea edi, [esi + 0x40]
test edi, edi
jne 0x406385
xor eax, eax
jmp 0x40638c
xor edi, edi
xor eax, eax
jmp 0x40638c
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov ecx, dword [esi + 0x100]
add esp, 8
push ecx
mov ecx, edi
call fcn.0041b4d4
test ebx, ebx
je 0x4063b4
lea edi, [esi + 0x40]
test edi, edi
jne 0x4063ba
xor eax, eax
jmp 0x4063c1
xor edi, edi
xor eax, eax
jmp 0x4063c1
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x1c
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d328
call fcn.0041b4d4
mov eax, dword [esi + 0x1f8]
mov ebx, dword [esp + 0x14]
mov ecx, dword [eax + ebx*8 + 4]
push ecx
mov edx, dword [eax + ebx*8]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
lea ebp, [esi + 0x34]
add esp, 0x10
test ebp, ebp
je 0x40640f
lea edi, [esi + 0x40]
test edi, edi
jne 0x406415
xor eax, eax
jmp 0x40641c
xor edi, edi
xor eax, eax
jmp 0x40641c
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + ebx*8 + 4]
mov edx, dword [eax + ebx*8]
push ecx
push edx
lea eax, [esp + 0x18]
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x406461
lea edi, [esi + 0x40]
test edi, edi
jne 0x406467
xor eax, eax
jmp 0x40646e
xor edi, edi
xor eax, eax
jmp 0x40646e
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x100]
mov ecx, dword [eax + 0x44]
push ecx
mov edx, dword [eax + 0x40]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x4064b4
lea edi, [esi + 0x40]
test edi, edi
jne 0x4064ba
xor eax, eax
jmp 0x4064c1
xor edi, edi
xor eax, eax
jmp 0x4064c1
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x100]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [eax + 0x48]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x406507
lea edi, [esi + 0x40]
test edi, edi
jne 0x40650d
xor eax, eax
jmp 0x406514
xor edi, edi
xor eax, eax
jmp 0x406514
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 7
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x1ec]
mov ebx, dword [eax + 0x18]
mov edx, dword [ecx + ebx*8 + 4]
push edx
mov eax, dword [ecx + ebx*8]
lea ecx, [esp + 0x14]
push eax
push str._6.3f
push ecx
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x406564
lea edi, [esi + 0x40]
test edi, edi
jne 0x40656a
xor eax, eax
jmp 0x406571
xor edi, edi
xor eax, eax
jmp 0x406571
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 6
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push eax
call fcn.0041b4d4
mov ecx, dword [esi + 0x10c]
mov edi, ebx
shl edi, 4
add edi, ebx
shl edi, 3
mov edx, dword [ecx + edi + 0x3c]
push edx
mov eax, dword [ecx + edi + 0x38]
lea ecx, [esp + 0x14]
push eax
push str._6.3f
push ecx
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x4065c3
lea ebx, [esi + 0x40]
test ebx, ebx
jne 0x4065c9
xor eax, eax
jmp 0x4065d0
xor ebx, ebx
xor eax, eax
jmp 0x4065d0
mov edx, dword [ebx]
mov eax, dword [edx + 4]
add eax, ebx
push 6
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, ebx
push eax
call fcn.0041b4d4
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx + edi + 0x2c]
push edx
mov eax, dword [ecx + edi + 0x28]
lea ecx, [esp + 0x14]
push eax
push str._6.3f
push ecx
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x406618
lea ebx, [esi + 0x40]
test ebx, ebx
jne 0x40661e
xor eax, eax
jmp 0x406625
xor ebx, ebx
xor eax, eax
jmp 0x406625
mov edx, dword [ebx]
mov eax, dword [edx + 4]
add eax, ebx
push 6
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, ebx
push eax
call fcn.0041b4d4
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx + edi + 0x34]
push edx
mov eax, dword [ecx + edi + 0x30]
lea ecx, [esp + 0x14]
push eax
push str._6.3f
push ecx
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x40666d
lea edi, [esi + 0x40]
test edi, edi
jne 0x406673
xor eax, eax
jmp 0x40667a
xor edi, edi
xor eax, eax
jmp 0x40667a
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 6
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push eax
call fcn.0041b4d4
push 0x4051e0
lea ecx, [esi + 0x40]
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov ebp, dword [esp + 0x14]
mov ecx, dword [esi + 0x100]
inc ebp
add ecx, 0x2e0
mov dword [esp + 0x14], ebp
mov dword [esi + 0x100], ecx
mov eax, dword [esi + 0x9c]
cmp ebp, eax
jl 0x4061bc
lea ebx, [esi + 0x34]
test ebx, ebx
je 0x4066dc
lea edi, [esi + 0x40]
jmp 0x4066de
xor edi, edi
test edi, edi
jne 0x4066e6
xor eax, eax
jmp 0x4066ed
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x406700
xor eax, eax
jmp 0x406707
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40672b
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
push 0x4051e0
push 0xa
mov ecx, edi
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov ecx, dword [esi + 0x140]
cmp dword [ecx + 0xc], 1
jne 0x406d5a
test ebx, ebx
je 0x406779
lea edi, [esi + 0x40]
jmp 0x40677b
xor edi, edi
test edi, edi
jne 0x406783
xor eax, eax
jmp 0x40678a
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x3c
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d2fc
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x4067bf
lea edi, [esi + 0x40]
jmp 0x4067c1
xor edi, edi
test edi, edi
jne 0x4067c9
xor eax, eax
jmp 0x4067d0
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x4067e3
xor eax, eax
jmp 0x4067ea
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40680e
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x406837
lea edi, [esi + 0x40]
jmp 0x406839
xor edi, edi
test edi, edi
jne 0x406841
xor eax, eax
jmp 0x406848
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.I_Name
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40686c
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.J_Name
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406890
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d2f8
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4068b4
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d2f4
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4068d8
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d2f0
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4068fc
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Tapmax
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406920
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Tapmin
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406944
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Tstep
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x406979
lea edi, [esi + 0x40]
jmp 0x40697b
xor edi, edi
test edi, edi
jne 0x406983
xor eax, eax
jmp 0x40698a
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x40699d
xor eax, eax
jmp 0x4069a4
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4069c8
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov edx, dword [esi + 0x124]
xor ebp, ebp
mov dword [esi + 0x128], edx
mov eax, dword [esi + 0xb4]
test eax, eax
jle 0x406cca
lea ebx, [esi + 0x34]
test ebx, ebx
je 0x406a16
lea edi, [esi + 0x40]
test edi, edi
jne 0x406a1c
xor eax, eax
jmp 0x406a23
xor edi, edi
xor eax, eax
jmp 0x406a23
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
mov ecx, dword [esi + 0x128]
add esp, 8
push ecx
mov ecx, edi
call fcn.0041b4d4
test ebx, ebx
je 0x406a4b
lea edi, [esi + 0x40]
test edi, edi
jne 0x406a51
xor eax, eax
jmp 0x406a58
xor edi, edi
xor eax, eax
jmp 0x406a58
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
mov eax, dword [esi + 0x128]
add esp, 8
add eax, 0x15
mov ecx, edi
push eax
call fcn.0041b4d4
mov ecx, dword [esi + 0x1fc]
lea edi, [ebp*8]
mov edx, dword [ecx + edi + 4]
push edx
mov eax, dword [ecx + edi]
lea ecx, [esp + 0x14]
push eax
push str._7.3f
push ecx
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x406aab
lea ebx, [esi + 0x40]
test ebx, ebx
jne 0x406ab1
xor eax, eax
jmp 0x406ab8
xor ebx, ebx
xor eax, eax
jmp 0x406ab8
mov edx, dword [ebx]
mov eax, dword [edx + 4]
add eax, ebx
push 0xa
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, ebx
push eax
call fcn.0041b4d4
mov eax, dword [esi + 0x128]
mov ebx, dword [esi + 0x1e8]
add edi, ebx
fild dword [eax + 0xb8]
fmul qword [eax + 0xb0]
lea eax, [esp + 0x10]
fadd qword [edi]
fstp qword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push ecx
push edx
push str._7.3f
push eax
call fcn.004340ef
lea eax, [esi + 0x34]
add esp, 0x10
test eax, eax
je 0x406b1d
lea edi, [esi + 0x40]
test edi, edi
jne 0x406b23
xor eax, eax
jmp 0x406b2a
xor edi, edi
xor eax, eax
jmp 0x406b2a
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x128]
lea edx, [esp + 0x10]
mov ecx, dword [eax + 0xb8]
push ecx
push 0x47d2d4
push edx
call fcn.004340ef
lea ebx, [esi + 0x34]
add esp, 0xc
test ebx, ebx
je 0x406b72
lea edi, [esi + 0x40]
test edi, edi
jne 0x406b78
xor eax, eax
jmp 0x406b7f
xor edi, edi
xor eax, eax
jmp 0x406b7f
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov ecx, dword [esp + 0x18]
add esp, 8
push ecx
mov ecx, edi
call fcn.0041b4d4
mov edx, dword [esi + 0x128]
lea ecx, [esp + 0x10]
mov eax, dword [edx + 0xa8]
push eax
push 0x47d2d4
push ecx
call fcn.004340ef
add esp, 0xc
test ebx, ebx
je 0x406bc4
lea edi, [esi + 0x40]
test edi, edi
jne 0x406bca
xor eax, eax
jmp 0x406bd1
xor edi, edi
xor eax, eax
jmp 0x406bd1
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push eax
call fcn.0041b4d4
mov ecx, dword [esi + 0x128]
lea eax, [esp + 0x10]
mov edx, dword [ecx + 0xac]
push edx
push 0x47d2d4
push eax
call fcn.004340ef
add esp, 0xc
test ebx, ebx
je 0x406c16
lea edi, [esi + 0x40]
test edi, edi
jne 0x406c1c
xor eax, eax
jmp 0x406c23
xor edi, edi
xor eax, eax
jmp 0x406c23
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x128]
mov ecx, dword [eax + 0xb4]
push ecx
mov edx, dword [eax + 0xb0]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebx, ebx
je 0x406c6f
lea edi, [esi + 0x40]
test edi, edi
jne 0x406c75
xor eax, eax
jmp 0x406c7c
xor edi, edi
xor eax, eax
jmp 0x406c7c
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
push 0x4051e0
push 0xa
lea ecx, [esi + 0x40]
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov ecx, dword [esi + 0x128]
inc ebp
add ecx, 0xc0
mov dword [esi + 0x128], ecx
mov eax, dword [esi + 0xb4]
cmp ebp, eax
jl 0x406a04
lea eax, [esi + 0x34]
test eax, eax
je 0x406cd6
lea edi, [esi + 0x40]
jmp 0x406cd8
xor edi, edi
test edi, edi
jne 0x406ce0
xor eax, eax
jmp 0x406ce7
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x406cfa
xor eax, eax
jmp 0x406d01
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406d25
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
push 0x4051e0
push 0xa
mov ecx, edi
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov eax, dword [esi + 0x140]
cmp dword [eax + 0x10], 1
jne 0x40725e
lea ebx, [esi + 0x34]
test ebx, ebx
je 0x406d76
lea edi, [esi + 0x40]
jmp 0x406d78
xor edi, edi
test edi, edi
jne 0x406d80
xor eax, eax
jmp 0x406d87
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x3c
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d2a4
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x406dbc
lea edi, [esi + 0x40]
jmp 0x406dbe
xor edi, edi
test edi, edi
jne 0x406dc6
xor eax, eax
jmp 0x406dcd
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x406de0
xor eax, eax
jmp 0x406de7
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406e0b
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x406e34
lea edi, [esi + 0x40]
jmp 0x406e36
xor edi, edi
test edi, edi
jne 0x406e3e
xor eax, eax
jmp 0x406e45
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.Bus_Name
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406e69
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d294
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406e8d
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d290
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406eb1
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.CXmax
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406ed5
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.CXmin
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406ef9
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.UnitCX
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x406f2e
lea edi, [esi + 0x40]
jmp 0x406f30
xor edi, edi
test edi, edi
jne 0x406f38
xor eax, eax
jmp 0x406f3f
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x406f52
xor eax, eax
jmp 0x406f59
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x406f7d
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov edx, dword [esi + 0x12c]
xor ebx, ebx
mov dword [esi + 0x130], edx
mov eax, dword [esi + 0xb8]
test eax, eax
jle 0x4071ce
lea ebp, [esi + 0x40]
lea eax, [esi + 0x34]
test eax, eax
je 0x406fcd
mov edi, ebp
test edi, edi
jne 0x406fd3
xor eax, eax
jmp 0x406fda
xor edi, edi
xor eax, eax
jmp 0x406fda
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
mov ecx, dword [esi + 0x130]
add esp, 8
push ecx
mov ecx, edi
call fcn.0041b4d4
mov edx, dword [esi + 0x200]
lea ecx, [esp + 0x10]
mov eax, dword [edx + ebx*4]
push eax
push 0x47d2d4
push ecx
call fcn.004340ef
lea eax, [esi + 0x34]
add esp, 0xc
test eax, eax
je 0x407020
mov edi, ebp
test edi, edi
jne 0x407026
xor eax, eax
jmp 0x40702d
xor edi, edi
xor eax, eax
jmp 0x40702d
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push eax
call fcn.0041b4d4
mov ecx, dword [esi + 0x130]
lea eax, [esp + 0x10]
mov edx, dword [ecx + 0x10]
push edx
push 0x47d2d4
push eax
call fcn.004340ef
lea eax, [esi + 0x34]
add esp, 0xc
test eax, eax
je 0x407071
mov edi, ebp
test edi, edi
jne 0x407077
xor eax, eax
jmp 0x40707e
xor edi, edi
xor eax, eax
jmp 0x40707e
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x130]
lea edx, [esp + 0x10]
mov ecx, dword [eax + 0x14]
push ecx
push 0x47d2d4
push edx
call fcn.004340ef
lea eax, [esi + 0x34]
add esp, 0xc
test eax, eax
je 0x4070c2
mov edi, ebp
test edi, edi
jne 0x4070c8
xor eax, eax
jmp 0x4070cf
xor edi, edi
xor eax, eax
jmp 0x4070cf
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov ecx, dword [esp + 0x18]
add esp, 8
push ecx
mov ecx, edi
call fcn.0041b4d4
mov edx, dword [esi + 0x130]
lea ecx, [esp + 0x10]
mov eax, dword [edx + 0x18]
push eax
push 0x47d2d4
push ecx
call fcn.004340ef
lea eax, [esi + 0x34]
add esp, 0xc
test eax, eax
je 0x407113
mov edi, ebp
test edi, edi
jne 0x407119
xor eax, eax
jmp 0x407120
xor edi, edi
xor eax, eax
jmp 0x407120
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push eax
call fcn.0041b4d4
mov ecx, dword [esi + 0x130]
fld qword [0x467a88]
fdiv qword [ecx + 0x20]
lea ecx, [esp + 0x10]
fstp qword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push edx
push eax
push str._7.3f
push ecx
call fcn.004340ef
lea eax, [esi + 0x34]
add esp, 0x10
test eax, eax
je 0x407177
mov edi, ebp
test edi, edi
jne 0x40717d
xor eax, eax
jmp 0x407184
xor edi, edi
xor eax, eax
jmp 0x407184
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push eax
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, ebp
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov ecx, dword [esi + 0x130]
inc ebx
add ecx, 0x38
mov dword [esi + 0x130], ecx
mov eax, dword [esi + 0xb8]
cmp ebx, eax
jl 0x406fbc
lea eax, [esi + 0x34]
test eax, eax
je 0x4071da
lea edi, [esi + 0x40]
jmp 0x4071dc
xor edi, edi
test edi, edi
jne 0x4071e4
xor eax, eax
jmp 0x4071eb
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x4071fe
xor eax, eax
jmp 0x407205
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x407229
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
push 0x4051e0
push 0xa
mov ecx, edi
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov ecx, dword [esi + 0x140]
cmp dword [ecx + 0x14], 1
jne 0x4078c2
lea ebx, [esi + 0x34]
test ebx, ebx
je 0x40727a
lea edi, [esi + 0x40]
jmp 0x40727c
xor edi, edi
test edi, edi
jne 0x407284
xor eax, eax
jmp 0x40728b
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x3c
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d250
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x4072c0
lea edi, [esi + 0x40]
jmp 0x4072c2
xor edi, edi
test edi, edi
jne 0x4072ca
xor eax, eax
jmp 0x4072d1
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x4072e4
xor eax, eax
jmp 0x4072eb
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40730f
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x407338
lea edi, [esi + 0x40]
jmp 0x40733a
xor edi, edi
test edi, edi
jne 0x407342
xor eax, eax
jmp 0x407349
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.BusName
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x40736d
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d244
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x407391
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d240
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4073b5
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.PLmax
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4073d9
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.PLmin
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4073fd
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d22c
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x407421
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x47d228
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x407445
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.QLmax
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x407469
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push str.QLmin
call fcn.0041b4d4
push 0x4051e0
push 0xa
mov ecx, eax
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
test ebx, ebx
je 0x40749e
lea edi, [esi + 0x40]
jmp 0x4074a0
xor edi, edi
test edi, edi
jne 0x4074a8
xor eax, eax
jmp 0x4074af
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, edi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test edi, edi
jne 0x4074c2
xor eax, eax
jmp 0x4074c9
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, edi
push 0x480654
call fcn.0041b4d4
mov edi, eax
test edi, edi
je 0x4074ed
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, edi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov eax, dword [esi + 0x104]
xor ebx, ebx
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0xa8]
test eax, eax
jle 0x407832
lea ebp, [esi + 0x34]
test ebp, ebp
je 0x40753b
lea edi, [esi + 0x40]
test edi, edi
jne 0x407541
xor eax, eax
jmp 0x407548
xor edi, edi
xor eax, eax
jmp 0x407548
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xc
push eax
call fcn.00405240
mov edx, dword [esi + 0x108]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x88dd0]
mov ecx, dword [eax + ebx*8 + 4]
push ecx
mov edx, dword [eax + ebx*8]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x407591
lea edi, [esi + 0x40]
test edi, edi
jne 0x407597
xor eax, eax
jmp 0x40759e
xor edi, edi
xor eax, eax
jmp 0x40759e
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [eax + 0x28]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x4075e4
lea edi, [esi + 0x40]
test edi, edi
jne 0x4075ea
xor eax, eax
jmp 0x4075f1
xor edi, edi
xor eax, eax
jmp 0x4075f1
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [eax + 0x58]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x407637
lea edi, [esi + 0x40]
test edi, edi
jne 0x40763d
xor eax, eax
jmp 0x407644
xor edi, edi
xor eax, eax
jmp 0x407644
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + 0x64]
push ecx
mov edx, dword [eax + 0x60]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x40768a
lea edi, [esi + 0x40]
test edi, edi
jne 0x407690
xor eax, eax
jmp 0x407697
xor edi, edi
xor eax, eax
jmp 0x407697
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x88dd4]
mov ecx, dword [eax + ebx*8 + 4]
push ecx
mov edx, dword [eax + ebx*8]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x4076de
lea edi, [esi + 0x40]
test edi, edi
jne 0x4076e4
xor eax, eax
jmp 0x4076eb
xor edi, edi
xor eax, eax
jmp 0x4076eb
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [eax + 0x30]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x407731
lea edi, [esi + 0x40]
test edi, edi
jne 0x407737
xor eax, eax
jmp 0x40773e
xor edi, edi
xor eax, eax
jmp 0x40773e
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [eax + 0x48]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x407784
lea edi, [esi + 0x40]
test edi, edi
jne 0x40778a
xor eax, eax
jmp 0x407791
xor edi, edi
xor eax, eax
jmp 0x407791
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [eax + 0x50]
lea eax, [esp + 0x14]
push edx
push str._7.3f
push eax
call fcn.004340ef
add esp, 0x10
test ebp, ebp
je 0x4077d7
lea edi, [esi + 0x40]
test edi, edi
jne 0x4077dd
xor eax, eax
jmp 0x4077e4
xor edi, edi
xor eax, eax
jmp 0x4077e4
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add eax, edi
push 0xa
push eax
call fcn.00405240
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, edi
push edx
call fcn.0041b4d4
push 0x4051e0
push 0xa
lea ecx, [esi + 0x40]
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov ecx, dword [esi + 0x108]
inc ebx
add ecx, 0x80
mov dword [esi + 0x108], ecx
mov eax, dword [esi + 0xa8]
cmp ebx, eax
jl 0x407529
lea eax, [esi + 0x34]
test eax, eax
je 0x40783e
add esi, 0x40
jmp 0x407840
xor esi, esi
test esi, esi
jne 0x407848
xor eax, eax
jmp 0x40784f
mov eax, dword [esi]
mov eax, dword [eax + 4]
add eax, esi
push 0x2d
push eax
call fcn.004057a0
add esp, 8
test esi, esi
jne 0x407862
xor eax, eax
jmp 0x407869
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
add eax, esi
push 0x5f
push eax
call fcn.00405240
add esp, 8
mov ecx, esi
push 0x480654
call fcn.0041b4d4
mov esi, eax
test esi, esi
je 0x40788d
mov edx, dword [esi]
mov eax, dword [edx + 4]
add eax, esi
push 0x20
push eax
call fcn.004057a0
add esp, 8
mov ecx, esi
push 0x4051e0
push 0xa
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
push 0x4051e0
push 0xa
mov ecx, esi
call fcn.0041b312
mov ecx, eax
call fcn.004051c0
mov eax, dword [esp + 0x24]
push eax
call fcn.0043678b
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0043678b
add esp, 8
lea ecx, [esp + 0x10]
mov dword [esp + 0x48], 0xffffffff
call fcn.0043a63f
mov ecx, dword [esp + 0x40]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret