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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x748
push ebx
push ebp
push esi
lea eax, [esp + 0x154]
push edi
lea ecx, [esp + 0x40]
push eax
xor ebx, ebx
push ecx
push str._nSelect_bend_path:
mov dword [esp + 0x60], ebx
mov dword [esp + 0x7c], 8
mov dword [esp + 0x34], ebx
call fcn.0042f710
add esp, 0xc
cmp eax, 0x13ec
jne 0x40ce76
lea edx, [esp + 0x40]
push edx
call fcn.0041a8b0
add esp, 4
cmp eax, 9
je 0x40b45b
push 0x3e7
push 0x44cb40
push 0x12
push ebx
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x44cb40
lea eax, [esp + 0x340]
push str._n_s_
push eax
call fcn.0043465f
lea ecx, [esp + 0x348]
push ecx
call fcn.00430d30
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [esp + 0x40]
push edx
call fcn.0042f4f0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x40ce76
push 1
lea eax, [esp + 0x70]
push esi
push eax
call fcn.004192c0
push 0xa
lea ecx, [esp + 0x84]
push esi
push ecx
call fcn.004191b0
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [0x44ad60], edx
mov edx, dword [esp + 0x98]
mov dword [0x44ad64], eax
mov eax, dword [esp + 0x9c]
mov dword [0x44ad68], ecx
mov ecx, dword [esp + 0xa0]
push esi
mov dword [0x44ad6c], edx
mov dword [0x44ad70], eax
mov dword [0x44ad74], ecx
call fcn.0042dd90
mov edx, dword [esp + 0x88]
or ebp, 0xffffffff
mov edi, edx
mov ecx, ebp
xor eax, eax
lea esi, [esp + 0x2f4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0xb0], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0xb0]
push edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004347d9
mov eax, dword [0x44c530]
add esp, 0x20
cmp eax, ebx
jne 0x40b547
cmp dword [0x44c534], ebx
jne 0x40b547
push 0x44c530
push ebx
push ebx
call fcn.004305d0
add esp, 0xc
jmp 0x40b554
push 0x44c530
call fcn.0041ae30
add esp, 4
lea ecx, [esp + 0x2d8]
push 0x44c530
push ecx
call fcn.004186e0
lea edx, [esp + 0x60]
push edx
push ebx
push ebx
call fcn.004305d0
add esp, 0x14
cmp eax, 0x13ec
je 0x40b5b8
push 0x3e7
push 0x44cb40
push 0xb
push ebx
call dword [sym.imp.USER32.dll_LoadStringA]
mov eax, dword [esp + 0x6c]
push 0x44cb40
push 0x442100
push eax
call fcn.0043465f
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00431870
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00404e90
call fcn.0041dd60
lea edx, [esp + 0x17c]
push edx
push str.OSMODE
call fcn.0041dc80
lea eax, [esp + 0x150]
mov dword [esp + 0x150], ebx
push eax
push str.OSMODE
call fcn.0041db10
lea ecx, [esp + 0x250]
mov dword [0x4494f0], 1
push ecx
push 0x442044
push str.CMDECHO
mov dword [esp + 0x110], ebx
call fcn.0041da60
fld qword [esp + 0x98]
fsub qword [0x440298]
add esp, 0x1c
lea edx, [esp + 0xb8]
push ebx
push ebx
sub esp, 8
fstp qword [esp]
fld qword [esp + 0x84]
fsub qword [0x440290]
sub esp, 8
fstp qword [esp]
push edx
call fcn.0041c290
fld qword [esp + 0x98]
fadd qword [0x440298]
add esp, 0x1c
lea eax, [esp + 0xd0]
push ebx
push ebx
sub esp, 8
fstp qword [esp]
fld qword [esp + 0x84]
fadd qword [0x440288]
sub esp, 8
fstp qword [esp]
push eax
call fcn.0041c290
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
fld qword [esp + 0x90]
fsub qword [0x440280]
add esp, 0x1c
lea eax, [esp + 0x200]
push ebx
push ebx
push ecx
push edx
sub esp, 8
fstp qword [esp]
push eax
call fcn.0041c290
lea ecx, [esp + 0xec]
push ebx
push ecx
lea edx, [esp + 0xdc]
push 0x138a
push edx
push 0x138a
push str..ZOOM
push 0x138d
call fcn.00430d70
push ebx
push 0x449548
push 0x138d
push 0x449548
push 0x138d
push 0x449548
lea eax, [esp + 0xc4]
push 0x138d
push eax
push 0x138a
push str.IN_BEND
push 0x138d
push str..INSERT
push 0x138d
call fcn.00430d70
add esp, 0x6c
lea ecx, [esp + 0x74]
push ebx
push 0x449548
push 0x138d
push 0x449548
push 0x138d
push 0x449548
push 0x138d
push ecx
push 0x138a
push str.OUT_BEND
push 0x138d
push str..INSERT
push 0x138d
call fcn.00430d70
lea edx, [esp + 0xc0]
push edx
call fcn.0042f630
lea eax, [esp + 0x60]
push eax
push 0x44c530
call fcn.004304d0
mov eax, dword [esp + 0x68]
add esp, 0x40
cmp eax, ebx
mov dword [0x4492e0], ebx
mov dword [0x4494fc], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [0x4494f4], ebx
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [0x44c544], ebx
mov dword [esp + 0x2c], ebx
jle 0x40ce36
mov esi, ebx
jmp 0x40b817
xor ebx, ebx
or ebp, 0xffffffff
call fcn.0042dee0
test eax, eax
jne 0x40ce02
cmp esi, 2
jge 0x40b82f
mov dword [0x44c540], ebp
lea ecx, [esp + 0x40]
mov dword [esp + 0xa0], 0
push ecx
push esi
push 0x44c530
mov dword [esp + 0xb0], 0
mov dword [0x442038], ebp
call fcn.00430540
lea edx, [esp + 0x190]
lea eax, [esp + 0xdc]
push edx
lea ecx, [esp + 0xc8]
push eax
lea edx, [esp + 0x24c]
push ecx
lea eax, [esp + 0x198]
push edx
lea ecx, [esp + 0x70]
push eax
push ecx
lea edx, [esp + 0x64]
push 0x44ad60
push edx
call fcn.00419ec0
add esp, 0x2c
cmp eax, 0x13ec
jne 0x40cdeb
lea eax, [esp + 0x40]
push eax
call fcn.0041a8b0
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d8]
mov edi, eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x15c], ecx
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0x160], edx
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x16c], edx
mov edx, dword [esp + 0x1f0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x1f8]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x1fc]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x14c], edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
je 0x40b963
mov dword [0x442038], 1
lea ecx, [esp + 0x40]
push ecx
call fcn.00401000
add esp, 4
mov esi, eax
cmp edi, 1
mov dword [esp + 0x94], esi
mov dword [0x44c5a4], ebx
je 0x40c7b9
mov esi, 1
cmp edi, esi
jle 0x40cd21
cmp edi, 3
jg 0x40cd21
push 2
lea edx, [esp + 0x264]
push ebx
push edx
push 0x3e8
lea eax, [esp + 0x50]
push str.DUMMY
push eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
call fcn.0041ad80
add esp, 0x18
test eax, eax
je 0x40ba17
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x110]
push ecx
lea eax, [esp + 0x11c]
push edx
lea ecx, [esp + 0x130]
push eax
lea edx, [esp + 0x144]
push ecx
push edx
lea eax, [esp + 0x274]
push str._lf__lf__lf__lf__lf
push eax
call fcn.004343c9
add esp, 0x1c
fld qword [esp + 0x30]
fcom qword [esp + 0x38]
fnstsw ax
test ah, 1
je 0x40ba3b
fadd qword [0x440248]
fcom qword [esp + 0x38]
fnstsw ax
test ah, 1
jne 0x40ba26
fst qword [esp + 0x30]
mov eax, dword [esp + 0x54]
fld qword [esp + 0xa8]
fdiv qword [esp + 0x60]
cmp eax, ebx
je 0x40ba58
fsubr qword [esp + 0x38]
fstp qword [esp + 0x38]
jmp 0x40ba5e
faddp st(1)
fst qword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
dec ecx
cmp edx, ecx
jne 0x40ba71
mov dword [0x4494f4], esi
cmp eax, ebx
mov dword [0x442038], ebp
je 0x40baa9
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
fstp qword [esp + 0x38]
mov dword [esp + 0x150], edx
mov ecx, edx
mov edx, eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [0x442038], esi
jmp 0x40baab
fstp st(0)
cmp edi, 2
jne 0x40bada
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], 0x544486e0
mov dword [esp + 0x34], 0x401921fb
mov dword [0x442038], ebp
mov dword [esp + 0x54], ebx
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x1d0]
push eax
push esi
push edi
push ebp
push ebx
push ecx
call fcn.00432cb0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0xd0]
push edx
push esi
push edi
push eax
lea edx, [esp + 0x1f8]
push ecx
push edx
call fcn.00432cb0
push ebp
push ebx
call fcn.0041c920
mov eax, dword [0x442038]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push ecx
lea eax, [eax + eax*4]
push edx
lea eax, [eax + eax*8]
shl eax, 1
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
fsubp st(1)
fstp qword [esp + 0xd8]
call fcn.0041c920
mov eax, dword [0x442038]
add esp, 0x40
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
shl eax, 1
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubp st(1)
fcom qword [0x440218]
fnstsw ax
test ah, 0x41
jne 0x40bb92
fsub qword [0x440218]
fcom qword [0x440218]
fnstsw ax
test ah, 0x41
je 0x40bb7f
fld qword [esp + 0x98]
fcom qword [0x440218]
fnstsw ax
test ah, 0x41
jne 0x40bc9a
fsub qword [0x440218]
fcom qword [0x440218]
fnstsw ax
test ah, 0x41
je 0x40bbaa
fstp qword [esp + 0x98]
fsubr qword [esp + 0xe8]
fcom qword [0x440220]
fst qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x40bbf3
fadd qword [0x440218]
fcom qword [0x440220]
fnstsw ax
test ah, 1
jne 0x40bbdc
fst qword [esp + 0x18]
fcom qword [0x440230]
fnstsw ax
test ah, 0x41
jne 0x40bc17
fsub qword [0x440218]
fcom qword [0x440230]
fnstsw ax
test ah, 0x41
je 0x40bc00
fst qword [esp + 0x18]
movsx ecx, word [0x44a8a0]
fld st(0)
fabs
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fcompp
fnstsw ax
test ah, 0x41
je 0x40bc3c
mov eax, dword [0x4494fc]
test eax, eax
jne 0x40bc48
fstp st(0)
fld qword [0x4401d0]
fst qword [esp + 0x18]
fstp qword [esp + 0x108]
lea edx, [esp + 0x40]
push edx
call fcn.00401070
mov ebp, eax
mov eax, dword [0x442038]
mov ebx, 1
add esp, 4
cmp eax, ebx
jne 0x40bca1
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x100], eax
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], edx
jmp 0x40bccd
fstp st(0)
jmp 0x40bbc4
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x100], edx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], ecx
mov edx, dword [esp + 0x104]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xfc]
push edx
mov edx, dword [esp + 0xfc]
push eax
push ecx
push edx
push esi
push edi
call fcn.00416670
fstp qword [esp + 0x38]
add esp, 0x18
cmp word [0x44c662], 0
je 0x40bda2
fld qword [esp + 0x38]
fsub qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
call fcn.0041c920
fabs
fmul qword [0x44c634]
add esp, 8
cmp word [0x44c662], 0
fmul qword [0x440260]
fsubr qword [esp + 0x20]
fstp qword [esp + 0x20]
je 0x40bda2
mov eax, dword [0x4494fc]
test eax, eax
je 0x40bda2
movsx eax, word [0x44a8a2]
fld qword [esp + 0x18]
fabs
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp qword [esp + 0x10]
fcom qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x40bd8a
fstp st(0)
fld qword [esp + 0x10]
fabs
fmul qword [0x44c5f4]
fmul qword [0x440268]
fsubr qword [esp + 0x20]
fstp qword [esp + 0x20]
jmp 0x40bda2
fld qword [0x44c5f4]
fmul st(1)
fmul qword [0x440268]
fsubr qword [esp + 0x20]
fstp qword [esp + 0x20]
fstp st(0)
mov eax, dword [0x44c5c8]
test eax, eax
jne 0x40bdcf
mov eax, dword [esp + 0x94]
test eax, eax
je 0x40bdcf
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x40bdcf
fld qword [esp + 0x18]
fmul qword [0x4401c0]
fstp qword [esp + 0x18]
fld qword [0x44c5ec]
fcomp qword [0x4401d0]
mov dword [0x44c598], 0
mov dword [0x44c59c], 0x3ff00000
fnstsw ax
test ah, 0x40
je 0x40be0a
mov dword [0x44c5ec], 0
mov dword [0x44c5f0], 0x3ff00000
fld qword [esp + 0x60]
fcomp qword [0x44c604]
fnstsw ax
test ah, 0x41
je 0x40be35
mov ecx, dword [0x44c614]
mov edx, dword [0x44c618]
mov dword [0x44c5ec], ecx
mov dword [0x44c5f0], edx
jmp 0x40be5c
fld qword [esp + 0x60]
fcomp qword [0x44c60c]
fnstsw ax
test ah, 0x41
jne 0x40be5c
mov eax, dword [0x44c61c]
mov ecx, dword [0x44c620]
mov dword [0x44c5ec], eax
mov dword [0x44c5f0], ecx
push 2
lea edx, [esp + 0x264]
push 0
push edx
push 0x3e8
lea eax, [esp + 0x50]
push str.DUMMY
push eax
call fcn.0041ad80
add esp, 0x18
test eax, eax
je 0x40bf4f
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x110]
push ecx
lea eax, [esp + 0x11c]
push edx
lea ecx, [esp + 0x130]
push eax
lea edx, [esp + 0x144]
push ecx
push edx
lea eax, [esp + 0x274]
push str._lf__lf__lf__lf__lf
push eax
call fcn.004343c9
fld qword [esp + 0x144]
fadd qword [esp + 0x3c]
add esp, 0x1c
mov dword [esp + 0x10], 0xffffffff
fstp qword [esp + 0x20]
fld qword [esp + 0x18]
fcomp qword [0x4401d0]
fnstsw ax
test ah, 1
jne 0x40bef0
mov dword [esp + 0x10], ebx
fild dword [esp + 0x10]
mov ecx, dword [0x44c5ec]
mov edx, dword [0x44c5f0]
mov eax, dword [esp + 0x118]
mov dword [esp + 0x170], ecx
fmul qword [esp + 0x138]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x110]
mov dword [0x44c5ec], eax
fadd qword [esp + 0x18]
mov eax, dword [esp + 0x114]
mov dword [0x44c5f0], ecx
mov dword [0x44c598], edx
mov dword [0x44c59c], eax
fstp qword [esp + 0x18]
mov ecx, dword [0x4494fc]
test ecx, ecx
jne 0x40bf6d
cmp dword [esp + 0x28], ebx
jle 0x40bf6d
fld qword [esp + 0x20]
fsub qword [0x44a924]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fcomp qword [0x44c5fc]
fnstsw ax
test ah, 0x41
jne 0x40cdeb
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
test ebp, ebp
je 0x40c083
test ecx, ecx
je 0x40c083
fld qword [esp + 0x18]
fabs
fcomp qword [0x4401d0]
fnstsw ax
test ah, 0x41
jne 0x40c083
fld qword [esp + 0x18]
fcomp qword [0x4401d0]
fnstsw ax
test ah, 0x40
jne 0x40c083
push 0
push esi
push edi
lea ecx, [esp + 0x80]
push 0x1389
push ecx
push 0x138a
push 0x449548
lea edx, [esp + 0x74]
push 0x138d
push edx
push 0x138f
push str..ROTATE
push 0x138d
call fcn.00430d70
push 0x4c
push esi
push edi
call fcn.0040dbf0
fstp qword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
push 0
push eax
push ecx
lea edx, [esp + 0x248]
push 0x1389
push edx
push 0x138a
push 0x449548
lea eax, [esp + 0xe4]
push 0x138d
push eax
push 0x138e
push str..ROTATE
push 0x138d
call fcn.00430d70
add esp, 0x6c
push str._rPress_any_key_to_continue_...
call fcn.00430d30
lea ecx, [esp + 0x21c]
lea edx, [esp + 0x74]
push ecx
push edx
push 0
call fcn.00431e10
add esp, 0x10
cmp eax, 0xffffec76
jne 0x40c083
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov al, byte [0x44c65e]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x120], ecx
test al, 1
mov dword [esp + 0x124], edx
je 0x40c1f7
cmp word [0x44a886], 0
je 0x40c1f7
mov ecx, dword [0x44ad44]
test ecx, ecx
je 0x40c1d2
fld qword [0x44a8cc]
fabs
fadd qword [esp + 0x130]
fld qword [ecx]
fabs
fsubrp st(1)
fst qword [esp + 0xb0]
fld qword [esp + 0xb0]
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 0x41
je 0x40c1d0
fld qword [ecx]
fabs
fstp qword [esp + 0x10]
fld qword [ecx + 8]
fcomp qword [0x44a8d4]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], edx
fnstsw ax
test ah, 1
je 0x40c132
fadd qword [esp + 0xa0]
fstp qword [esp + 0xa0]
jmp 0x40c170
fld qword [ecx + 8]
fmul qword [0x4401c0]
fld qword [0x44a8d4]
fmul qword [0x4401c0]
fld st(1)
fadd qword [esp + 0x10]
fsub st(1)
fstp qword [esp + 0x140]
fxch st(2)
fadd st(1)
fsub st(2)
fadd qword [esp + 0xa0]
fstp qword [esp + 0xa0]
fxch st(1)
fstp st(0)
fstp st(0)
fld qword [ecx]
fcomp qword [0x4401d0]
fnstsw ax
test ah, 1
je 0x40c195
mov eax, dword [0x4492e0]
test eax, eax
je 0x40c195
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ecx + 0x12]
push ecx
mov dword [0x44ad44], eax
call fcn.004347d9
mov ecx, dword [0x44ad44]
add esp, 4
test ecx, ecx
je 0x40c1d2
fld qword [ecx]
fabs
fsub qword [esp + 0x140]
fld st(0)
fadd qword [esp + 0xb0]
fst qword [esp + 0xb0]
jmp 0x40c0e5
fstp st(0)
fld qword [esp + 0x20]
fadd qword [esp + 0x130]
test ebp, ebp
fstp qword [esp + 0x130]
je 0x40c232
fld qword [esp + 0x20]
fsub qword [esp + 0xa0]
fstp qword [esp + 0x20]
test ebp, ebp
je 0x40c232
fld qword [esp + 0x20]
fadd qword [esp + 0xa0]
movsx eax, word [0x44a88a]
fadd qword [esp + 0x48]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [0x449510], ecx
fild dword [esp + 0x10]
mov dword [0x449514], edx
jmp 0x40c353
mov eax, dword [0x4494fc]
test eax, eax
je 0x40c328
fld qword [esp + 0x18]
fabs
fcomp qword [0x4401d0]
fnstsw ax
test ah, 0x41
jne 0x40c328
fld qword [esp + 0x18]
fcomp qword [0x4401d0]
fnstsw ax
test ah, 0x40
jne 0x40c328
push 0
push esi
push edi
lea ecx, [esp + 0x80]
push 0x1389
push ecx
push 0x138a
push 0x449548
lea edx, [esp + 0x74]
push 0x138d
push edx
push 0x138f
push str..ROTATE
push 0x138d
call fcn.00430d70
push 0x4c
push esi
push edi
call fcn.0040dbf0
fstp qword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
push 0
push eax
push ecx
lea edx, [esp + 0x248]
push 0x1389
push edx
push 0x138a
push 0x449548
lea eax, [esp + 0xe4]
push 0x138d
push eax
push 0x138e
push str..ROTATE
push 0x138d
call fcn.00430d70
add esp, 0x6c
push str._rPress_any_key_to_continue_...
call fcn.00430d30
lea ecx, [esp + 0x21c]
lea edx, [esp + 0x74]
push ecx
push edx
push 0
call fcn.00431e10
add esp, 0x10
cmp eax, 0xffffec76
jne 0x40c328
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
movsx eax, word [0x44a88a]
fld qword [esp + 0x20]
fadd qword [esp + 0x48]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [0x449510], ecx
fild dword [esp + 0x10]
mov dword [0x449514], edx
call fcn.00434c7a
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x170]
fstp qword [esp + 0x48]
neg eax
sbb eax, eax
mov edx, dword [esp + 0x174]
and al, 0xfe
push 0
inc eax
push 0
mov dword [esp + 0x18], eax
sub esp, 8
fild dword [esp + 0x20]
mov dword [0x44c5ec], ecx
mov ecx, dword [esp + 0x88]
mov dword [0x44c5f0], edx
mov edx, dword [esp + 0x84]
fmul qword [0x44c598]
lea eax, [esp + 0x168]
fmul qword [esp + 0x70]
fadd qword [esp + 0x8c]
fstp qword [esp]
push ecx
push edx
push eax
call fcn.0041c290
fld qword [esp + 0x13c]
movsx ecx, word [0x44a88a]
fadd qword [esp + 0xbc]
mov dword [esp + 0x2c], ecx
add esp, 0x1c
fadd qword [esp + 0x48]
fild dword [esp + 0x10]
call fcn.00434c7a
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
fstp qword [esp + 0x48]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x54]
test eax, eax
mov dword [esp + 0x20], edx
je 0x40c5a8
fld qword [esp + 0x38]
fsub qword [esp + 0x30]
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x158]
push ecx
sub esp, 8
fstp qword [esp + 0x24]
fld qword [0x44c598]
fmul qword [esp + 0x6c]
sub esp, 8
fstp qword [esp + 8]
fld qword [esp + 0x2c]
fdiv qword [0x44c598]
fsubr qword [0x440240]
fstp qword [esp]
push edx
call fcn.00432cb0
mov eax, dword [0x4494fc]
add esp, 0x18
test eax, eax
je 0x40c4ba
fld qword [esp + 0x30]
fsub qword [esp + 0x38]
push 0
sub esp, 8
fstp qword [esp]
call fcn.0041c920
fdiv qword [0x44c598]
lea eax, [esp + 0x80]
lea ecx, [esp + 0x64]
fstp qword [esp]
push 0x1389
push eax
push 0x138a
push 0x449548
push 0x138d
push ecx
push 0x138f
push str..ROTATE
push 0x138d
call fcn.00430d70
add esp, 0x30
lea edx, [esp + 0x8c]
push edx
call fcn.0042f610
push 0
push 0x449548
push 0x138d
push 0x449548
push 0x138d
push 0x449548
lea eax, [esp + 0x90]
push 0x138d
push eax
push 0x138a
push str.OUT_BEND
push 0x138d
push str..INSERT
push 0x138d
call fcn.00430d70
lea ecx, [esp + 0xc4]
push ecx
call fcn.0042f630
mov eax, dword [0x4494fc]
add esp, 0x3c
test eax, eax
je 0x40c565
lea edx, [esp + 0xb8]
push 0
push edx
lea eax, [esp + 0x7c]
push 0x138a
push eax
push 0x138a
push 0x449548
lea ecx, [esp + 0x70]
push 0x138d
push ecx
push 0x138f
push str..MOVE
push 0x138d
call fcn.00430d70
add esp, 0x2c
fld qword [esp + 0x18]
fdiv qword [0x44c598]
push 0x442044
push 0x3ff921fb
push 0x54442d18
lea edx, [esp + 0x164]
sub esp, 8
sub esp, 8
fsubr qword [0x440240]
fstp qword [esp + 8]
fld qword [0x44c598]
fmul qword [esp + 0x7c]
fstp qword [esp]
push edx
jmp 0x40c736
fld qword [esp + 0x30]
fsub qword [esp + 0x38]
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x158]
push eax
sub esp, 8
fstp qword [esp + 0x24]
fld qword [0x44c598]
fmul qword [esp + 0x6c]
sub esp, 8
fstp qword [esp + 8]
fld qword [esp + 0x2c]
fdiv qword [0x44c598]
fsub qword [0x440240]
fstp qword [esp]
push ecx
call fcn.00432cb0
mov eax, dword [0x4494fc]
add esp, 0x18
test eax, eax
je 0x40c64e
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push 0
push edx
push eax
call fcn.0041c920
fdiv qword [0x44c598]
lea ecx, [esp + 0x80]
lea edx, [esp + 0x64]
fstp qword [esp]
push 0x1389
push ecx
push 0x138a
push 0x449548
push 0x138d
push edx
push 0x138f
push str..ROTATE
push 0x138d
call fcn.00430d70
add esp, 0x30
lea eax, [esp + 0x8c]
push eax
call fcn.0042f610
push 0
push 0x449548
push 0x138d
push 0x449548
push 0x138d
push 0x449548
lea ecx, [esp + 0x90]
push 0x138d
push ecx
push 0x138a
push str.OUT_BEND
push 0x138d
push str..INSERT
push 0x138d
call fcn.00430d70
lea edx, [esp + 0xc4]
push edx
call fcn.0042f630
mov eax, dword [0x4494fc]
add esp, 0x3c
test eax, eax
je 0x40c6f9
lea eax, [esp + 0xb8]
push 0
push eax
lea ecx, [esp + 0x7c]
push 0x138a
push ecx
push 0x138a
push 0x449548
lea edx, [esp + 0x70]
push 0x138d
push edx
push 0x138f
push str..MOVE
push 0x138d
call fcn.00430d70
add esp, 0x2c
fld qword [esp + 0x18]
fdiv qword [0x44c598]
push 0x442044
lea eax, [esp + 0x15c]
sub esp, 8
fsub qword [0x440240]
fstp qword [esp]
fld qword [0x44c598]
fmul qword [esp + 0x6c]
push 0xbff921fb
push 0x54442d18
sub esp, 8
fstp qword [esp]
push eax
call fcn.0041baa0
push str._rPress_any_key_to_continue_...
call fcn.00430d30
add esp, 0x24
lea ecx, [esp + 0x40]
push ecx
call fcn.0042f630
lea edx, [esp + 0x44]
push 1
push edx
call fcn.00419080
lea eax, [esp + 0x64]
lea ecx, [esp + 0x64]
push eax
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.004305d0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
add eax, 2
add esp, 0x18
cmp eax, ecx
jge 0x40cd21
push str._rPress_any_key_to_continue_...
call fcn.00430d30
lea ecx, [esp + 0x21c]
lea edx, [esp + 0x74]
push ecx
push edx
push 0
call fcn.00431e10
add esp, 0x10
cmp eax, 0xffffec76
jne 0x40cd21
jmp 0x40cd19
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x1bc]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0x1c8]
cmp eax, ebx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], edx
je 0x40c881
lea ecx, [esp + 0xd0]
lea edx, [esp + 0xb8]
push ecx
push edx
call fcn.00419530
add esp, 8
lea eax, [esp + 0xb8]
lea ecx, [esp + 0xd0]
push eax
push ecx
call fcn.00432c10
fstp qword [esp]
call fcn.0041c920
fstp qword [esp + 0xa0]
fld qword [esp + 0xf0]
fsub qword [esp + 0xa0]
add esp, 8
fcom qword [0x440220]
fst qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x40c8de
fadd qword [0x440218]
fcom qword [0x440220]
fnstsw ax
test ah, 1
jne 0x40c8c7
fst qword [esp + 0x18]
fcom qword [0x440230]
fnstsw ax
test ah, 0x41
jne 0x40c902
fsub qword [0x440218]
fcom qword [0x440230]
fnstsw ax
test ah, 0x41
je 0x40c8eb
fst qword [esp + 0x18]
cmp dword [0x44c5c8], ebx
jne 0x40c923
cmp esi, ebx
je 0x40c923
cmp dword [esp + 0xb0], ebx
je 0x40c923
fmul qword [0x4401c0]
fstp qword [esp + 0x18]
jmp 0x40c925
fstp st(0)
lea edx, [esp + 0xd0]
lea eax, [esp + 0xb8]
push edx
push eax
call fcn.00432c80
fstp qword [esp + 0x28]
add esp, 8
cmp word [0x44c662], bx
je 0x40c9ac
cmp dword [0x4494fc], ebx
je 0x40c9ac
movsx ecx, word [0x44a8a2]
fld qword [esp + 0x18]
fabs
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp qword [esp + 0x10]
fcom qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x40c994
fstp st(0)
fld qword [esp + 0x10]
fabs
fmul qword [0x44c5f4]
fmul qword [0x440268]
fsubr qword [esp + 0x20]
fstp qword [esp + 0x20]
jmp 0x40c9ac
fld qword [0x44c5f4]
fmul st(1)
fmul qword [0x440268]
fsubr qword [esp + 0x20]
fstp qword [esp + 0x20]
fstp st(0)
push 2
lea edx, [esp + 0x264]
push ebx
push edx
push 0x3e8
lea eax, [esp + 0x50]
push str.DUMMY
push eax
call fcn.0041ad80
add esp, 0x18
test eax, eax
je 0x40ca59
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x110]
push ecx
lea eax, [esp + 0x11c]
push edx
lea ecx, [esp + 0x130]
push eax
lea edx, [esp + 0x144]
push ecx
push edx
lea eax, [esp + 0x274]
push str._lf__lf__lf__lf__lf
push eax
call fcn.004343c9
fld qword [esp + 0x144]
fadd qword [esp + 0xc4]
add esp, 0x1c
mov dword [esp + 0x10], ebp
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x18]
fcomp qword [0x4401d0]
fnstsw ax
test ah, 1
jne 0x40ca46
mov dword [esp + 0x10], 1
fild dword [esp + 0x10]
fmul qword [esp + 0x138]
fadd qword [esp + 0x18]
fstp qword [esp + 0x18]
fld qword [esp + 0x20]
fcomp qword [0x44c5fc]
fnstsw ax
test ah, 0x41
jne 0x40cdeb
movsx ecx, word [0x44a8a0]
fld qword [esp + 0x18]
fabs
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [0x4494fc]
je 0x40ca95
cmp eax, ebx
jne 0x40caa5
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, ebx
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], ecx
je 0x40cb96
fld qword [esp + 0x18]
fcomp qword [0x4401d0]
fnstsw ax
test ah, 0x40
jne 0x40cb96
mov esi, ecx
push ebx
mov edi, edx
push esi
push edi
lea edx, [esp + 0x80]
push 0x1389
push edx
push 0x138a
push 0x449548
lea eax, [esp + 0x74]
push 0x138d
push eax
push 0x138f
push str..ROTATE
push 0x138d
call fcn.00430d70
push 0x4c
push esi
push edi
call fcn.0040dbf0
fstp qword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
push ebx
push ecx
push edx
lea eax, [esp + 0x248]
push 0x1389
push eax
push 0x138a
push 0x449548
lea ecx, [esp + 0xe4]
push 0x138d
push ecx
push 0x138e
push str..ROTATE
push 0x138d
call fcn.00430d70
add esp, 0x6c
push str._rPress_any_key_to_continue_...
call fcn.00430d30
lea edx, [esp + 0x21c]
lea eax, [esp + 0x74]
push edx
push eax
push ebx
call fcn.00431e10
add esp, 0x10
cmp eax, 0xffffec76
jne 0x40cb96
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x80]
fld qword [esp + 0x20]
fadd qword [esp + 0x74]
mov eax, dword [esp + 0x4c]
mov dword [0x449510], edx
mov edx, dword [esp + 0x7c]
push ebx
push ebx
push ecx
push edx
mov dword [0x449514], eax
sub esp, 8
lea eax, [esp + 0xd0]
fstp qword [esp]
push eax
call fcn.0041c290
lea ecx, [esp + 0xa8]
push ecx
call fcn.0042f610
push ebx
push 0x449548
push 0x138d
push 0x449548
push 0x138d
push 0x449548
lea edx, [esp + 0xac]
push 0x138d
push edx
push 0x138a
push str.OUT_BEND
push 0x138d
push str..INSERT
push 0x138d
call fcn.00430d70
add esp, 0x54
lea eax, [esp + 0x8c]
push eax
call fcn.0042f630
mov eax, dword [0x4494fc]
add esp, 4
cmp eax, ebx
je 0x40cc7f
lea ecx, [esp + 0xb8]
push ebx
push ecx
lea edx, [esp + 0x7c]
push 0x138a
push edx
push 0x138a
push 0x449548
lea eax, [esp + 0x70]
push 0x138d
push eax
push 0x138f
push str..MOVE
push 0x138d
call fcn.00430d70
add esp, 0x2c
movsx ecx, word [0x44a88a]
fld qword [esp + 0x20]
fadd qword [esp + 0x48]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
call fcn.00434c7a
fstp qword [esp + 0x48]
lea edx, [esp + 0xb8]
push 0x449548
lea eax, [esp + 0x78]
push edx
push eax
call fcn.0041bc00
lea ecx, [esp + 0x4c]
push ecx
call fcn.0042f630
lea edx, [esp + 0x50]
push 1
push edx
call fcn.00419080
lea eax, [esp + 0x70]
lea ecx, [esp + 0x70]
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.004305d0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
add eax, 2
add esp, 0x24
cmp eax, ecx
jge 0x40cd21
push str._rPress_any_key_to_continue_...
call fcn.00430d30
lea ecx, [esp + 0x21c]
lea edx, [esp + 0x74]
push ecx
push edx
push ebx
call fcn.00431e10
add esp, 0x10
cmp eax, 0xffffec76
jne 0x40cd21
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
mov dword [0x44c540], ecx
mov ecx, dword [esp + 0x20]
mov dword [0x44c554], eax
mov eax, dword [esp + 0x94]
mov dword [0x44c548], ecx
mov ecx, dword [esp + 0xf4]
mov dword [0x44c550], edx
mov edx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xd0]
mov dword [0x44c54c], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x98]
mov dword [0x44ad60], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0xd8]
mov dword [0x44ad6c], eax
mov eax, dword [0x4494fc]
mov dword [0x44ad64], ecx
mov ecx, dword [esp + 0xe0]
mov dword [0x44ad68], edx
mov edx, dword [esp + 0xe4]
inc eax
mov dword [0x44ad70], ecx
mov dword [0x44ad74], edx
mov dword [0x4494fc], eax
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
inc esi
cmp esi, eax
mov dword [esp + 0x2c], esi
jl 0x40b812
jmp 0x40ce36
push 0x3e7
push 0x44cb40
push 0x13
push ebx
call dword [sym.imp.USER32.dll_LoadStringA]
mov eax, dword [esp + 0x6c]
push 0x44cb40
push str._n_s_
push eax
call fcn.0043465f
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00430d30
add esp, 0x10
lea edx, [esp + 0x58]
push edx
call fcn.0041c520
lea eax, [esp + 0x5c]
push eax
call fcn.00430490
lea ecx, [esp + 0x184]
push ecx
push str.OSMODE
call fcn.0041db10
lea edx, [esp + 0x250]
push edx
push str.CMDECHO
call fcn.0041daf0
add esp, 0x18
call fcn.0041ddc0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret