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

Disassembly:
push 0xffffffffffffffff
push 0x4e8f25
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2b0
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x90], ebp
mov al, byte [esp + 0x36]
mov dword [esp + 0x2c8], 1
mov byte [esp + 0x20], al
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov cl, byte [esp + 0x36]
mov edi, str.______
mov byte [esp + 0x80], cl
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x2c8], 2
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x84], ebp
push ecx
push str.______
lea ecx, [esp + 0x88]
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebp
call fcn.00404080
mov dl, byte [esp + 0x36]
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x58], dl
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
lea ecx, [esp + 0x54]
mov byte [esp + 0x2c8], 4
call fcn.00453d60
lea ecx, [esp + 0x40]
mov byte [esp + 0x2c8], 5
call fcn.00453d60
lea ecx, [esp + 0x10]
mov byte [esp + 0x2c8], 6
call fcn.00453d60
lea ecx, [esp + 0x70]
mov byte [esp + 0x2c8], 7
call fcn.00453d60
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2c8], 8
call fcn.00453d60
lea ecx, [esp + 0x50]
mov byte [esp + 0x2c8], 9
call fcn.00453d60
mov eax, dword [esp + 0x2dc]
mov byte [esp + 0x2c8], 0xa
cmp eax, ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x6c], ebp
jne 0x418239
xor bl, bl
mov byte [esp + 0x7c], bl
jmp 0x418252
mov ebx, dword [esp + 0x2e0]
sub ebx, eax
sar ebx, 2
cmp bl, 0xb
mov byte [esp + 0x7c], bl
jae 0x418432
push 0xffffffffffffffff
lea ecx, [esp + 0x98]
push 0
push ecx
lea ecx, [eax + 0x20]
call fcn.004542d0
mov esi, str.CTEM_EXTEND
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418296
test cl, cl
je 0x418292
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418296
add eax, 2
add esi, 2
test cl, cl
jne 0x418272
xor eax, eax
jmp 0x41829b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x418432
mov esi, dword [esp + 0x2d0]
mov al, byte [esp + 0x80]
xor ebp, ebp
lea edx, [esp + 0x80]
mov byte [esi], al
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebp
mov ecx, dword [0x4f4164]
push ecx
push ebp
push edx
mov ecx, esi
call fcn.004017e0
mov dword [esp + 0x90], 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x2c8], 9
call fcn.00453ea0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2c8], 8
call fcn.00453ea0
lea ecx, [esp + 0x70]
mov byte [esp + 0x2c8], 7
call fcn.00453ea0
lea ecx, [esp + 0x10]
mov byte [esp + 0x2c8], 6
call fcn.00453ea0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2c8], 5
call fcn.00453ea0
lea ecx, [esp + 0x54]
mov byte [esp + 0x2c8], 4
call fcn.00453ea0
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
cmp edi, eax
mov byte [esp + 0x2c8], 3
mov ebx, eax
je 0x418370
push 1
mov ecx, edi
call fcn.004019e0
add edi, 0x10
cmp edi, ebx
jne 0x41835c
mov edi, dword [esp + 0x5c]
push edi
call fcn.004db420
mov eax, dword [esp + 0x88]
add esp, 4
cmp eax, ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
je 0x4183ad
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4183a4
cmp al, 0xff
je 0x4183a4
dec al
mov byte [ecx], al
jmp 0x4183ad
push ecx
call fcn.004db420
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x84], ebp
cmp eax, ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
je 0x4183e7
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4183de
cmp al, 0xff
je 0x4183de
dec al
mov byte [ecx], al
jmp 0x4183e7
push ecx
call fcn.004db420
add esp, 4
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2dc]
cmp edi, ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov byte [esp + 0x2c8], 0
je 0x418422
mov ecx, edi
call fcn.00453ea0
add edi, 4
cmp edi, ebx
jne 0x41840d
mov edi, dword [esp + 0x2dc]
push edi
call fcn.004db420
add esp, 4
mov eax, esi
jmp 0x41a56c
push ecx
mov ecx, dword [esp + 0x2d8]
mov eax, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.0046f1a0
lea ecx, [esp + 0x54]
call fcn.00454080
push 0xffffffffffffffff
lea ecx, [esp + 0x1c4]
push 0
push ecx
lea ecx, [esp + 0x5c]
call fcn.004542b0
push 2
lea ecx, [esp + 0x2dc]
call fcn.00403fc0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00453d70
lea ecx, [esp + 0x50]
call fcn.00454080
push 6
lea ecx, [esp + 0x2dc]
call fcn.00403fc0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00453d70
lea ecx, [esp + 0x58]
call fcn.00454080
push 7
lea ecx, [esp + 0x2dc]
call fcn.00403fc0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00453d70
lea ecx, [esp + 0x44]
call fcn.00454080
lea ecx, [esp + 0x40]
call fcn.00454280
push ecx
mov edi, eax
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0
mov dword [esp + 0x70], edi
call fcn.00453d90
lea ecx, [esp + 0x14]
call fcn.00454080
xor esi, esi
test di, di
jle 0x41855d
push esi
lea ecx, [esp + 0x58]
call fcn.004541f0
mov bl, al
lea ecx, [esp + 0x50]
and ebx, 0xff
call fcn.00454280
movsx edx, ax
dec edx
cmp ebx, edx
jg 0x4186a7
push esi
lea ecx, [esp + 0x58]
call fcn.004541f0
mov bl, al
push esi
lea ecx, [esp + 0x44]
and ebx, 0xff
call fcn.004541f0
mov cl, byte [esp + ebx + 0x1c0]
and cl, al
push ecx
lea ecx, [esp + 0x14]
call fcn.00454260
inc esi
cmp si, di
jl 0x4184fd
mov bl, byte [esp + 0x7c]
lea ecx, [esp + 0x4c]
call fcn.00454280
cmp ax, 6
jle 0x4188c6
lea eax, [esp + 0x58]
lea edx, [esp + 0x4c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00453d70
mov ecx, dword [esp + 0x1c]
call fcn.00417d70
test eax, eax
jne 0x4188c6
mov esi, dword [esp + 0x2d0]
mov al, byte [esp + 0x80]
xor ebp, ebp
lea edx, [esp + 0x80]
mov byte [esi], al
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebp
mov ecx, dword [0x4f4164]
push ecx
push ebp
push edx
mov ecx, esi
call fcn.004017e0
lea ecx, [esp + 0x50]
mov dword [esp + 0x90], 1
mov byte [esp + 0x2c8], 9
call fcn.00453ea0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2c8], 8
call fcn.00453ea0
lea ecx, [esp + 0x70]
mov byte [esp + 0x2c8], 7
call fcn.00453ea0
lea ecx, [esp + 0x10]
mov byte [esp + 0x2c8], 6
call fcn.00453ea0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2c8], 5
call fcn.00453ea0
lea ecx, [esp + 0x54]
mov byte [esp + 0x2c8], 4
call fcn.00453ea0
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
cmp edi, eax
mov byte [esp + 0x2c8], 3
mov ebx, eax
je 0x418664
push 1
mov ecx, edi
call fcn.004019e0
add edi, 0x10
cmp edi, ebx
jne 0x418650
mov edi, dword [esp + 0x5c]
push edi
call fcn.004db420
mov eax, dword [esp + 0x88]
add esp, 4
cmp eax, ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
je 0x418841
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x418838
cmp al, 0xff
je 0x418838
dec al
mov byte [ecx], al
jmp 0x418841
mov esi, dword [esp + 0x2d0]
mov dl, byte [esp + 0x36]
xor ebp, ebp
mov edi, 0x512a68
or ecx, 0xffffffff
xor eax, eax
mov byte [esi], dl
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x512a68
mov ecx, esi
call fcn.00404080
lea ecx, [esp + 0x50]
mov dword [esp + 0x90], 1
mov byte [esp + 0x2c8], 9
call fcn.00453ea0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2c8], 8
call fcn.00453ea0
lea ecx, [esp + 0x70]
mov byte [esp + 0x2c8], 7
call fcn.00453ea0
lea ecx, [esp + 0x10]
mov byte [esp + 0x2c8], 6
call fcn.00453ea0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2c8], 5
call fcn.00453ea0
lea ecx, [esp + 0x54]
mov byte [esp + 0x2c8], 4
call fcn.00453ea0
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
cmp edi, eax
mov byte [esp + 0x2c8], 3
mov ebx, eax
je 0x418776
push 1
mov ecx, edi
call fcn.004019e0
add edi, 0x10
cmp edi, ebx
jne 0x418762
mov edi, dword [esp + 0x5c]
push edi
call fcn.004db420
mov eax, dword [esp + 0x88]
add esp, 4
cmp eax, ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
je 0x4187b3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4187aa
cmp al, 0xff
je 0x4187aa
dec al
mov byte [ecx], al
jmp 0x4187b3
push ecx
call fcn.004db420
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x84], ebp
cmp eax, ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
je 0x4187ed
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4187e4
cmp al, 0xff
je 0x4187e4
dec al
mov byte [ecx], al
jmp 0x4187ed
push ecx
call fcn.004db420
add esp, 4
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2dc]
cmp edi, ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov byte [esp + 0x2c8], 0
je 0x418828
mov ecx, edi
call fcn.00453ea0
add edi, 4
cmp edi, ebx
jne 0x418813
mov edi, dword [esp + 0x2dc]
push edi
call fcn.004db420
add esp, 4
mov eax, esi
jmp 0x41a56c
push ecx
call fcn.004db420
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x84], ebp
cmp eax, ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
je 0x41887b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x418872
cmp al, 0xff
je 0x418872
dec al
mov byte [ecx], al
jmp 0x41887b
push ecx
call fcn.004db420
add esp, 4
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2dc]
cmp edi, ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov byte [esp + 0x2c8], 0
je 0x4188b6
mov ecx, edi
call fcn.00453ea0
add edi, 4
cmp edi, ebx
jne 0x4188a1
mov edi, dword [esp + 0x2dc]
push edi
call fcn.004db420
add esp, 4
mov eax, esi
jmp 0x41a56c
xor ax, ax
mov dword [esp + 0x30], 8
mov al, bl
cmp ax, 8
mov word [esp + 0x36], ax
jle 0x41a2e0
mov ebx, dword [esp + 0x68]
movsx edi, word [esp + 0x30]
push edi
lea ecx, [esp + 0x2dc]
call fcn.00403fc0
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00453d70
lea ecx, [esp + 0x74]
call fcn.00454080
push 0xffffffffffffffff
lea eax, [esp + 0x98]
push 0
push eax
lea ecx, [esp + 0x7c]
call fcn.004542d0
mov esi, str.CTEM_STATUS
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418953
test cl, cl
je 0x41894f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418953
add eax, 2
add esi, 2
test cl, cl
jne 0x41892f
xor eax, eax
jmp 0x418958
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x418b33
mov ecx, dword [esp + 0x7c]
lea eax, [edi + 3]
and ecx, 0xff
cmp eax, ecx
jg 0x41a2e0
mov eax, dword [esp + 0x2dc]
push 0xffffffffffffffff
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [eax + edi*4 + 4]
call fcn.004542d0
mov esi, str.default
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4189c5
test cl, cl
je 0x4189c1
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4189c5
add eax, 2
add esi, 2
test cl, cl
jne 0x41899d
xor eax, eax
jmp 0x4189ca
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x418ac5
lea eax, [esp + 0x94]
push eax
call fcn.004dc1cc
mov edx, dword [esp + 0x2e0]
add esp, 4
xor ebp, ebp
lea ecx, [esp + 0x94]
push 0xffffffffffffffff
push ebp
push ecx
lea ecx, [edx + edi*4 + 8]
mov dword [esp + 0x84], eax
call fcn.004542d0
lea eax, [esp + 0x94]
push eax
call fcn.004dc1cc
mov ecx, dword [esp + 0x6c]
add esp, 4
mov dword [esp + 0x74], eax
mov dword [esp + 0x44], ebp
lea esi, [ecx - 1]
cmp si, bp
jl 0x418ac5
mov edi, 2
push esi
lea ecx, [esp + 0x44]
call fcn.004541f0
xor ebx, ebx
push esi
lea ecx, [esp + 0x44]
call fcn.004541f0
mov cl, bl
shr al, cl
test al, 1
je 0x418a7e
push esi
lea ecx, [esp + 0x14]
call fcn.004541f0
mov cl, bl
shr al, cl
and al, 1
mov byte [esp + 0x38], al
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov cl, al
and edx, 0xff
shl edx, cl
add ebp, edx
inc eax
mov dword [esp + 0x44], eax
inc ebx
cmp bx, 8
jl 0x418a3f
cmp word [esp + 0x44], di
jge 0x418a94
dec esi
test si, si
jge 0x418a33
jmp 0x418ac5
movsx ebx, word [esp + 0x68]
xor ebp, ebp
xor esi, esi
test ebx, ebx
jle 0x418ac5
lea edi, [ebx*8 - 8]
push esi
lea ecx, [esp + 0x14]
call fcn.004541f0
and eax, 0xff
mov ecx, edi
shl eax, cl
sub edi, 8
add ebp, eax
inc esi
cmp esi, ebx
jl 0x418aa8
cmp ebp, dword [esp + 0x78]
jb 0x418ad5
cmp ebp, dword [esp + 0x74]
jbe 0x418ea6
mov esi, str.default
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x418b09
test cl, cl
je 0x418b05
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x418b09
add eax, 2
add esi, 2
test cl, cl
jne 0x418ae1
xor eax, eax
jmp 0x418b0e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x418ea6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x68]
inc ecx
add eax, 3
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], eax
jmp 0x418e91
mov esi, str.CTEM_LINEARITY
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418b63
test cl, cl
je 0x418b5f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418b63
add eax, 2
add esi, 2
test cl, cl
jne 0x418b3f
xor eax, eax
jmp 0x418b68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x418ca6
mov ecx, dword [esp + 0x7c]
lea eax, [edi + 9]
and ecx, 0xff
cmp eax, ecx
jg 0x41a2e0
mov eax, dword [esp + 0x2dc]
push 0xffffffffffffffff
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [eax + edi*4 + 4]
call fcn.004542d0
mov esi, str.default
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418bd1
test cl, cl
je 0x418bcd
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418bd1
add eax, 2
add esi, 2
test cl, cl
jne 0x418bad
xor eax, eax
jmp 0x418bd6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x418c4f
lea eax, [esp + 0x94]
push eax
call fcn.004dc1cc
mov edx, dword [esp + 0x2e0]
add esp, 4
lea ecx, [esp + 0x94]
mov dword [esp + 0x78], eax
push 0xffffffffffffffff
push 0
push ecx
lea ecx, [edx + edi*4 + 8]
call fcn.004542d0
lea eax, [esp + 0x94]
push eax
call fcn.004dc1cc
add esp, 4
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x74], eax
test bx, bx
jle 0x418c4f
movsx ecx, bx
lea edi, [ecx*8 - 8]
push esi
lea ecx, [esp + 0x14]
call fcn.004541f0
and eax, 0xff
mov ecx, edi
shl eax, cl
sub edi, 8
add ebp, eax
inc esi
cmp si, bx
jl 0x418c31
cmp ebp, dword [esp + 0x78]
jb 0x418c5f
cmp ebp, dword [esp + 0x74]
jbe 0x418ecc
mov esi, str.default
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418c8f
test cl, cl
je 0x418c8b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418c8f
add eax, 2
add esi, 2
test cl, cl
jne 0x418c6b
xor eax, eax
jmp 0x418c94
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x418ecc
add dword [esp + 0x30], 9
jmp 0x418e91
mov esi, str.CTEM_LINER_SINGLE
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418cd6
test cl, cl
je 0x418cd2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418cd6
add eax, 2
add esi, 2
test cl, cl
jne 0x418cb2
xor eax, eax
jmp 0x418cdb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x418e16
mov ecx, dword [esp + 0x7c]
lea eax, [edi + 6]
and ecx, 0xff
cmp eax, ecx
jg 0x41a2e0
mov eax, dword [esp + 0x2dc]
push 0xffffffffffffffff
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [eax + edi*4 + 4]
call fcn.004542d0
mov esi, str.default
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418d44
test cl, cl
je 0x418d40
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418d44
add eax, 2
add esi, 2
test cl, cl
jne 0x418d20
xor eax, eax
jmp 0x418d49
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x418dc2
lea eax, [esp + 0x94]
push eax
call fcn.004dc1cc
mov edx, dword [esp + 0x2e0]
add esp, 4
lea ecx, [esp + 0x94]
mov dword [esp + 0x78], eax
push 0xffffffffffffffff
push 0
push ecx
lea ecx, [edx + edi*4 + 8]
call fcn.004542d0
lea eax, [esp + 0x94]
push eax
call fcn.004dc1cc
add esp, 4
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x74], eax
test bx, bx
jle 0x418dc2
movsx ecx, bx
lea edi, [ecx*8 - 8]
push esi
lea ecx, [esp + 0x14]
call fcn.004541f0
and eax, 0xff
mov ecx, edi
shl eax, cl
sub edi, 8
add ebp, eax
inc esi
cmp si, bx
jl 0x418da4
cmp ebp, dword [esp + 0x78]
jb 0x418dd2
cmp ebp, dword [esp + 0x74]
jbe 0x4190d9
mov esi, str.default
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418e02
test cl, cl
je 0x418dfe
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418e02
add eax, 2
add esi, 2
test cl, cl
jne 0x418dde
xor eax, eax
jmp 0x418e07
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4190d9
add dword [esp + 0x30], 6
jmp 0x418e91
mov esi, str.CTEM_Display
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x418e46
test cl, cl
je 0x418e42
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x418e46
add eax, 2
add esi, 2
test cl, cl
jne 0x418e22
xor eax, eax
jmp 0x418e4b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419385
mov eax, dword [esp + 0x7c]
add edi, 2
and eax, 0xff
cmp edi, eax
jg 0x41a2e0
mov eax, dword [esp + 0x30]
push 0xffffffffffffffff
add eax, 2
lea ecx, [esp + 0x160]
movsx edx, ax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2e0]
push 0
push ecx
lea ecx, [eax + edx*4 + 4]
call fcn.004542d0
mov cx, word [esp + 0x30]
cmp cx, word [esp + 0x36]
jl 0x4188e6
jmp 0x41a2e0
movsx eax, word [esp + 0x18]
mov edx, dword [0x4f4164]
lea ecx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x60]
shl eax, 4
add eax, edx
push 0
push eax
call fcn.004017e0
jmp 0x41a2e0
xor esi, esi
mov dword [esp + 0x18], 0
test bx, bx
mov dword [esp + 0x1c], 0
jle 0x418f8a
movsx ecx, word [esp + 0x30]
mov bl, 0x53
lea edi, [ecx*4 + 0xc]
mov eax, dword [esp + 0x2dc]
push 0xffffffffffffffff
lea edx, [esp + 0x98]
push 0
push edx
lea ecx, [edi + eax]
call fcn.004542d0
cmp byte [esp + 0x94], bl
jne 0x418f44
lea ecx, [esp + 0x95]
push ecx
call fcn.004dc2ac
fstp qword [esp + 0x48]
add esp, 4
lea ecx, [esp + 0x10]
push esi
call fcn.004541f0
movsx edx, al
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
jmp 0x418f6f
lea eax, [esp + 0x94]
push eax
call fcn.004dc2ac
fstp qword [esp + 0x48]
add esp, 4
lea ecx, [esp + 0x10]
push esi
call fcn.004541f0
and eax, 0xff
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fmul qword [esp + 0x44]
inc esi
add edi, 4
cmp si, word [esp + 0x68]
fadd qword [esp + 0x18]
fstp qword [esp + 0x18]
jl 0x418ef5
movsx esi, word [esp + 0x30]
mov edx, dword [esp + 0x2dc]
push 0xffffffffffffffff
lea ecx, [esp + 0x98]
push 0
push ecx
lea ecx, [edx + esi*4 + 0x1c]
call fcn.004542d0
lea eax, [esp + 0x94]
push eax
call fcn.004dc2ac
fadd qword [esp + 0x1c]
mov edx, dword [esp + 0x2e0]
add esp, 4
lea ecx, [esp + 0x15c]
push 0xffffffffffffffff
push 0
fstp qword [esp + 0x20]
push ecx
lea ecx, [edx + esi*4 + 0x20]
call fcn.004542d0
lea eax, [esp + 0x15c]
push 0x64
push eax
call fcn.004dc1f0
add esp, 8
test eax, eax
je 0x419016
fld qword [esp + 0x18]
call fcn.004dc2fc
push eax
lea ecx, [esp + 0x98]
push 0x50790c
push ecx
call fcn.004dbc12
add esp, 0xc
jmp 0x419038
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edx
lea ecx, [esp + 0x160]
push eax
lea edx, [esp + 0x9c]
push ecx
push edx
call fcn.004dbc12
add esp, 0x10
lea edi, [esp + 0x94]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x20]
call fcn.004025c0
cmp eax, ebx
jae 0x41905d
call fcn.004db42b
mov edi, dword [esp + 0x24]
test edi, edi
je 0x419079
mov al, byte [edi - 1]
test al, al
je 0x419079
cmp al, 0xff
je 0x419079
test ebx, ebx
jne 0x4190a5
jmp 0x419342
test ebx, ebx
jne 0x41908d
push 1
lea ecx, [esp + 0x24]
call fcn.004019e0
jmp 0x41a2e0
mov eax, dword [esp + 0x2c]
cmp eax, 0x1f
ja 0x41909a
cmp eax, ebx
jae 0x4190b3
push 1
lea ecx, [esp + 0x24]
call fcn.004019e0
push ebx
lea ecx, [esp + 0x24]
call fcn.004025d0
mov edi, dword [esp + 0x24]
mov ecx, ebx
lea esi, [esp + 0x94]
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
call fcn.00401d30
jmp 0x41a2e0
movsx ebp, word [esp + 0x30]
mov edx, dword [esp + 0x2dc]
xor esi, esi
push 0xffffffffffffffff
lea ecx, [esp + 0x98]
push esi
push ecx
lea ecx, [edx + ebp*4 + 0xc]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call fcn.004542d0
mov eax, dword [esp + 0x68]
cmp ax, 1
jle 0x4191f3
cmp byte [esp + 0x94], 0x53
jne 0x419189
lea eax, [esp + 0x95]
push eax
call fcn.004dc2ac
fstp qword [esp + 0x48]
add esp, 4
lea ecx, [esp + 0x10]
call fcn.00454280
mov ebx, eax
cmp bx, si
jle 0x419177
movsx ecx, bx
lea edi, [ecx*8 - 8]
push esi
lea ecx, [esp + 0x14]
call fcn.004541f0
and eax, 0xff
mov ecx, edi
shl eax, cl
mov ecx, dword [esp + 0x6c]
sub edi, 8
add ecx, eax
inc esi
cmp si, bx
mov dword [esp + 0x6c], ecx
jl 0x419151
movsx edx, byte [esp + 0x6c]
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
jmp 0x419259
lea eax, [esp + 0x94]
push eax
call fcn.004dc2ac
fstp qword [esp + 0x48]
add esp, 4
lea ecx, [esp + 0x10]
call fcn.00454280
mov ebx, eax
cmp bx, si
jle 0x4191dd
movsx ecx, bx
lea edi, [ecx*8 - 8]
push esi
lea ecx, [esp + 0x14]
call fcn.004541f0
and eax, 0xff
mov ecx, edi
shl eax, cl
mov ecx, dword [esp + 0x6c]
sub edi, 8
add ecx, eax
inc esi
cmp si, bx
mov dword [esp + 0x6c], ecx
jl 0x4191b7
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], edx
fild qword [esp + 0x38]
jmp 0x419259
jne 0x419261
cmp byte [esp + 0x94], 0x53
jne 0x41922a
lea eax, [esp + 0x95]
push eax
call fcn.004dc2ac
fstp qword [esp + 0x48]
add esp, 4
lea ecx, [esp + 0x10]
push esi
call fcn.004541f0
movsx ecx, al
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
jmp 0x419259
lea edx, [esp + 0x94]
push edx
call fcn.004dc2ac
fstp qword [esp + 0x48]
add esp, 4
lea ecx, [esp + 0x10]
push esi
call fcn.004541f0
and eax, 0xff
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], eax
fild qword [esp + 0x38]
fmul qword [esp + 0x44]
fstp qword [esp + 0x18]
mov ecx, dword [esp + 0x2dc]
push 0xffffffffffffffff
lea eax, [esp + 0x98]
push 0
push eax
lea ecx, [ecx + ebp*4 + 0x10]
call fcn.004542d0
lea edx, [esp + 0x94]
push edx
call fcn.004dc2ac
fadd qword [esp + 0x1c]
mov ecx, dword [esp + 0x2e0]
add esp, 4
lea eax, [esp + 0x15c]
push 0xffffffffffffffff
push 0
fstp qword [esp + 0x20]
push eax
lea ecx, [ecx + ebp*4 + 0x14]
call fcn.004542d0
lea edx, [esp + 0x15c]
push 0x64
push edx
call fcn.004dc1f0
add esp, 8
test eax, eax
je 0x4192e8
fld qword [esp + 0x18]
call fcn.004dc2fc
push eax
lea eax, [esp + 0x98]
push 0x50790c
push eax
call fcn.004dbc12
add esp, 0xc
jmp 0x41930a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
lea eax, [esp + 0x160]
push edx
lea ecx, [esp + 0x9c]
push eax
push ecx
call fcn.004dbc12
add esp, 0x10
lea edi, [esp + 0x94]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x419327
call fcn.004db42b
mov edi, dword [esp + 0x24]
test edi, edi
je 0x419357
mov al, byte [edi - 1]
test al, al
je 0x419357
cmp al, 0xff
je 0x419357
test ebx, ebx
jne 0x41a2af
dec al
push 0
lea ecx, [esp + 0x24]
mov byte [edi - 1], al
call fcn.004019e0
jmp 0x41a2e0
test ebx, ebx
jne 0x41936b
push 1
lea ecx, [esp + 0x24]
call fcn.004019e0
jmp 0x41a2e0
mov eax, dword [esp + 0x2c]
cmp eax, 0x1f
ja 0x41a2a4
cmp eax, ebx
jae 0x41a2bd
jmp 0x41a2a4
mov esi, str.CTEM_EXTEND
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4193b9
test cl, cl
je 0x4193b5
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4193b9
add eax, 2
add esi, 2
test cl, cl
jne 0x419391
xor eax, eax
jmp 0x4193be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a2e0
movsx ecx, word [esp + 0x30]
mov edx, dword [esp + 0x2dc]
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x9c]
push eax
lea ecx, [edx + ecx*4 + 4]
call fcn.004542d0
mov esi, str.Scale_Camshaft_Position
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41941a
test cl, cl
je 0x419416
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41941a
add eax, 2
add esi, 2
test cl, cl
jne 0x4193f2
xor eax, eax
jmp 0x41941f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419436
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041c680
jmp 0x41a22f
mov esi, str.Scale_Engine_Roughness_Value
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41946a
test cl, cl
je 0x419466
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41946a
add eax, 2
add esi, 2
test cl, cl
jne 0x419442
xor eax, eax
jmp 0x41946f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419486
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041c730
jmp 0x41a22f
mov esi, str.Scale_Ignition_Angle
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4194ba
test cl, cl
je 0x4194b6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4194ba
add eax, 2
add esi, 2
test cl, cl
jne 0x419492
xor eax, eax
jmp 0x4194bf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4195a4
mov esi, str.Scale_Purge_Canister_Load_Level
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4194fb
test cl, cl
je 0x4194f7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4194fb
add eax, 2
add esi, 2
test cl, cl
jne 0x4194d3
xor eax, eax
jmp 0x419500
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419517
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041c7f0
jmp 0x41a22f
mov esi, str.Scale_Fuel_Trim_Long_Additive
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41954b
test cl, cl
je 0x419547
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41954b
add eax, 2
add esi, 2
test cl, cl
jne 0x419523
xor eax, eax
jmp 0x419550
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419567
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041c8b0
jmp 0x41a22f
mov esi, str.Scale_Ignition_Angle
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41959b
test cl, cl
je 0x419597
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41959b
add eax, 2
add esi, 2
test cl, cl
jne 0x419573
xor eax, eax
jmp 0x4195a0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4195b7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041c970
jmp 0x41a22f
mov esi, str.Scale_Engine_Torque_Clutch_Demand
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4195eb
test cl, cl
je 0x4195e7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4195eb
add eax, 2
add esi, 2
test cl, cl
jne 0x4195c3
xor eax, eax
jmp 0x4195f0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419607
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041ca20
jmp 0x41a22f
mov esi, str.Scale_Vacuum_Booster
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41963b
test cl, cl
je 0x419637
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41963b
add eax, 2
add esi, 2
test cl, cl
jne 0x419613
xor eax, eax
jmp 0x419640
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419657
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041cad0
jmp 0x41a22f
mov esi, str.Scale_Cam_Over
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41968b
test cl, cl
je 0x419687
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41968b
add eax, 2
add esi, 2
test cl, cl
jne 0x419663
xor eax, eax
jmp 0x419690
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4196a7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041cc30
jmp 0x41a22f
mov esi, str.Scale_Air_Path_Adapt
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4196db
test cl, cl
je 0x4196d7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4196db
add eax, 2
add esi, 2
test cl, cl
jne 0x4196b3
xor eax, eax
jmp 0x4196e0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4196f7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041ccf0
jmp 0x41a22f
mov esi, str.Scale_Air_Path
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41972b
test cl, cl
je 0x419727
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41972b
add eax, 2
add esi, 2
test cl, cl
jne 0x419703
xor eax, eax
jmp 0x419730
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419747
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041cdb0
jmp 0x41a22f
mov esi, str.Scale_FlyWheel
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41977b
test cl, cl
je 0x419777
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41977b
add eax, 2
add esi, 2
test cl, cl
jne 0x419753
xor eax, eax
jmp 0x419780
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419797
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041ce70
jmp 0x41a22f
mov esi, str.Scale_Knk
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4197cb
test cl, cl
je 0x4197c7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4197cb
add eax, 2
add esi, 2
test cl, cl
jne 0x4197a3
xor eax, eax
jmp 0x4197d0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4197e7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041cf20
jmp 0x41a22f
mov esi, str.Scale_Eng_R
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41981b
test cl, cl
je 0x419817
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41981b
add eax, 2
add esi, 2
test cl, cl
jne 0x4197f3
xor eax, eax
jmp 0x419820
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419837
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041cfd0
jmp 0x41a22f
mov esi, str.Scale_Eng_iga_av_mv
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41986b
test cl, cl
je 0x419867
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41986b
add eax, 2
add esi, 2
test cl, cl
jne 0x419843
xor eax, eax
jmp 0x419870
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419887
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d080
jmp 0x41a22f
mov esi, str.Scale_Eng_Tor
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4198bb
test cl, cl
je 0x4198b7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4198bb
add eax, 2
add esi, 2
test cl, cl
jne 0x419893
xor eax, eax
jmp 0x4198c0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4198d7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d110
jmp 0x41a22f
mov esi, str.Scale_Fuel_Trim_Add
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41990b
test cl, cl
je 0x419907
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41990b
add eax, 2
add esi, 2
test cl, cl
jne 0x4198e3
xor eax, eax
jmp 0x419910
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419927
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d1d0
jmp 0x41a22f
mov esi, str.Scale_Acceleration
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41995b
test cl, cl
je 0x419957
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41995b
add eax, 2
add esi, 2
test cl, cl
jne 0x419933
xor eax, eax
jmp 0x419960
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419977
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d290
jmp 0x41a22f
mov esi, str.Scale_Air_Pressure
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4199ab
test cl, cl
je 0x4199a7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4199ab
add eax, 2
add esi, 2
test cl, cl
jne 0x419983
xor eax, eax
jmp 0x4199b0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4199c7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d390
jmp 0x41a22f
mov esi, str.scale_coolant_temp
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4199fb
test cl, cl
je 0x4199f7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4199fb
add eax, 2
add esi, 2
test cl, cl
jne 0x4199d3
xor eax, eax
jmp 0x419a00
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419a17
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d4b0
jmp 0x41a22f
mov esi, str.scale_evap_temp
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419a4b
test cl, cl
je 0x419a47
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419a4b
add eax, 2
add esi, 2
test cl, cl
jne 0x419a23
xor eax, eax
jmp 0x419a50
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419a67
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d420
jmp 0x41a22f
mov esi, str.scale_inCar_Temp
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419a9b
test cl, cl
je 0x419a97
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419a9b
add eax, 2
add esi, 2
test cl, cl
jne 0x419a73
xor eax, eax
jmp 0x419aa0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419ab7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d4b0
jmp 0x41a22f
mov esi, str.scale_outside_temp
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419aeb
test cl, cl
je 0x419ae7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419aeb
add eax, 2
add esi, 2
test cl, cl
jne 0x419ac3
xor eax, eax
jmp 0x419af0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419b07
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d540
jmp 0x41a22f
mov esi, str.Scale_VDO_BATT_VOLTS
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419b3b
test cl, cl
je 0x419b37
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419b3b
add eax, 2
add esi, 2
test cl, cl
jne 0x419b13
xor eax, eax
jmp 0x419b40
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419b57
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d5f0
jmp 0x41a22f
mov esi, str.Scale_VDO_ROAD_SPEED
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419b8b
test cl, cl
je 0x419b87
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419b8b
add eax, 2
add esi, 2
test cl, cl
jne 0x419b63
xor eax, eax
jmp 0x419b90
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419ba7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d6a0
jmp 0x41a22f
mov esi, str.Scale_VDO_FUEL_GAUGE
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419bdb
test cl, cl
je 0x419bd7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419bdb
add eax, 2
add esi, 2
test cl, cl
jne 0x419bb3
xor eax, eax
jmp 0x419be0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419bf7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d740
jmp 0x41a22f
mov esi, str.Scale_VDO_AMBIENT_TEMP
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419c2b
test cl, cl
je 0x419c27
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419c2b
add eax, 2
add esi, 2
test cl, cl
jne 0x419c03
xor eax, eax
jmp 0x419c30
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419c47
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d810
jmp 0x41a22f
mov esi, str.ScaleStub
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419c7b
test cl, cl
je 0x419c77
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419c7b
add eax, 2
add esi, 2
test cl, cl
jne 0x419c53
xor eax, eax
jmp 0x419c80
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419c97
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d8a0
jmp 0x41a22f
mov esi, str.Scale_Engine_Torque
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419ccb
test cl, cl
je 0x419cc7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419ccb
add eax, 2
add esi, 2
test cl, cl
jne 0x419ca3
xor eax, eax
jmp 0x419cd0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419ce7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d920
jmp 0x41a22f
mov esi, str.Scale_Engine_Torque_Clutch
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419d1b
test cl, cl
je 0x419d17
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419d1b
add eax, 2
add esi, 2
test cl, cl
jne 0x419cf3
xor eax, eax
jmp 0x419d20
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419d37
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d920
jmp 0x41a22f
mov esi, str.Scale_Fuel_Trim
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419d6b
test cl, cl
je 0x419d67
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419d6b
add eax, 2
add esi, 2
test cl, cl
jne 0x419d43
xor eax, eax
jmp 0x419d70
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419d87
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041d9e0
jmp 0x41a22f
mov esi, str.Scale_Knock_Window
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419dbb
test cl, cl
je 0x419db7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419dbb
add eax, 2
add esi, 2
test cl, cl
jne 0x419d93
xor eax, eax
jmp 0x419dc0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419dd7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041daa0
jmp 0x41a22f
mov esi, str.Scale_Idle_Speed_Integrator
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419e0b
test cl, cl
je 0x419e07
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419e0b
add eax, 2
add esi, 2
test cl, cl
jne 0x419de3
xor eax, eax
jmp 0x419e10
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419e27
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041db60
jmp 0x41a22f
mov esi, str.Scale_Yaw
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419e5b
test cl, cl
je 0x419e57
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419e5b
add eax, 2
add esi, 2
test cl, cl
jne 0x419e33
xor eax, eax
jmp 0x419e60
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419e77
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041dc20
jmp 0x41a22f
mov esi, str.Scale_SteeringAngle
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419eab
test cl, cl
je 0x419ea7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419eab
add eax, 2
add esi, 2
test cl, cl
jne 0x419e83
xor eax, eax
jmp 0x419eb0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419ec7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041dcd0
jmp 0x41a22f
mov esi, str.Scale_SRS_BATT_VOLTAGE
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419efb
test cl, cl
je 0x419ef7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419efb
add eax, 2
add esi, 2
test cl, cl
jne 0x419ed3
xor eax, eax
jmp 0x419f00
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419f17
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041dd80
jmp 0x41a22f
mov esi, str.Scale_SRS_CAP_VOLTAGE
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419f4b
test cl, cl
je 0x419f47
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419f4b
add eax, 2
add esi, 2
test cl, cl
jne 0x419f23
xor eax, eax
jmp 0x419f50
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419f67
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041de20
jmp 0x41a22f
mov esi, str.Scale_Ambient_Temp
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419f9b
test cl, cl
je 0x419f97
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419f9b
add eax, 2
add esi, 2
test cl, cl
jne 0x419f73
xor eax, eax
jmp 0x419fa0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419fb7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041deb0
jmp 0x41a22f
mov esi, str.Scale_SUNROOF_POSITION
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x419feb
test cl, cl
je 0x419fe7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x419feb
add eax, 2
add esi, 2
test cl, cl
jne 0x419fc3
xor eax, eax
jmp 0x419ff0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a007
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041df50
jmp 0x41a22f
mov esi, str.Scale_GM6_WIPER_DELAY_POT
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41a03b
test cl, cl
je 0x41a037
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41a03b
add eax, 2
add esi, 2
test cl, cl
jne 0x41a013
xor eax, eax
jmp 0x41a040
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a057
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041e040
jmp 0x41a22f
mov esi, str.Scale_Wheel_Speed
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41a08b
test cl, cl
je 0x41a087
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41a08b
add eax, 2
add esi, 2
test cl, cl
jne 0x41a063
xor eax, eax
jmp 0x41a090
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a0a7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041e0e0
jmp 0x41a22f
mov esi, str.Scale_Steering_Angle
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41a0db
test cl, cl
je 0x41a0d7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41a0db
add eax, 2
add esi, 2
test cl, cl
jne 0x41a0b3
xor eax, eax
jmp 0x41a0e0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a0f7
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041e180
jmp 0x41a22f
mov esi, str.Scale_Yaw_Rate
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41a12b
test cl, cl
je 0x41a127
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41a12b
add eax, 2
add esi, 2
test cl, cl
jne 0x41a103
xor eax, eax
jmp 0x41a130
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a147
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041e240
jmp 0x41a22f
mov esi, str.Scale_GM6_TRAP_SNSR_BIT5
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41a17b
test cl, cl
je 0x41a177
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41a17b
add eax, 2
add esi, 2
test cl, cl
jne 0x41a153
xor eax, eax
jmp 0x41a180
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a197
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041e300
jmp 0x41a22f
mov esi, str.Scale_GM6_WIPER_FDBK_SIG
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41a1cb
test cl, cl
je 0x41a1c7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41a1cb
add eax, 2
add esi, 2
test cl, cl
jne 0x41a1a3
xor eax, eax
jmp 0x41a1d0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a1e4
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041e410
jmp 0x41a22f
mov esi, str.Scale_GM6_TRAP_SNSR
lea eax, [esp + 0x94]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41a218
test cl, cl
je 0x41a214
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41a218
add eax, 2
add esi, 2
test cl, cl
jne 0x41a1f0
xor eax, eax
jmp 0x41a21d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41a233
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.0041e4f0
fstp qword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x9c]
push str._.2f
push eax
call fcn.004dbc12
lea edi, [esp + 0xa4]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x41a26f
call fcn.004db42b
mov edi, dword [esp + 0x24]
test edi, edi
je 0x41a286
mov al, byte [edi - 1]
test al, al
je 0x41a286
cmp al, 0xff
jne 0x41933a
test ebx, ebx
jne 0x41a297
push 1
lea ecx, [esp + 0x24]
call fcn.004019e0
jmp 0x41a2e0
mov eax, dword [esp + 0x2c]
cmp eax, 0x1f
ja 0x41a2a4
cmp eax, ebx
jae 0x41a2bd
push 1
lea ecx, [esp + 0x24]
call fcn.004019e0
push ebx
lea ecx, [esp + 0x24]
call fcn.004025d0
mov edi, dword [esp + 0x24]
mov ecx, ebx
lea esi, [esp + 0x94]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
mov byte [ebx + eax], 0
mov ebp, dword [esp + 0x2d0]
mov cl, byte [esp + 0x20]
mov eax, dword [esp + 0x28]
xor edi, edi
mov byte [ebp], cl
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov esi, dword [0x4f4164]
mov ebx, eax
cmp esi, ebx
jae 0x41a30b
mov ebx, esi
lea edx, [esp + 0x20]
cmp ebp, edx
jne 0x41a36d
cmp ebx, edi
jbe 0x41a31c
call fcn.004db657
mov ecx, ebp
call fcn.004026e0
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x41a32e
mov esi, eax
cmp esi, edi
jbe 0x41a361
mov ecx, dword [ebp + 4]
sub eax, esi
add ebx, ecx
push eax
lea ecx, [ebx + esi]
push ecx
push ebx
call fcn.004dbcc0
mov ebx, dword [ebp + 8]
add esp, 0xc
sub ebx, esi
mov ecx, ebp
push edi
push ebx
call fcn.00401d50
test al, al
je 0x41a361
push ebx
mov ecx, ebp
call fcn.00401d30
mov ecx, ebp
call fcn.004026e0
jmp 0x41a3f4
cmp ebx, edi
jbe 0x41a3b9
cmp ebx, eax
jne 0x41a3b9
mov eax, dword [esp + 0x24]
cmp eax, edi
jne 0x41a382
mov eax, 0x4f4178
cmp byte [eax - 1], 0xfe
jae 0x41a3b9
push 1
mov ecx, ebp
call fcn.004019e0
mov eax, dword [esp + 0x24]
cmp eax, edi
jne 0x41a39e
mov eax, 0x4f4178
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [ebp + 4], eax
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ecx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x41a3f4
push 1
push ebx
mov ecx, ebp
call fcn.00401d50
test al, al
je 0x41a3f4
mov esi, dword [esp + 0x24]
cmp esi, edi
jne 0x41a3d4
mov esi, 0x4f4178
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
xor edi, edi
mov byte [ebx], 0
lea ecx, [esp + 0x50]
mov dword [esp + 0x90], 1
mov byte [esp + 0x2c8], 9
call fcn.00453ea0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2c8], 8
call fcn.00453ea0
lea ecx, [esp + 0x70]
mov byte [esp + 0x2c8], 7
call fcn.00453ea0
lea ecx, [esp + 0x10]
mov byte [esp + 0x2c8], 6
call fcn.00453ea0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2c8], 5
call fcn.00453ea0
lea ecx, [esp + 0x54]
mov byte [esp + 0x2c8], 4
call fcn.00453ea0
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
cmp esi, eax
mov ebx, eax
je 0x41a4af
add esi, 4
mov eax, dword [esi]
cmp eax, edi
je 0x41a499
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a490
cmp al, 0xff
je 0x41a490
dec al
mov byte [ecx], al
jmp 0x41a499
push ecx
call fcn.004db420
add esp, 4
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
add esi, 0x10
lea eax, [esi - 4]
cmp eax, ebx
jne 0x41a476
mov esi, dword [esp + 0x5c]
push esi
call fcn.004db420
mov eax, dword [esp + 0x88]
add esp, 4
cmp eax, edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
je 0x41a4ec
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a4e3
cmp al, 0xff
je 0x41a4e3
dec al
mov byte [ecx], al
jmp 0x41a4ec
push ecx
call fcn.004db420
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x84], edi
cmp eax, edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
je 0x41a526
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41a51d
cmp al, 0xff
je 0x41a51d
dec al
mov byte [ecx], al
jmp 0x41a526
push ecx
call fcn.004db420
add esp, 4
mov esi, dword [esp + 0x2dc]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x2e0]
mov byte [esp + 0x2c8], 0
cmp esi, edi
je 0x41a561
mov ecx, esi
call fcn.00453ea0
add esi, 4
cmp esi, edi
jne 0x41a54c
mov esi, dword [esp + 0x2dc]
push esi
call fcn.004db420
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x2c0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2bc
ret 0x18