Function at 0x4b9830
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x502e2c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc38
mov edx, dword [esp + 0xc48]
push ebx
push esi
push edi
mov dword [esp + 0xc], ecx
lea ebx, [ecx + 0x2a40]
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
push edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004b9770
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x8b0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x100
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x4000
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 + 0x8b8]
push ecx
call dword [sym.imp.MSVCRT.dll__open]
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
jne 0x4b98d3
xor eax, eax
jmp 0x4bbcda
push ebp
mov ebp, dword [esp + 0x10]
push 0x52e150
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetWindowTextA
push esi
call dword [sym.imp.MSVCRT.dll__filelength]
mov edi, eax
push 1
push edi
call dword [sym.imp.MSVCRT.dll_calloc]
mov ebx, eax
push edi
push ebx
push esi
call dword [sym.imp.MSVCRT.dll__read]
push esi
mov byte [eax + ebx], 0
call dword [sym.imp.MSVCRT.dll__close]
mov esi, dword [ebp + 0x2978]
mov edi, dword [ebp + 0x2974]
lea eax, [ebp + 0x2970]
add esp, 0x1c
cmp esi, esi
mov ebp, esi
je 0x4b9939
push ebp
mov ecx, edi
call fcn.004be440
add ebp, 0x40
add edi, 0x40
cmp ebp, esi
jne 0x4b9927
mov eax, dword [esp + 0x10]
mov esi, edi
mov ebp, dword [eax + 0x2978]
cmp edi, ebp
je 0x4b995c
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx]
add esi, 0x40
cmp esi, ebp
jne 0x4b9949
mov eax, dword [esp + 0x10]
mov dword [eax + 0x2978], edi
mov ebp, dword [eax + 0x2644]
mov edi, dword [ebp]
cmp edi, ebp
je 0x4b99a9
mov esi, edi
mov edi, dword [edi]
push 0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, dword [esi]
mov eax, dword [esi + 4]
lea ecx, [esi + 8]
mov dword [edx + 4], eax
mov edx, dword [ecx]
call dword [edx]
push esi
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax + 0x2648]
dec ecx
cmp edi, ebp
mov dword [eax + 0x2648], ecx
jne 0x4b996f
mov esi, dword [eax + 0x28d4]
mov edi, dword [eax + 0x28d0]
cmp esi, esi
mov ebp, esi
je 0x4b99d7
push ebp
mov ecx, edi
call fcn.004be380
add ebp, 0xf4
add edi, 0xf4
cmp ebp, esi
jne 0x4b99bb
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x28d4]
mov esi, edi
cmp edi, ebp
je 0x4b99f9
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax]
add esi, 0xf4
cmp esi, ebp
jne 0x4b99e3
mov eax, dword [esp + 0x10]
mov dword [eax + 0x28d4], edi
mov ebp, dword [eax + 0x28e0]
mov edi, dword [ebp]
cmp edi, ebp
je 0x4b9a46
mov esi, edi
mov edi, dword [edi]
push 0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, dword [esi]
mov eax, dword [esi + 4]
lea ecx, [esi + 8]
mov dword [edx + 4], eax
mov edx, dword [ecx]
call dword [edx]
push esi
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax + 0x28e4]
dec ecx
cmp edi, ebp
mov dword [eax + 0x28e4], ecx
jne 0x4b9a0c
mov ebp, dword [eax + 0x28ec]
mov edi, dword [ebp]
cmp edi, ebp
je 0x4b9a8d
mov esi, edi
mov edi, dword [edi]
push 0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, dword [esi]
mov eax, dword [esi + 4]
lea ecx, [esi + 8]
mov dword [edx + 4], eax
mov edx, dword [ecx]
call dword [edx]
push esi
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax + 0x28f0]
dec ecx
cmp edi, ebp
mov dword [eax + 0x28f0], ecx
jne 0x4b9a53
mov ebp, dword [esp + 0x10]
xor esi, esi
push esi
mov dword [ebp + 0x9a0], esi
mov dword [ebp + 0x29a0], esi
mov dword [ebp + 0x29a4], esi
lea ecx, [ebp + 0xd8]
mov dword [0x53b02c], esi
call sub.MFC42.DLL_CWnd::ShowWindow
lea ecx, [ebp + 0x29c0]
push esi
call sub.MFC42.DLL_CWnd::ShowWindow
mov dword [ebp + 0x29bc], esi
mov cx, word [0x52e14c]
mov eax, dword [str._:__t_n]
mov dx, word [0x52e144]
mov word [esp + 0x20], cx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov al, byte [0x52e146]
push ecx
push ebx
mov word [esp + 0x2c], dx
mov byte [esp + 0x2e], al
call dword [sym.imp.MSVCRT.dll_strtok]
mov edi, eax
add esp, 8
cmp edi, esi
mov dword [esp + 0x28], edi
je 0x4bb9d0
jmp 0x4b9b16
mov edi, dword [esp + 0x28]
mov esi, str.SCALE_X
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9b45
test cl, cl
je 0x4b9b41
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9b45
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9b1d
xor eax, eax
jmp 0x4b9b4a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4b9b60
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004bc480
fstp dword [ebp + 0x2980]
mov esi, str.SCALE_Y
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9b8f
test cl, cl
je 0x4b9b8b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9b8f
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9b67
xor eax, eax
jmp 0x4b9b94
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4b9baa
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004bc480
fstp dword [ebp + 0x2984]
mov esi, str.POS_X
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9bd9
test cl, cl
je 0x4b9bd5
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9bd9
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9bb1
xor eax, eax
jmp 0x4b9bde
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4b9bf4
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004bc450
mov dword [ebp + 0x2988], eax
mov esi, str.POS_Y
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9c23
test cl, cl
je 0x4b9c1f
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9c23
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9bfb
xor eax, eax
jmp 0x4b9c28
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4b9c3e
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004bc450
mov dword [ebp + 0x298c], eax
mov esi, str.FONT_NAME
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9c6d
test cl, cl
je 0x4b9c69
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9c6d
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9c45
xor eax, eax
jmp 0x4b9c72
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4b9c89
lea eax, [esp + 0x24]
lea ecx, [ebp + 0x9b0]
push eax
push ecx
mov ecx, ebp
call fcn.004bc4b0
mov esi, str.BUTTON
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9cb8
test cl, cl
je 0x4b9cb4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9cb8
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9c90
xor eax, eax
jmp 0x4b9cbd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4b9e3b
lea ecx, [esp + 0x9dc]
call fcn.00429c20
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
mov ecx, ebx
mov dword [esp + 0xc54], 0
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [ebx + 0x2980]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov esi, eax
push ecx
mov ecx, ebx
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [ebx + 0x2984]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x1c]
mov ecx, ebx
push edx
mov edi, eax
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [ebx + 0x2980]
call sub.MSVCRT.dll__ftol
mov ebp, eax
lea eax, [esp + 0x1c]
push eax
mov ecx, ebx
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [ebx + 0x2984]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x24]
lea edx, [esp + 0x52c]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov ebx, eax
call fcn.004bc4b0
lea eax, [esp + 0x24]
lea ecx, [esp + 0x784]
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.004bc4b0
lea edx, [esp + 0x784]
lea eax, [esp + 0x52c]
push edx
push eax
push ebx
push ebp
push edi
push esi
lea ecx, [esp + 0x9f4]
call fcn.00429cb0
mov ecx, dword [esp + 0x10]
push 0x274
mov esi, dword [ecx + 0x2644]
mov edi, dword [esi + 4]
call sub.MFC42.DLL_operatornew
add esp, 4
mov ecx, esi
test esi, esi
jne 0x4b9dd2
mov ecx, eax
test edi, edi
mov dword [eax], ecx
jne 0x4b9dda
mov edi, eax
mov dword [eax + 4], edi
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
add eax, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], eax
test eax, eax
mov byte [esp + 0xc50], 1
je 0x4b9e0b
lea edx, [esp + 0x9dc]
mov ecx, eax
push edx
call fcn.004be4a0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc50], 0xffffffff
mov ecx, dword [eax + 0x2648]
inc ecx
mov dword [eax + 0x2648], ecx
lea ecx, [esp + 0x9dc]
call fcn.00429ca0
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov esi, str.EDIT
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9e6a
test cl, cl
je 0x4b9e66
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9e6a
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9e42
xor eax, eax
jmp 0x4b9e6f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba00d
lea ecx, [esp + 0x2f8]
call fcn.00429d80
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
mov ecx, ebx
mov dword [esp + 0xc54], 2
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [ebx + 0x2980]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov esi, eax
push ecx
mov ecx, ebx
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [ebx + 0x2984]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x1c]
mov ecx, ebx
push edx
mov edi, eax
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [ebx + 0x2980]
call sub.MSVCRT.dll__ftol
mov ebp, eax
lea eax, [esp + 0x1c]
push eax
mov ecx, ebx
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [ebx + 0x2984]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x24]
lea edx, [esp + 0x294]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov ebx, eax
call fcn.004bc4b0
push ebx
push ebp
push edi
push esi
lea ecx, [esp + 0x308]
call fcn.00429dd0
mov esi, str.TEST_EDIT
lea eax, [esp + 0x294]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9f70
test cl, cl
je 0x4b9f6c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9f70
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9f48
xor eax, eax
jmp 0x4b9f75
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4b9f80
push 0x52db28
jmp 0x4b9fc2
mov esi, str.INC_FEED
lea eax, [esp + 0x294]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4b9fb4
test cl, cl
je 0x4b9fb0
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4b9fb4
add eax, 2
add esi, 2
test cl, cl
jne 0x4b9f8c
xor eax, eax
jmp 0x4b9fb9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4b9fce
push 0x538500
lea ecx, [esp + 0x2fc]
call fcn.00429e90
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x2f8]
push edx
push 1
lea ecx, [eax + 0x28cc]
mov eax, dword [eax + 0x28d4]
push eax
call fcn.004bdb70
lea ecx, [esp + 0x2f8]
mov dword [esp + 0xc50], 0xffffffff
call fcn.00429dc0
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov esi, str.WIDTH
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba03c
test cl, cl
je 0x4ba038
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba03c
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba014
xor eax, eax
jmp 0x4ba041
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba057
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004bc450
mov dword [ebp + 0x9a4], eax
mov esi, str.HEIGHT
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba086
test cl, cl
je 0x4ba082
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba086
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba05e
xor eax, eax
jmp 0x4ba08b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba0a1
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004bc450
mov dword [ebp + 0x9a8], eax
mov esi, str.AUTO_MODE
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba0d0
test cl, cl
je 0x4ba0cc
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba0d0
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba0a8
xor eax, eax
jmp 0x4ba0d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba109
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004bc450
test eax, eax
je 0x4ba0ff
mov dword [0x538e7c], 2
mov dword [0x538e68], 0
jmp 0x4ba109
mov dword [0x538e7c], 8
mov esi, str.AXIS_NAME
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba138
test cl, cl
je 0x4ba134
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba138
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba110
xor eax, eax
jmp 0x4ba13d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba15f
lea esi, [ebp + 0x780]
mov edi, 4
lea eax, [esp + 0x24]
mov ecx, ebp
push eax
push esi
call fcn.004bc4b0
add esi, 0x64
dec edi
jne 0x4ba14c
mov edi, dword [esp + 0x28]
mov esi, str.COORDINATE_NAME
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba192
test cl, cl
je 0x4ba18e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba192
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba16a
xor eax, eax
jmp 0x4ba197
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba1b8
mov esi, 0x52da1c
lea eax, [esp + 0x24]
mov ecx, ebp
push eax
push esi
call fcn.004bc4b0
add esi, 0xa
cmp esi, str.SIMUL
jl 0x4ba1a0
mov esi, str.EMERGENCY_NAME
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba1e7
test cl, cl
je 0x4ba1e3
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba1e7
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba1bf
xor eax, eax
jmp 0x4ba1ec
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba201
lea eax, [esp + 0x24]
mov ecx, ebp
push eax
push 0x536450
call fcn.004bc4b0
mov esi, str.RESET_NAME
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba230
test cl, cl
je 0x4ba22c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba230
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba208
xor eax, eax
jmp 0x4ba235
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba24a
lea eax, [esp + 0x24]
mov ecx, ebp
push eax
push 0x53659c
call fcn.004bc4b0
mov esi, str.RETURN_ORIGIN
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba279
test cl, cl
je 0x4ba275
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba279
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba251
xor eax, eax
jmp 0x4ba27e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba28c
mov dword [0x538e7c], 7
mov esi, str.NC_EDIT
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba2bb
test cl, cl
je 0x4ba2b7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba2bb
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba293
xor eax, eax
jmp 0x4ba2c0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba554
mov esi, dword [esp + 0x10]
mov dword [esi + 0x29a0], 1
mov eax, dword [0x52be98]
mov dword [esp + 0x60], eax
mov cx, word [0x52be9c]
xor eax, eax
mov dl, byte [0x52be9e]
mov dword [esp + 0x67], eax
mov word [esp + 0x64], cx
mov dword [esp + 0x6b], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x6f], eax
push ecx
mov dword [esp + 0x77], eax
mov ecx, esi
mov dword [esp + 0x7b], eax
mov byte [esp + 0x6a], dl
mov word [esp + 0x7f], ax
mov byte [esp + 0x81], al
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [esi + 0x2980]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x1c]
mov ecx, esi
push edx
mov ebp, eax
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [esi + 0x2984]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [esi + 0x2980]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], eax
push ecx
mov ecx, esi
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [esi + 0x2984]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x30], eax
lea edx, [esp + 0x24]
lea eax, [esp + 0x60]
push edx
push eax
mov ecx, esi
call fcn.004bc4b0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004bc450
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [esi + 0x2984]
call sub.MSVCRT.dll__ftol
mov esi, eax
lea edi, [esp + 0xa0]
mov ebx, 3
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
call fcn.004bc450
mov dword [edi], eax
add edi, 4
dec ebx
jne 0x4ba3df
lea edi, [esp + 0xbc]
mov ebx, 3
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
call fcn.004bc450
mov dword [edi], eax
add edi, 4
dec ebx
jne 0x4ba401
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xcc]
push ecx
lea ebx, [edx + 0xd8]
mov ecx, ebx
call sub.MFC42.DLL_CRichEditCtrl::GetDefaultCharFormat
lea eax, [esi + esi*4]
lea edi, [esp + 0x60]
shl eax, 2
mov dword [esp + 0xd8], eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xe6]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0xdc], 5
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0xa4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xa0]
and ecx, 3
and edx, 0xff
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0xd0]
and ecx, 0xff
and eax, 0xff
shl ecx, 8
or ecx, edx
or edi, 0xe0000001
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xe0], ecx
lea ecx, [esp + 0xcc]
and eax, 0xbffffffe
push ecx
mov ecx, ebx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], edi
call sub.MFC42.DLL_CRichEditCtrl::SetDefaultCharFormat
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xbc]
and eax, 0xff
mov esi, dword [esp + 0x10]
and edx, 0xff
shl eax, 8
or eax, edx
mov edx, dword [esi + 0xf8]
shl eax, 8
and ecx, 0xff
or eax, ecx
push eax
push 0
push 0x443
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
push 1
push eax
push ecx
push edx
push ebp
mov ecx, ebx
call sub.MFC42.DLL_CWnd::MoveWindow
push 1
mov ecx, ebx
call sub.MFC42.DLL_CWnd::ShowWindow
mov edi, dword [esp + 0x28]
mov dword [esi + 0x29b8], ebx
mov ebp, esi
mov esi, str.LIST_EDIT
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba583
test cl, cl
je 0x4ba57f
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba583
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba55b
xor eax, eax
jmp 0x4ba588
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba863
mov esi, dword [esp + 0x10]
mov dword [esi + 0x29bc], 1
mov eax, dword [0x52be98]
mov dword [esp + 0x80], eax
mov cx, word [0x52be9c]
xor eax, eax
mov dl, byte [0x52be9e]
mov dword [esp + 0x87], eax
mov word [esp + 0x84], cx
mov dword [esp + 0x8b], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x8f], eax
push ecx
mov dword [esp + 0x97], eax
mov ecx, esi
mov dword [esp + 0x9b], eax
mov byte [esp + 0x8a], dl
mov word [esp + 0x9f], ax
mov byte [esp + 0xa1], al
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0x2980]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x1c]
mov ecx, esi
push edx
mov ebp, eax
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0x2984]
call sub.MSVCRT.dll__ftol
mov ebx, eax
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0x2980]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov dword [esp + 0x30], eax
push ecx
mov ecx, esi
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0x2984]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x2c], eax
lea edx, [esp + 0x24]
lea eax, [esp + 0x80]
push edx
push eax
mov ecx, esi
call fcn.004bc4b0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0x2984]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x14], eax
lea esi, [esp + 0x50]
mov edi, 3
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
call fcn.004bc450
mov dword [esi], eax
add esi, 4
dec edi
jne 0x4ba6c2
mov edi, dword [esp + 0x10]
lea esi, [esp + 0xac]
mov dword [esp + 0x18], 3
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
call fcn.004bc450
mov dword [esi], eax
mov eax, dword [esp + 0x18]
add esi, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x4ba6eb
lea ecx, [esp + 0x24]
lea edx, [esp + 0x234]
push ecx
push edx
mov ecx, edi
call fcn.004bc4b0
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
and eax, 0xff
shl eax, 8
and ecx, 0xff
and edx, 0xff
or eax, ecx
mov ecx, dword [esp + 0x54]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x5c]
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
and edx, 0xff
shl eax, 8
or eax, edx
lea ecx, [esp + 0x84]
push eax
mov eax, dword [esp + 0x1c]
push eax
lea esi, [edi + 0x29c0]
push ecx
mov ecx, esi
call fcn.00475850
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push 1
push edx
push eax
push ebx
push ebp
mov ecx, esi
call sub.MFC42.DLL_CWnd::MoveWindow
push 1
mov ecx, esi
call sub.MFC42.DLL_CWnd::ShowWindow
mov dword [edi + 0x29b8], esi
mov esi, str.LIST_TOOL
lea eax, [esp + 0x234]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba7e6
test cl, cl
je 0x4ba7e2
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba7e6
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba7be
xor eax, eax
jmp 0x4ba7eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba7fb
mov dword [edi + 0x29bc], 1
jmp 0x4ba842
mov esi, str.LIST_CHUCK
lea eax, [esp + 0x234]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba82f
test cl, cl
je 0x4ba82b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba82f
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba807
xor eax, eax
jmp 0x4ba834
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba842
mov dword [edi + 0x29bc], 2
mov eax, dword [edi + 0x29bc]
mov ecx, edi
push eax
lea eax, [edi + 0x29c0]
push 1
push eax
push 0x18
call fcn.004b9510
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov esi, str.LINE_NUMBER
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba892
test cl, cl
je 0x4ba88e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba892
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba86a
xor eax, eax
jmp 0x4ba897
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba913
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
mov dword [ebp + 0x29a4], 1
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [ebp + 0x2980]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov dword [ebp + 0x29a8], eax
push ecx
mov ecx, ebp
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [ebp + 0x2984]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x1c]
mov ecx, ebp
push edx
mov dword [ebp + 0x29ac], eax
call fcn.004bc450
mov dword [ebp + 0x29b0], eax
lea eax, [esp + 0x1c]
push eax
mov ecx, ebp
call fcn.004bc450
mov dword [ebp + 0x29b4], eax
mov esi, str.PULSE_MOVE
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba942
test cl, cl
je 0x4ba93e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba942
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba91a
xor eax, eax
jmp 0x4ba947
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba955
mov dword [0x53b02c], 1
mov esi, str.SIMUL_HANDLE
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba984
test cl, cl
je 0x4ba980
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba984
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba95c
xor eax, eax
jmp 0x4ba989
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ba9af
lea eax, [esp + 0x24]
mov ecx, ebp
push eax
push 0x52da78
call fcn.004bc4b0
lea ecx, [esp + 0x24]
push ecx
push 0x52da96
mov ecx, ebp
call fcn.004bc4b0
mov esi, str.BACKGROUND
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4ba9de
test cl, cl
je 0x4ba9da
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4ba9de
add eax, 2
add esi, 2
test cl, cl
jne 0x4ba9b6
xor eax, eax
jmp 0x4ba9e3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4baa30
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
call fcn.004bc450
lea ecx, [esp + 0x1c]
mov esi, eax
push ecx
mov ecx, edi
call fcn.004bc450
lea edx, [esp + 0x1c]
mov ecx, edi
push edx
mov ebx, eax
call fcn.004bc450
xor ecx, ecx
and esi, 0xff
mov ch, al
mov ebp, edi
mov cl, bl
shl ecx, 8
or ecx, esi
mov dword [edi + 0x9ac], ecx
mov edi, dword [esp + 0x28]
mov esi, str.TEXT
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4baa5f
test cl, cl
je 0x4baa5b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4baa5f
add eax, 2
add esi, 2
test cl, cl
jne 0x4baa37
xor eax, eax
jmp 0x4baa64
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bab85
lea ecx, [esp + 0x3ec]
call fcn.0042b860
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
mov ecx, ebx
mov dword [esp + 0xc54], 3
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [ebx + 0x2980]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov esi, eax
push ecx
mov ecx, ebx
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [ebx + 0x2984]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x1c]
mov ecx, ebx
push edx
mov edi, eax
call fcn.004bc450
mov ebp, eax
lea eax, [esp + 0x24]
lea ecx, [esp + 0x658]
push eax
push ecx
mov ecx, ebx
call fcn.004bc4b0
lea edx, [esp + 0x658]
lea ecx, [esp + 0x3ec]
push edx
push edi
push esi
push ebp
call fcn.0042b960
mov esi, dword [ebx + 0x28e0]
push 0x148
mov edi, dword [esi + 4]
call sub.MFC42.DLL_operatornew
add esp, 4
mov ecx, esi
test esi, esi
jne 0x4bab20
mov ecx, eax
test edi, edi
mov dword [eax], ecx
jne 0x4bab28
mov edi, eax
mov dword [eax + 4], edi
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
add eax, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], eax
test eax, eax
mov byte [esp + 0xc50], 4
je 0x4bab59
lea ecx, [esp + 0x3ec]
push ecx
mov ecx, eax
call fcn.004be4f0
mov eax, dword [ebx + 0x28e4]
lea ecx, [esp + 0x3ec]
inc eax
mov dword [esp + 0xc50], 0xffffffff
mov dword [ebx + 0x28e4], eax
call fcn.0042b8d0
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov esi, str.VARIABLE
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4babb4
test cl, cl
je 0x4babb0
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4babb4
add eax, 2
add esi, 2
test cl, cl
jne 0x4bab8c
xor eax, eax
jmp 0x4babb9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb841
lea ecx, [esp + 0x34]
call fcn.0042b9b0
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
mov dword [esp + 0xc54], 5
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [ebp + 0x2980]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov edi, eax
push ecx
mov ecx, ebp
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [ebp + 0x2984]
call sub.MSVCRT.dll__ftol
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov ebp, eax
call fcn.004bc450
mov ebx, eax
lea eax, [esp + 0x24]
lea ecx, [esp + 0x108]
push eax
push ecx
mov ecx, esi
call fcn.004bc4b0
mov esi, str.AXIS_X
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bac6d
test cl, cl
je 0x4bac69
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bac6d
add eax, 2
add esi, 2
test cl, cl
jne 0x4bac49
xor eax, eax
jmp 0x4bac72
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bac85
mov eax, dword [esp + 0x10]
add eax, 0x498
push eax
jmp 0x4bb7bc
mov esi, str.AXIS_Y
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bacb5
test cl, cl
je 0x4bacb1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bacb5
add eax, 2
add esi, 2
test cl, cl
jne 0x4bac91
xor eax, eax
jmp 0x4bacba
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4baccd
mov eax, dword [esp + 0x10]
add eax, 0x4a0
push eax
jmp 0x4bb7bc
mov esi, str.AXIS_Z
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bacfd
test cl, cl
je 0x4bacf9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bacfd
add eax, 2
add esi, 2
test cl, cl
jne 0x4bacd9
xor eax, eax
jmp 0x4bad02
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bad15
mov eax, dword [esp + 0x10]
add eax, 0x4a8
push eax
jmp 0x4bb7bc
mov esi, str.FEED_RATE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bad45
test cl, cl
je 0x4bad41
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bad45
add eax, 2
add esi, 2
test cl, cl
jne 0x4bad21
xor eax, eax
jmp 0x4bad4a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bad5d
mov eax, dword [esp + 0x10]
add eax, 0x490
push eax
jmp 0x4bb7bc
mov esi, str.MACHINE_STATUS
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bad8d
test cl, cl
je 0x4bad89
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bad8d
add eax, 2
add esi, 2
test cl, cl
jne 0x4bad69
xor eax, eax
jmp 0x4bad92
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bada4
mov eax, dword [esp + 0x10]
add eax, 0x654
jmp 0x4bb18f
mov esi, str.AXIS_STATUS
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4badd4
test cl, cl
je 0x4badd0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4badd4
add eax, 2
add esi, 2
test cl, cl
jne 0x4badb0
xor eax, eax
jmp 0x4badd9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4badeb
mov eax, dword [esp + 0x10]
add eax, 0x71c
jmp 0x4bb18f
mov esi, str.FEED_SPEED
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bae1b
test cl, cl
je 0x4bae17
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bae1b
add eax, 2
add esi, 2
test cl, cl
jne 0x4badf7
xor eax, eax
jmp 0x4bae20
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bae33
mov eax, dword [esp + 0x10]
add eax, 0x918
push eax
jmp 0x4bb7bc
mov esi, str.INITIAL_FEED_DISTANCE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bae63
test cl, cl
je 0x4bae5f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bae63
add eax, 2
add esi, 2
test cl, cl
jne 0x4bae3f
xor eax, eax
jmp 0x4bae68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bae7b
mov eax, dword [esp + 0x10]
add eax, 0x920
push eax
jmp 0x4bb7bc
mov esi, str.INC_FEED_SPEED
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4baeab
test cl, cl
je 0x4baea7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4baeab
add eax, 2
add esi, 2
test cl, cl
jne 0x4bae87
xor eax, eax
jmp 0x4baeb0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4baec3
mov eax, dword [esp + 0x10]
add eax, 0x928
push eax
jmp 0x4bb7bc
mov esi, str.INC_FEED_DISTANCE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4baef3
test cl, cl
je 0x4baeef
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4baef3
add eax, 2
add esi, 2
test cl, cl
jne 0x4baecf
xor eax, eax
jmp 0x4baef8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4baf0b
mov eax, dword [esp + 0x10]
add eax, 0x930
push eax
jmp 0x4bb7bc
mov esi, str.FILE_NAME
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4baf3b
test cl, cl
je 0x4baf37
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4baf3b
add eax, 2
add esi, 2
test cl, cl
jne 0x4baf17
xor eax, eax
jmp 0x4baf40
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4baf52
mov eax, dword [esp + 0x10]
add eax, 0x938
jmp 0x4bb18f
mov esi, str.FILE_SIZE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4baf82
test cl, cl
je 0x4baf7e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4baf82
add eax, 2
add esi, 2
test cl, cl
jne 0x4baf5e
xor eax, eax
jmp 0x4baf87
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bafa6
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x34]
add eax, 0x99c
push eax
push ebp
push edi
push ebx
call fcn.0042bb90
jmp 0x4bb7c8
mov esi, str.DRIVE_STATUS
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bafd6
test cl, cl
je 0x4bafd2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bafd6
add eax, 2
add esi, 2
test cl, cl
jne 0x4bafb2
xor eax, eax
jmp 0x4bafdb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bafed
mov eax, dword [esp + 0x10]
add eax, 0x6b8
jmp 0x4bb18f
mov esi, str.ACTIVE_LINE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb01d
test cl, cl
je 0x4bb019
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb01d
add eax, 2
add esi, 2
test cl, cl
jne 0x4baff9
xor eax, eax
jmp 0x4bb022
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb034
mov eax, dword [esp + 0x10]
add eax, 0x5f0
jmp 0x4bb18f
mov esi, str.NEXT_LINE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb064
test cl, cl
je 0x4bb060
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb064
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb040
xor eax, eax
jmp 0x4bb069
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb07b
mov eax, dword [esp + 0x10]
add eax, 0x58c
jmp 0x4bb18f
mov esi, str.UNIT
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb0ab
test cl, cl
je 0x4bb0a7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb0ab
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb087
xor eax, eax
jmp 0x4bb0b0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb0c2
mov eax, dword [esp + 0x10]
add eax, 0x528
jmp 0x4bb18f
mov esi, str.MOTION
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb0f2
test cl, cl
je 0x4bb0ee
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb0f2
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb0ce
xor eax, eax
jmp 0x4bb0f7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb109
mov eax, dword [esp + 0x10]
add eax, 0x4c4
jmp 0x4bb18f
mov esi, str.CODE_G
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb139
test cl, cl
je 0x4bb135
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb139
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb115
xor eax, eax
jmp 0x4bb13e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb14d
mov eax, dword [esp + 0x10]
add eax, 0x4b0
jmp 0x4bb18f
mov esi, str.CODE_M
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb17d
test cl, cl
je 0x4bb179
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb17d
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb159
xor eax, eax
jmp 0x4bb182
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb1a1
mov eax, dword [esp + 0x10]
add eax, 0x4ba
push eax
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
jmp 0x4bb7c8
mov esi, str.TEST_EDIT
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb1d1
test cl, cl
je 0x4bb1cd
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb1d1
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb1ad
xor eax, eax
jmp 0x4bb1d6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb1f0
push 0x52db30
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
jmp 0x4bb7c8
mov esi, str.SIMUL_HANDLE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb220
test cl, cl
je 0x4bb21c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb220
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb1fc
xor eax, eax
jmp 0x4bb225
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb23f
push str.SIMUL
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
jmp 0x4bb7c8
mov esi, str.DIR_HANDLE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb26f
test cl, cl
je 0x4bb26b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb26f
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb24b
xor eax, eax
jmp 0x4bb274
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb28e
push str.INVERSE
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
jmp 0x4bb7c8
mov esi, str.HANDLE_X
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb2be
test cl, cl
je 0x4bb2ba
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb2be
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb29a
xor eax, eax
jmp 0x4bb2c3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb2ce
push 0x52db10
jmp 0x4bb34c
mov esi, str.HANDLE_Y
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb2fe
test cl, cl
je 0x4bb2fa
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb2fe
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb2da
xor eax, eax
jmp 0x4bb303
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb30e
push 0x52db18
jmp 0x4bb34c
mov esi, str.HANDLE_Z
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb33e
test cl, cl
je 0x4bb33a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb33e
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb31a
xor eax, eax
jmp 0x4bb343
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb367
push 0x52db20
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
mov dword [0x538e84], 0
jmp 0x4bb7c8
mov esi, str.LOAD_DEVICE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb397
test cl, cl
je 0x4bb393
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb397
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb373
xor eax, eax
jmp 0x4bb39c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb3b6
push 0x52dce4
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
jmp 0x4bb7c8
mov esi, str.SAVE_DEVICE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb3e6
test cl, cl
je 0x4bb3e2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb3e6
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb3c2
xor eax, eax
jmp 0x4bb3eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb405
push 0x52dcc4
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
jmp 0x4bb7c8
mov esi, str.METER_MODE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb435
test cl, cl
je 0x4bb431
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb435
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb411
xor eax, eax
jmp 0x4bb43a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb454
push str.METER
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
jmp 0x4bb7c8
mov esi, str.INCH_MODE
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb484
test cl, cl
je 0x4bb480
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb484
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb460
xor eax, eax
jmp 0x4bb489
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb4a3
push str.INCH
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb70
jmp 0x4bb7c8
mov esi, str.MACHINE_AXIS_X
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb4d3
test cl, cl
je 0x4bb4cf
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb4d3
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb4af
xor eax, eax
jmp 0x4bb4d8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb4e6
push 0x536438
jmp 0x4bb7bc
mov esi, str.MACHINE_AXIS_Y
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb516
test cl, cl
je 0x4bb512
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb516
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb4f2
xor eax, eax
jmp 0x4bb51b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb529
push 0x536440
jmp 0x4bb7bc
mov esi, str.MACHINE_AXIS_Z
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb559
test cl, cl
je 0x4bb555
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb559
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb535
xor eax, eax
jmp 0x4bb55e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb56c
push 0x536448
jmp 0x4bb7bc
mov esi, str.INCREASE_AXIS_X
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb59c
test cl, cl
je 0x4bb598
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb59c
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb578
xor eax, eax
jmp 0x4bb5a1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb5af
push 0x536420
jmp 0x4bb7bc
mov esi, str.INCREASE_AXIS_Y
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb5df
test cl, cl
je 0x4bb5db
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb5df
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb5bb
xor eax, eax
jmp 0x4bb5e4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb5f2
push 0x536428
jmp 0x4bb7bc
mov esi, str.INCREASE_AXIS_Z
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb622
test cl, cl
je 0x4bb61e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb622
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb5fe
xor eax, eax
jmp 0x4bb627
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb635
push 0x536430
jmp 0x4bb7bc
mov esi, str.ABSOLUTE_AXIS_X
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb665
test cl, cl
je 0x4bb661
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb665
xor eax, eax
jmp 0x4bb66a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb678
push 0x536408
jmp 0x4bb7bc
mov esi, str.ABSOLUTE_AXIS_Y
lea eax, [esp + 0x108]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb6a8
push ebp
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0042bb40
mov ebx, dword [esp + 0x10]
push 0x24
mov esi, dword [ebx + 0x28ec]
mov edi, dword [esi + 4]
call sub.MFC42.DLL_operatornew
add esp, 4
mov ecx, esi
test esi, esi
jne 0x4bb7e7
mov ecx, eax
mov dword [eax], ecx
mov ecx, edi
test edi, edi
jne 0x4bb7f1
mov esi, str.FONT
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4bb870
test cl, cl
je 0x4bb86c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4bb870
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb848
xor eax, eax
jmp 0x4bb875
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4bb9b4
lea ecx, [esp + 0x254]
call fcn.0042b640
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
mov dword [esp + 0xc54], 7
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [edi + 0x2980]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x1c]
mov ebx, eax
push ecx
mov ecx, edi
call fcn.004bc450
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [edi + 0x2984]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x1c]
mov ecx, edi
push edx
mov ebp, eax
call fcn.004bc450
mov esi, eax
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
call fcn.004bc450
lea ecx, [esp + 0x1c]
mov dword [esp + 0x18], eax
push ecx
mov ecx, edi
call fcn.004bc450
lea edx, [esp + 0x1c]
mov ecx, edi
push edx
mov dword [esp + 0x30], eax
call fcn.004bc450
mov ecx, dword [esp + 0x10]
mov edi, eax
lea eax, [esp + 0x1c]
push eax
call fcn.004bc450
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], eax
push ecx
mov ecx, dword [esp + 0x14]
call fcn.004bc450
mov edx, dword [esp + 0x10]
xor ecx, ecx
add edx, 0x9b0
mov ch, al
mov cl, byte [esp + 0x14]
push edx
xor edx, edx
and edi, 0xff
mov dh, byte [esp + 0x30]
and esi, 0xff
mov dl, byte [esp + 0x1c]
shl ecx, 8
shl edx, 8
or ecx, edi
or edx, esi
push ecx
push edx
push ebp
push ebx
lea ecx, [esp + 0x268]
call fcn.0042b740
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x254]
push edx
push 1
lea ecx, [eax + 0x2970]
mov eax, dword [eax + 0x2978]
push eax
call fcn.004bdfa0
lea ecx, [esp + 0x254]
mov dword [esp + 0xc50], 0xffffffff
call fcn.0042b690
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
push 0
call dword [sym.imp.MSVCRT.dll_strtok]
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4b9b12
mov eax, dword [ebp + 0x2644]
mov edi, 0x3e8
mov dword [esp + 0x28], edi
mov esi, dword [eax]
cmp esi, eax
mov dword [esp + 0x18], esi
je 0x4bbad0
add ebp, 0x9ce
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x10]
push edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ebx, eax
test ebx, ebx
je 0x4bbaa5
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0xac]
push edx
lea esi, [ecx + 8]
mov ecx, esi
call fcn.00429d30
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov ecx, esi
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov edi, dword [eax + 8]
mov ebp, dword [eax + 0xc]
call fcn.00429d60
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x2c]
push eax
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
sub ebp, ecx
push 1
sub edi, eax
push ebp
push edi
push ecx
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWnd::MoveWindow
push 1
mov ecx, ebx
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
mov ecx, ebx
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, esi
call fcn.00429d70
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x30]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov esi, dword [esi]
inc edi
mov ecx, dword [eax + 0x2644]
add edx, 0x12c
cmp esi, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], esi
jne 0x4bb9f7
mov esi, edi
cmp edi, 0x3fc
mov edi, dword [esp + 0x10]
jg 0x4bbafc
push esi
mov ecx, edi
call sub.MFC42.DLL_CWnd::GetDlgItem
test eax, eax
je 0x4bbaf3
push 0
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
inc esi
cmp esi, 0x3fc
jle 0x4bbade
mov edx, dword [edi + 0x28d0]
lea eax, [edi + 0x28cc]
test edx, edx
jne 0x4bbb10
xor ebx, ebx
jmp 0x4bbb28
mov ecx, dword [eax + 8]
mov eax, 0x4325c53f
sub ecx, edx
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ebx, edx
xor edi, edi
mov dword [esp + 0x18], ebx
test ebx, ebx
jle 0x4bbbed
mov ecx, dword [esp + 0x10]
lea edx, [edi + 0x4b0]
push edx
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ebp, eax
test ebp, ebp
je 0x4bbbe4
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x28d0]
lea eax, [edi + edi*2]
lea edx, [eax + eax*4]
lea eax, [esp + 0xbc]
push eax
lea esi, [edi + edx*4]
shl esi, 2
add ecx, esi
call fcn.00429e00
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0x28d0]
lea ecx, [esi + eax]
call fcn.00429ec0
push eax
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
sub eax, ecx
push 1
push eax
mov eax, dword [esp + 0x58]
sub ebx, eax
push ebx
push ecx
push eax
mov ecx, ebp
call sub.MFC42.DLL_CWnd::MoveWindow
push 1
mov ecx, ebp
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
mov ecx, ebp
call sub.MFC42.DLL_CWnd::ShowWindow
test edi, edi
jne 0x4bbbe0
mov ecx, ebp
call sub.MFC42.DLL_CWnd::SetFocus
mov ebx, dword [esp + 0x18]
inc edi
cmp edi, ebx
jl 0x4bbb36
mov esi, dword [esp + 0x10]
cmp ebx, 0xa
mov edi, ebx
pop ebp
jge 0x4bbc1a
lea edx, [edi + 0x4b0]
mov ecx, esi
push edx
call sub.MFC42.DLL_CWnd::GetDlgItem
test eax, eax
je 0x4bbc14
push 0
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
inc edi
cmp edi, 0xa
jl 0x4bbbf9
mov ecx, dword [esi + 0x2974]
test ecx, ecx
jne 0x4bbc28
xor eax, eax
jmp 0x4bbc33
mov eax, dword [esi + 0x2978]
sub eax, ecx
sar eax, 6
dec eax
test eax, eax
jl 0x4bbc52
xor edi, edi
lea ebx, [eax + 1]
mov edx, dword [esi + 0x2974]
mov ecx, edi
add ecx, edx
call fcn.0042b790
add edi, 0x40
dec ebx
jne 0x4bbc3d
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
push 0x21
call edi
shl eax, 1
mov dword [esp + 0x14], eax
push 4
fild dword [esp + 0x18]
fstp dword [esp + 0x30]
call edi
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esp + 0x2c]
fild dword [esi + 0x9a8]
fmul dword [esi + 0x2984]
faddp st(1)
call sub.MSVCRT.dll__ftol
push eax
push 0x20
call edi
shl eax, 1
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fild dword [esi + 0x9a4]
fmul dword [esi + 0x2980]
faddp st(1)
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0x2988]
push eax
mov eax, dword [esi + 0x298c]
push eax
push ecx
mov ecx, esi
call sub.MFC42.DLL_CWnd::MoveWindow
mov edx, dword [esi + 0x20]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [esp + 0xc44]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0xc44
ret 4