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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x491e11
mov eax, dword fs:[0]
push eax
sub esp, 0x118
push ebx
push esi
push edi
mov eax, dword [0x4ae680]
xor eax, esp
push eax
lea eax, [esp + 0x128]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 0x34]
call fcn.004162d0
xor edi, edi
mov dword [esp + 0x130], edi
call fcn.0045ded3
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42cf90
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 + 0x14], eax
mov byte [esp + 0x130], 1
call fcn.0045ded3
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42cfc2
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 byte [esp + 0x130], 2
call fcn.0045ded3
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42cff4
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 + 0x130], 3
call fcn.0045ded3
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42d026
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 + 0x120], eax
mov ebx, 4
mov byte [esp + 0x130], bl
mov byte [esp + 0x1b], 0
mov dword [esp + 0x1c], edi
cmp esi, edi
jne 0x42e086
call fcn.0044c190
mov edi, eax
add edi, 0x334
call fcn.004163a0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc4]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x1004
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc4]
xor esi, esi
push esi
push esi
push 0x1004
push ecx
call edi
test eax, eax
jle 0x42f0c8
mov edi, dword [ebp + 8]
add edi, 0xa4
push 0
push esi
lea edx, [esp + 0x38]
push edx
mov ecx, edi
mov dword [esp + 0x34], 0
call fcn.00461a64
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x134], 5
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d0f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc4]
push 0
push 0
push 0x1004
lea ecx, [esi + 1]
push eax
mov dword [esp + 0x3c], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, dword [esp + 0x2c]
jle 0x42d171
mov ecx, dword [esp + 0x2c]
push 0
push ecx
lea edx, [esp + 0xd4]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x134], 6
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d171
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push esi
lea ecx, [esp + 0x11c]
push ecx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 7
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x114]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42d1bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push str.XMotor
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42d407
or byte [esp + 0x35], 1
push 2
push esi
lea edx, [esp + 0x118]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 8
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x110]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d231
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xac]
push edx
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 9
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d290
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0xec]
push edx
mov ecx, edi
mov dword [esp + 0x5c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0xa
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d2ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0xb4]
push edx
mov ecx, edi
mov dword [esp + 0x70], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0xb
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d34d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x80]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0x10c]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0xc
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x104]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d3ac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0x49b083
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
jne 0x42d3e2
mov edx, dword [esp + 0x14]
push 0x49b3e0
push edx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
je 0x42d3fb
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x20], 1
call fcn.004077a0
inc byte [esp + 0x1b]
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x14]
push str.XDCMotor
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42d6d9
or byte [esp + 0x35], 1
push 2
push esi
lea edx, [esp + 0xbc]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0xd
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d479
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xf4]
push edx
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0xe
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xec]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d4d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0xc4]
push edx
mov ecx, edi
mov dword [esp + 0x5c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0xf
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d536
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0x120]
push edx
mov ecx, edi
mov dword [esp + 0x70], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x10
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x118]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d595
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x80]
call fcn.004077a0
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x14]
push edx
add ecx, 0x17fc
call fcn.00459997
mov eax, dword [esp + 0x14]
push eax
call fcn.004764a2
add esp, 4
mov ebx, eax
call fcn.0044c190
push 6
push esi
lea ecx, [esp + 0xcc]
push ecx
mov ecx, edi
mov dword [eax + 0x24c], ebx
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x11
call fcn.004077a0
mov ebx, 4
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42d626
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0x49b083
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
jne 0x42d65c
mov edx, dword [esp + 0x14]
push 0x49b3e0
push edx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
je 0x42d675
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x20], 1
call fcn.004077a0
push 7
push esi
lea ecx, [esp + 0xfc]
push ecx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x12
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xf4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42d6c3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
mov dword [esp + 0x78], eax
jmp 0x42df13
mov edx, dword [esp + 0x14]
push str.YMotor
push edx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42d901
or byte [esp + 0x35], 2
push 2
push esi
lea eax, [esp + 0xa0]
push eax
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x13
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d74b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0x114]
push edx
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x14
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x10c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d7aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0xdc]
push edx
mov ecx, edi
mov dword [esp + 0x60], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x15
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d808
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0x104]
push edx
mov ecx, edi
mov dword [esp + 0x74], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x16
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xfc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d867
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x84]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0xe4]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x17
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xdc]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d8c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0x49b083
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
jne 0x42df02
mov edx, dword [esp + 0x14]
push 0x49b3e0
push edx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
jmp 0x42def7
mov ecx, dword [esp + 0x14]
push str.ZMotor
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42dad6
or byte [esp + 0x35], bl
push 2
push esi
lea edx, [esp + 0xa4]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x18
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d972
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xa8]
push edx
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x19
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d9d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0xb0]
push edx
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x1a
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42da2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0xb8]
push edx
mov ecx, edi
mov dword [esp + 0x78], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x1b
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42da8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x88]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0xc0]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x1c
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xb8]
jmp 0x42d8aa
mov ecx, dword [esp + 0x14]
push str.Motor0
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42dcdf
or byte [esp + 0x35], 8
push 2
push esi
lea edx, [esp + 0xc8]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x1d
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42db48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xd0]
push edx
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x1e
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42dba7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0xd8]
push edx
mov ecx, edi
mov dword [esp + 0x68], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x1f
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42dc05
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0xe0]
push edx
mov ecx, edi
mov dword [esp + 0x7c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x20
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42dc64
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x8c]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0xe8]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x21
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42dcc3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0x49b083
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
jmp 0x42dee1
mov ecx, dword [esp + 0x14]
push str.Motor1
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42df17
or byte [esp + 0x35], 0x10
push 2
push esi
lea edx, [esp + 0xf0]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x22
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xe8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42dd51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xf8]
push edx
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x23
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xf0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ddb0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0x100]
push edx
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x24
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42de0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0x108]
push edx
mov ecx, edi
mov dword [esp + 0x80], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x25
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x100]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42de70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x90]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0x110]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x26
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x108]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42decf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push 0x49b083
push ecx
call fcn.004071b0
add esp, 8
test al, al
jne 0x42df02
lea edx, [esp + 0x14]
push 0x49b3e0
push edx
call fcn.004071b0
add esp, 8
test al, al
je 0x42df13
cmp dword [esp + 0x1c], 0
jne 0x42df13
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x94]
call fcn.004077a0
inc byte [esp + 0x1b]
mov eax, dword [esp + 0x24]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42cf86
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42df66
push 0
push 0x49b083
lea ecx, [esp + 0x28]
call fcn.00407670
push 0
push 0x49b083
lea ecx, [esp + 0x2c]
call fcn.00407670
jmp 0x42e02d
mov dl, byte [esp + 0x1b]
mov byte [esp + 0x34], dl
call fcn.0044c190
mov esi, eax
mov eax, dword [esi + 0x33c]
add esi, 0x334
push eax
call fcn.00415fb0
mov dword [esp + 0x28], eax
lea ebx, [eax + 8]
lea eax, [esp + 0x34]
call fcn.00416070
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebx
je 0x42dfa8
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
jmp 0x42dfaf
mov edx, dword [esp + 0x28]
mov dword [esi + 4], edx
mov eax, dword [esp + 0x28]
push ebx
push 0x49b083
lea ecx, [esp + 0x28]
mov dword [esi + 8], eax
call fcn.00407670
push ebx
push 0x49b083
lea ecx, [esp + 0x2c]
call fcn.00407670
mov dword [esp + 0x28], 1
mov byte [esp + 0x1b], bl
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], bl
xor esi, esi
mov edi, edi
mov dword [esp + esi*4 + 0x3c], ebx
push 7
mov dword [esp + esi*4 + 0x54], ebx
push str.Orignal
lea ecx, [esp + esi*4 + 0x84]
mov dword [esp + esi*4 + 0x6c], ebx
call fcn.00407670
inc esi
cmp esi, 5
jl 0x42dff0
push 4
push 0x49c990
lea ecx, [esp + 0x98]
call fcn.00407670
mov ebx, 4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc4]
mov esi, dword [esp + 0x2c]
push 0
push 0
push 0x1004
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp esi, eax
jl 0x42d0a9
cmp dword [esp + 0x28], 0
jne 0x42f0c8
mov al, byte [esp + 0x1b]
test al, al
jbe 0x42f0c8
mov byte [esp + 0x34], al
call fcn.0044c190
mov esi, eax
mov eax, dword [esi + 0x33c]
add esi, 0x334
push eax
jmp 0x42f09f
cmp esi, 1
jne 0x42f0c8
call fcn.0044c190
mov edi, eax
add edi, 0x350
call fcn.004163a0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1f0]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x1004
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1f0]
xor esi, esi
push esi
push esi
push 0x1004
push ecx
call edi
test eax, eax
jle 0x42f0c8
mov edi, dword [ebp + 8]
add edi, 0x1d0
push 0
push esi
lea edx, [esp + 0x110]
push edx
mov ecx, edi
mov dword [esp + 0x34], 0
call fcn.00461a64
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x134], 0x27
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x108]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e138
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1f0]
push 0
push 0
push 0x1004
lea ecx, [esi + 1]
push eax
mov dword [esp + 0x40], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, dword [esp + 0x30]
jle 0x42e1b0
mov ecx, dword [esp + 0x30]
push 0
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x134], 0x28
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x100]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e1b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push esi
lea ecx, [esp + 0x100]
push ecx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x29
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xf8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42e1fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push str.XMotor
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42e446
or byte [esp + 0x35], 1
push 2
push esi
lea edx, [esp + 0xf8]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x2a
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xf0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e270
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xf0]
push edx
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x2b
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xe8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e2cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0xe8]
push edx
mov ecx, edi
mov dword [esp + 0x5c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x2c
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e32d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0xe0]
push edx
mov ecx, edi
mov dword [esp + 0x70], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x2d
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e38c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x80]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0xd8]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x2e
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e3eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0x49b083
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
jne 0x42e421
mov edx, dword [esp + 0x14]
push 0x49b3e0
push edx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
je 0x42e43a
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x20], 1
call fcn.004077a0
inc byte [esp + 0x1b]
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x14]
push str.XDCMotor
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42e718
or byte [esp + 0x35], 1
push 2
push esi
lea edx, [esp + 0xd0]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x2f
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e4b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xc8]
push edx
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x30
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e517
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0xc0]
push edx
mov ecx, edi
mov dword [esp + 0x5c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x31
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e575
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0xb8]
push edx
mov ecx, edi
mov dword [esp + 0x70], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x32
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e5d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x80]
call fcn.004077a0
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x14]
push edx
add ecx, 0x17fc
call fcn.00459997
mov eax, dword [esp + 0x14]
push eax
call fcn.004764a2
add esp, 4
mov ebx, eax
call fcn.0044c190
push 6
push esi
lea ecx, [esp + 0xb0]
push ecx
mov ecx, edi
mov dword [eax + 0x24c], ebx
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x33
call fcn.004077a0
mov ebx, 4
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42e665
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0x49b083
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
jne 0x42e69b
mov edx, dword [esp + 0x14]
push 0x49b3e0
push edx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
je 0x42e6b4
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x20], 1
call fcn.004077a0
push 7
push esi
lea ecx, [esp + 0xa8]
push ecx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x34
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42e702
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
mov dword [esp + 0x78], eax
jmp 0x42ef3b
mov edx, dword [esp + 0x14]
push str.YMotor
push edx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42e954
or byte [esp + 0x35], 2
push 2
push esi
lea eax, [esp + 0xa4]
push eax
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x35
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e78a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xe4]
push edx
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x36
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e7e9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0x104]
push edx
mov ecx, edi
mov dword [esp + 0x60], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x37
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xfc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e847
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0xdc]
push edx
mov ecx, edi
mov dword [esp + 0x74], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x38
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e8a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x84]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0x114]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x39
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x10c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e905
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0x49b083
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
jne 0x42e94a
mov edx, dword [esp + 0x14]
push 0x49b3e0
push edx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
je 0x42ef3b
cmp dword [esp + 0x1c], 0
jne 0x42ef3b
lea eax, [esp + 0x14]
push eax
jmp 0x42ef2f
mov ecx, dword [esp + 0x14]
push str.ZMotor
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42eb76
or byte [esp + 0x35], bl
push 2
push esi
lea edx, [esp + 0xa0]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x3a
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42e9c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xfc]
push edx
mov ecx, edi
mov dword [esp + 0x50], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x3b
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xf4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ea24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0xcc]
push edx
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x3c
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ea82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0x120]
push edx
mov ecx, edi
mov dword [esp + 0x78], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x3d
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x118]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42eae1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x88]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0xc4]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x3e
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42eb40
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0x49b083
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
jne 0x42e94a
lea edx, [esp + 0x14]
push 0x49b3e0
push edx
call fcn.004071b0
add esp, 8
jmp 0x42e937
mov ecx, dword [esp + 0x14]
push str.Motor0
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42ed7a
or byte [esp + 0x35], 8
push 2
push esi
lea edx, [esp + 0xf4]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x3f
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xec]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ebe8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 3
push esi
lea edx, [esp + 0xbc]
push edx
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x40
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ec47
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push ebx
push esi
lea edx, [esp + 0x10c]
push edx
mov ecx, edi
mov dword [esp + 0x68], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x41
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0x104]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42eca5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0xb4]
push edx
mov ecx, edi
mov dword [esp + 0x7c], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x42
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ed04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x8c]
call fcn.004077a0
push 6
push esi
lea edx, [esp + 0xec]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x43
call fcn.004077a0
mov byte [esp + 0x130], bl
mov eax, dword [esp + 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ed63
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push 0x49b083
push ecx
call fcn.004071b0
add esp, 8
jmp 0x42eb57
mov ecx, dword [esp + 0x14]
push str.Motor1
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42ef3f
or byte [esp + 0x35], 0x10
push 2
push esi
lea edx, [esp + 0xac]
push edx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x44
call fcn.004077a0
lea ecx, [esp + 0xa4]
mov byte [esp + 0x130], bl
call fcn.00407860
mov eax, dword [esp + 0x14]
push eax
call fcn.004764a2
add esp, 4
push 3
push esi
lea ecx, [esp + 0x118]
push ecx
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x45
call fcn.004077a0
lea ecx, [esp + 0x110]
mov byte [esp + 0x130], bl
call fcn.00407860
mov edx, dword [esp + 0x14]
push edx
call fcn.004764a2
add esp, 4
push ebx
mov dword [esp + 0x64], eax
push esi
lea eax, [esp + 0x11c]
push eax
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x46
call fcn.004077a0
lea ecx, [esp + 0x114]
mov byte [esp + 0x130], bl
call fcn.00407860
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004764a2
add esp, 4
push 5
push esi
lea edx, [esp + 0xd4]
push edx
mov ecx, edi
mov dword [esp + 0x80], eax
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x47
call fcn.004077a0
lea ecx, [esp + 0xcc]
mov byte [esp + 0x130], bl
call fcn.00407860
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x90]
call fcn.004077a0
push 6
lea ecx, [esp + 0x120]
push esi
push ecx
mov ecx, edi
call fcn.00461a64
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x48
call fcn.004077a0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x130], bl
call fcn.00407860
lea edx, [esp + 0x14]
push 0x49b083
push edx
call fcn.004071b0
add esp, 8
test al, al
jne 0x42ef2a
lea eax, [esp + 0x14]
push 0x49b3e0
push eax
call fcn.004071b0
add esp, 8
test al, al
je 0x42ef3b
cmp dword [esp + 0x1c], 0
jne 0x42ef3b
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x94]
call fcn.004077a0
inc byte [esp + 0x1b]
mov eax, dword [esp + 0x24]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x42cf86
mov edx, dword [esp + 0x20]
push eax
push edx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x42ef8e
push 0
push 0x49b083
lea ecx, [esp + 0x28]
call fcn.00407670
push 0
push 0x49b083
lea ecx, [esp + 0x2c]
call fcn.00407670
jmp 0x42f053
mov al, byte [esp + 0x1b]
mov byte [esp + 0x34], al
call fcn.0044c190
mov esi, eax
mov ecx, dword [esi + 0x358]
add esi, 0x350
push ecx
call fcn.00415fb0
mov dword [esp + 0x2c], eax
lea ebx, [eax + 8]
lea eax, [esp + 0x34]
call fcn.00416070
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebx
je 0x42efd0
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
jmp 0x42efd7
mov eax, dword [esp + 0x2c]
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x2c]
push ebx
mov dword [esi + 8], ecx
push 0x49b083
lea ecx, [esp + 0x28]
call fcn.00407670
push ebx
push 0x49b083
lea ecx, [esp + 0x2c]
call fcn.00407670
mov dword [esp + 0x28], 1
mov byte [esp + 0x1b], bl
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], bl
xor esi, esi
mov dword [esp + esi*4 + 0x3c], ebx
push 7
mov dword [esp + esi*4 + 0x54], ebx
push str.Orignal
lea ecx, [esp + esi*4 + 0x84]
mov dword [esp + esi*4 + 0x6c], ebx
call fcn.00407670
inc esi
cmp esi, 5
jl 0x42f016
push 4
push 0x49c990
lea ecx, [esp + 0x98]
call fcn.00407670
mov ebx, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1f0]
mov esi, dword [esp + 0x30]
push 0
push 0
push 0x1004
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp esi, eax
jl 0x42e0e2
cmp dword [esp + 0x28], 0
jne 0x42f0c8
mov al, byte [esp + 0x1b]
test al, al
jbe 0x42f0c8
mov byte [esp + 0x34], al
call fcn.0044c190
mov esi, eax
mov ecx, dword [esi + 0x358]
add esi, 0x350
push ecx
call fcn.00415fb0
mov edi, eax
lea ebx, [edi + 8]
lea eax, [esp + 0x34]
call fcn.00416070
mov eax, dword [esi + 8]
test eax, eax
je 0x42f0bd
mov dword [eax], edi
jmp 0x42f0c0
mov dword [esi + 4], edi
mov ebx, 4
mov dword [esi + 8], edi
mov esi, dword [ebp + 8]
call fcn.0042f1d0
mov byte [esp + 0x130], 3
mov eax, dword [esp + 0x120]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42f0fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x130], 2
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 0x42f123
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x130], 1
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 0x42f14b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x130], 0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f173
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x130], 0xffffffff
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f1a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push fcn.00407860
push 5
push ebx
lea ecx, [esp + 0x88]
push ecx
call fcn.00476a79
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4