Function at 0x4147c0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4910f0
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ae680]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [esp + 0x2c]
xor ebp, ebp
push eax
mov dword [esp + 0x70], ebp
call fcn.00449e60
mov byte [esp + 0x6c], 1
call fcn.0045ded3
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x414818
push 0x80004005
call fcn.00407700
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x6c], 2
call fcn.0045ded3
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x414847
push 0x80004005
call fcn.00407700
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov bl, 3
mov byte [esp + 0x6c], bl
mov eax, dword [esp + 0x74]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov esi, esp
push eax
mov dword [esp + 0x24], ebp
call fcn.00407730
add eax, 0x10
add esp, 4
lea ecx, [esp + 0x30]
mov dword [esi], eax
call fcn.0044a800
lea ecx, [esp + 0x2c]
call fcn.0044a870
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiCarleaveclear1
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 4
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiCarmoveblow1
mov dword [eax + 0x110], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 5
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiCarleaveclear2
mov dword [eax + 0x12c], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 6
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiCarmoveblow2
mov dword [eax + 0x114], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 7
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
fldz
sub esp, 0xc
fstp qword [esp + 4]
mov ecx, esp
mov dword [esp + 0x24], esp
push str.fCarMoveAccDistance
mov dword [eax + 0x130], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 8
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
push ebp
push ecx
fstp dword [eax + 0x144]
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiCarMoveSpeed
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 9
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiCarCleanPos
mov dword [eax + 0x13c], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0xa
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
fldz
sub esp, 0xc
fstp qword [esp + 4]
mov ecx, esp
mov dword [esp + 0x24], esp
push str.uiCarbackclear
mov dword [eax + 0x140], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 0xb
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
push ebp
push ecx
fstp qword [eax + 0x120]
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto1moveout
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0xc
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto1movein
mov dword [eax + 0xe0], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0xd
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto1moveout2
mov dword [eax + 0xdc], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0xe
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto1movein2
mov dword [eax + 0xf8], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0xf
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto1AcceDistance
mov dword [eax + 0xf4], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto1SpeedMax
mov dword [eax + 0xe8], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x11
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiFlashMoto0Up
mov dword [eax + 0xe4], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x12
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto0movedown
mov dword [eax + 0xb4], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x13
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto0moveupblow
mov dword [eax + 0xc0], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x14
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto0moveup
mov dword [eax + 0xc8], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x15
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiNoclearmoveup
mov dword [eax + 0xc4], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x16
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto0AcceDistance
mov dword [eax + 0xcc], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x17
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMoto0SpeedMax
mov dword [eax + 0xd8], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x18
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
fld qword [0x49f700]
sub esp, 0xc
fstp qword [esp + 4]
mov ecx, esp
mov dword [esp + 0x24], esp
push str.dbXMotorGearRate
mov dword [eax + 0xd4], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 0x19
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
sub esp, 0xc
fstp qword [eax + 0x1e8]
mov ecx, esp
fld qword [0x49f6f8]
mov dword [esp + 0x24], esp
fstp qword [esp + 4]
push str.dbYMotorGearRate
call fcn.0040bf30
mov byte [esp + 0x78], 0x1a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
push 0x708
push ecx
fstp qword [eax + 0x220]
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiMaxDistanceOfXMove
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x1b
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
fld qword [0x49f6f0]
sub esp, 0xc
fstp qword [esp + 4]
mov ecx, esp
mov dword [esp + 0x24], esp
push str.fXMoveSpeed
mov dword [eax + 0x1f0], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 0x1c
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
sub esp, 0xc
fstp dword [eax + 0x234]
mov ecx, esp
fld qword [0x49f6e8]
mov dword [esp + 0x24], esp
fstp qword [esp + 4]
push str.fYMoveSpeed
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 0x1d
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
push ebp
fstp dword [eax + 0x238]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.byMachineType
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x1e
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov dword [esp + 0x14], eax
call fcn.0044c190
fld qword [0x49f6e0]
movzx ecx, byte [esp + 0x14]
sub esp, 0xc
mov byte [eax + 0x23c], cl
mov ecx, esp
fstp qword [esp + 4]
mov dword [esp + 0x24], esp
push str.dbXAcceDistance
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 0x1f
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
sub esp, 0xc
fstp dword [eax + 0x1f8]
mov ecx, esp
fld qword [0x49f6f0]
mov dword [esp + 0x24], esp
fstp qword [esp + 4]
push str.fXMoveSpeedWhenReady
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 0x20
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
sub esp, 0xc
fstp dword [eax + 0x1f4]
mov ecx, esp
fld qword [0x49f6d8]
mov dword [esp + 0x24], esp
fstp qword [esp + 4]
push str.fYMoveSpeedWhenReady
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 0x21
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
sub esp, 0xc
fstp dword [eax + 0x200]
mov ecx, esp
fld qword [0x49f6d0]
mov dword [esp + 0x24], esp
fstp qword [esp + 4]
push str.fMaxYAcceDistance
call fcn.0040bf30
push ecx
mov byte [esp + 0x7c], 0x22
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x80], bl
call fcn.0044a660
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.0044c190
fld dword [esp + 0x14]
push ebp
push ecx
fstp dword [eax + 0x230]
mov ecx, esp
mov dword [esp + 0x20], esp
push str.nDcEndLeveluiDcCarMoveSpeed
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x23
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.nDcStartLevel
mov dword [eax + 0x208], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x24
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov dword [eax + 0x20c], esi
mov ecx, esp
mov dword [esp + 0x20], esp
push str.nDcEndLevelLow
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x25
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.nDcEndLevelMid
mov dword [eax + 0x210], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x26
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.nDcFrequencyLow
mov dword [eax + 0x214], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x27
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.nDcFrequencyMid
mov dword [eax + 0x218], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x28
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
mov dword [eax + 0x21c], esi
push str.byStackType
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x29
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov dword [esp + 0x14], eax
call fcn.0044c190
movzx ecx, byte [esp + 0x14]
push ebp
push ecx
mov byte [eax + 0x23d], cl
mov ecx, esp
mov dword [esp + 0x20], esp
push str.byMotoType
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x2a
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov dword [esp + 0x14], eax
call fcn.0044c190
movzx ecx, byte [esp + 0x14]
push ebp
push ecx
mov byte [eax + 0x23e], cl
mov ecx, esp
mov dword [esp + 0x20], esp
push str.byMotoHead
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x2b
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov dword [esp + 0x14], eax
call fcn.0044c190
movzx ecx, byte [esp + 0x14]
push ebp
push ecx
mov byte [eax + 0x23f], cl
mov ecx, esp
mov dword [esp + 0x20], esp
push str.byMotorType
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x2c
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_MOMENT
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov dword [esp + 0x14], eax
call fcn.0044c190
movzx ecx, byte [esp + 0x14]
push ebp
mov byte [eax + 0x240], cl
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x2d
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming1
mov dword [eax + 0x148], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x2e
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming2
mov dword [eax + 0x14c], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x2f
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming3
mov dword [eax + 0x150], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x30
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov dword [eax + 0x154], esi
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming4
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x31
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming5
mov dword [eax + 0x158], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x32
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming6
mov dword [eax + 0x15c], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x33
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming7
mov dword [eax + 0x160], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x34
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov dword [eax + 0x164], esi
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming8
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x35
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming9
mov dword [eax + 0x168], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x36
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.uiTimeConsuming10
mov dword [eax + 0x16c], esi
call fcn.0040bf30
push ecx
mov byte [esp + 0x78], 0x37
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PARAMS_CLEAR2
call fcn.0040bf30
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x7c], bl
call fcn.0044a4d0
mov esi, eax
call fcn.0044c190
mov dword [eax + 0x170], esi
lea ebp, [edi + 4]
call fcn.0044c190
movzx ecx, byte [eax + 0x111]
mov byte [ebp], cl
call fcn.0044c190
movzx edx, byte [eax + 0x110]
mov byte [edi + 5], dl
call fcn.0044c190
movzx eax, byte [eax + 0x12d]
mov byte [edi + 6], al
call fcn.0044c190
movzx ecx, byte [eax + 0x12c]
mov byte [edi + 7], cl
call fcn.0044c190
movzx edx, byte [eax + 0x115]
mov byte [ebp + 4], dl
call fcn.0044c190
movzx eax, byte [eax + 0x114]
mov byte [edi + 9], al
call fcn.0044c190
movzx ecx, byte [eax + 0x131]
mov byte [edi + 0xa], cl
call fcn.0044c190
movzx edx, byte [eax + 0x130]
mov byte [edi + 0xb], dl
call fcn.0044c190
fld dword [eax + 0x144]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
movzx eax, byte [esp + 0x18]
mov byte [edi + 0xc], al
fldcw word [esp + 0x14]
call fcn.0044c190
movzx ecx, byte [eax + 0x13d]
mov byte [edi + 0xd], cl
call fcn.0044c190
movzx edx, byte [eax + 0x13c]
mov byte [edi + 0xe], dl
call fcn.0044c190
call fcn.0044c190
fld qword [eax + 0x120]
fmul qword [0x49f6c8]
call fcn.0047cb80
mov ecx, eax
sar ecx, 0x1f
mov byte [edi + 0xf], cl
mov byte [edi + 0x10], cl
mov ecx, eax
sar ecx, 0x18
mov byte [edi + 0x11], cl
mov edx, eax
mov ecx, eax
sar edx, 0x10
mov byte [edi + 0x12], dl
sar ecx, 8
mov byte [edi + 0x13], cl
mov byte [edi + 0x14], al
call fcn.0044c190
movzx edx, byte [eax + 0xe1]
mov byte [edi + 0x15], dl
call fcn.0044c190
movzx eax, byte [eax + 0xe0]
mov byte [edi + 0x16], al
call fcn.0044c190
movzx ecx, byte [eax + 0xdd]
mov byte [edi + 0x17], cl
call fcn.0044c190
movzx edx, byte [eax + 0xdc]
mov byte [edi + 0x18], dl
call fcn.0044c190
movzx eax, byte [eax + 0xf9]
mov byte [edi + 0x19], al
call fcn.0044c190
movzx ecx, byte [eax + 0xf8]
mov byte [edi + 0x1a], cl
call fcn.0044c190
movzx edx, byte [eax + 0xf5]
mov byte [edi + 0x1b], dl
call fcn.0044c190
movzx eax, byte [eax + 0xf4]
mov byte [edi + 0x1c], al
call fcn.0044c190
movzx ecx, byte [eax + 0xe9]
mov byte [edi + 0x1d], cl
call fcn.0044c190
movzx edx, byte [eax + 0xe8]
mov byte [edi + 0x1e], dl
call fcn.0044c190
movzx eax, byte [eax + 0xe5]
mov byte [edi + 0x1f], al
call fcn.0044c190
movzx ecx, byte [eax + 0xe4]
mov byte [edi + 0x20], cl
call fcn.0044c190
movzx edx, byte [eax + 0xb5]
mov byte [edi + 0x21], dl
call fcn.0044c190
movzx eax, byte [eax + 0xb4]
mov byte [edi + 0x22], al
call fcn.0044c190
movzx ecx, byte [eax + 0xc1]
mov byte [edi + 0x23], cl
call fcn.0044c190
movzx edx, byte [eax + 0xc0]
mov byte [edi + 0x24], dl
call fcn.0044c190
movzx eax, byte [eax + 0xc9]
mov byte [edi + 0x25], al
call fcn.0044c190
movzx ecx, byte [eax + 0xc8]
mov byte [edi + 0x26], cl
call fcn.0044c190
movzx edx, byte [eax + 0xc5]
mov byte [edi + 0x27], dl
call fcn.0044c190
movzx eax, byte [eax + 0xc4]
mov byte [edi + 0x28], al
call fcn.0044c190
movzx ecx, byte [eax + 0xcd]
mov byte [edi + 0x29], cl
call fcn.0044c190
movzx edx, byte [eax + 0xcc]
mov byte [edi + 0x2a], dl
call fcn.0044c190
movzx eax, byte [eax + 0xd9]
mov byte [edi + 0x2b], al
call fcn.0044c190
movzx ecx, byte [eax + 0xd8]
mov byte [edi + 0x2c], cl
call fcn.0044c190
movzx edx, byte [eax + 0xd5]
mov byte [edi + 0x2d], dl
call fcn.0044c190
movzx eax, byte [eax + 0xd4]
mov byte [edi + 0x2e], al
call fcn.0044c190
fld qword [eax + 0x1e8]
fmul qword [0x49f6c8]
call fcn.0047cb80
mov ecx, eax
sar ecx, 0x18
mov byte [edi + 0x2f], cl
mov edx, eax
mov ecx, eax
sar edx, 0x10
mov byte [edi + 0x30], dl
sar ecx, 8
mov byte [edi + 0x31], cl
mov byte [edi + 0x32], al
call fcn.0044c190
fld qword [eax + 0x220]
fmul qword [0x49f6c8]
call fcn.0047cb80
mov edx, eax
sar edx, 0x18
mov byte [edi + 0x33], dl
mov ecx, eax
mov edx, eax
sar ecx, 0x10
mov byte [edi + 0x34], cl
sar edx, 8
mov byte [edi + 0x35], dl
mov byte [edi + 0x36], al
call fcn.0044c190
movzx eax, byte [eax + 0x1f1]
mov byte [edi + 0x37], al
call fcn.0044c190
movzx ecx, byte [eax + 0x1f0]
mov byte [edi + 0x38], cl
call fcn.0044c190
fld dword [eax + 0x234]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
movzx edx, byte [esp + 0x18]
mov byte [edi + 0x39], dl
fldcw word [esp + 0x14]
call fcn.0044c190
fld dword [eax + 0x238]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
movzx eax, byte [esp + 0x18]
mov byte [edi + 0x3a], al
fldcw word [esp + 0x14]
call fcn.0044c190
movzx ecx, byte [eax + 0x23c]
mov byte [edi + 0x3b], cl
mov esi, 0x38
call fcn.0044c190
cmp dword [eax + 0x20c], 0xffffffff
je 0x415bc1
call fcn.0044c190
mov edx, dword [eax + 0x208]
sar edx, 8
mov byte [edi + 0x3c], dl
call fcn.0044c190
movzx eax, byte [eax + 0x208]
mov byte [edi + 0x3d], al
call fcn.0044c190
mov ecx, dword [eax + 0x20c]
sar ecx, 8
mov byte [edi + 0x3e], cl
call fcn.0044c190
movzx edx, byte [eax + 0x20c]
mov byte [edi + 0x3f], dl
call fcn.0044c190
mov eax, dword [eax + 0x210]
sar eax, 8
mov byte [edi + 0x40], al
call fcn.0044c190
movzx ecx, byte [eax + 0x210]
mov byte [edi + 0x41], cl
call fcn.0044c190
mov edx, dword [eax + 0x214]
sar edx, 8
mov byte [edi + 0x42], dl
call fcn.0044c190
movzx eax, byte [eax + 0x214]
mov byte [edi + 0x43], al
call fcn.0044c190
mov ecx, dword [eax + 0x218]
sar ecx, 8
mov byte [edi + 0x44], cl
call fcn.0044c190
movzx edx, byte [eax + 0x218]
mov byte [edi + 0x45], dl
call fcn.0044c190
mov eax, dword [eax + 0x21c]
sar eax, 8
mov byte [edi + 0x46], al
call fcn.0044c190
movzx ecx, byte [eax + 0x21c]
mov byte [edi + 0x47], cl
mov esi, 0x44
call fcn.0044c190
mov dl, byte [eax + 0x23d]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
mov al, byte [eax + 0x23e]
mov byte [esi + edi + 4], al
inc esi
call fcn.0044c190
mov cl, byte [eax + 0x23f]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0044c190
cmp dword [eax + 0x20c], 0xffffffff
je 0x415c1e
call fcn.0044c190
mov dl, byte [eax + 0x240]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
mov dword [eax + 0x20c], 0
call fcn.0044c190
fld dword [eax + 0x1f8]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
inc esi
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
movzx eax, byte [esp + 0x18]
mov byte [esi + edi + 3], al
fldcw word [esp + 0x14]
call fcn.0044c190
inc esi
fld dword [eax + 0x200]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
movzx ecx, byte [esp + 0x18]
mov byte [esi + edi + 3], cl
fldcw word [esp + 0x14]
call fcn.0044c190
inc esi
fld dword [eax + 0x1f4]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
movzx edx, byte [esp + 0x18]
mov byte [esi + edi + 3], dl
fldcw word [esp + 0x14]
call fcn.0044c190
inc esi
fld dword [eax + 0x230]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
movzx eax, byte [esp + 0x18]
mov byte [esi + edi + 3], al
fldcw word [esp + 0x14]
call fcn.0044c190
movzx ecx, byte [eax + 0x149]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0044c190
movzx edx, byte [eax + 0x148]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
movzx eax, byte [eax + 0x14d]
mov byte [esi + edi + 4], al
inc esi
call fcn.0044c190
movzx ecx, byte [eax + 0x14c]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0044c190
movzx edx, byte [eax + 0x151]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
movzx eax, byte [eax + 0x150]
mov byte [esi + edi + 4], al
inc esi
call fcn.0044c190
movzx ecx, byte [eax + 0x155]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0044c190
movzx edx, byte [eax + 0x154]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
movzx eax, byte [eax + 0x159]
mov byte [esi + edi + 4], al
inc esi
call fcn.0044c190
movzx ecx, byte [eax + 0x158]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0044c190
movzx edx, byte [eax + 0x15d]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
movzx eax, byte [eax + 0x15c]
mov byte [esi + edi + 4], al
inc esi
call fcn.0044c190
movzx ecx, byte [eax + 0x161]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0044c190
movzx edx, byte [eax + 0x160]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
movzx eax, byte [eax + 0x165]
mov byte [esi + edi + 4], al
inc esi
call fcn.0044c190
movzx ecx, byte [eax + 0x164]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0044c190
movzx edx, byte [eax + 0x169]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
movzx eax, byte [eax + 0x168]
mov byte [esi + edi + 4], al
inc esi
call fcn.0044c190
movzx ecx, byte [eax + 0x16d]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0044c190
movzx edx, byte [eax + 0x16c]
mov byte [esi + edi + 4], dl
inc esi
call fcn.0044c190
movzx eax, byte [eax + 0x171]
mov byte [esi + edi + 4], al
inc esi
call fcn.0044c190
movzx ecx, byte [eax + 0x170]
mov byte [esi + edi + 4], cl
inc esi
call fcn.0045ded3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x415e7a
push 0x80004005
call fcn.00407700
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x18], edi
mov byte [esp + 0x6c], 0x38
call fcn.0044c190
mov edx, ebp
call fcn.00453700
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.CRC16
movzx esi, ax
call fcn.0040bf30
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.AllCleanInfo
mov byte [esp + 0x7c], 0x39
call fcn.0040bf30
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x7c], 0x38
call fcn.0044a4d0
movzx eax, ax
cmp ax, si
je 0x415ee3
test ax, ax
jne 0x415eea
mov esi, 1
jmp 0x415eee
mov esi, dword [esp + 0x1c]
lea eax, [edi - 0x10]
mov byte [esp + 0x6c], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x415f0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 2
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415f33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x6c], 1
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415f58
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x6c], 0
call fcn.00449f20
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415f8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 4