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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov eax, dword [0x526b24]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0xc], eax
movzx eax, word [esi]
mov dword [esp + 0x18], ecx
mov ecx, dword [sym.imp.USER32.dll_GetWindowLongW]
mov byte [esp + 0x24], 0
mov dword [esp + 0x38], ecx
push edi
mov edi, dword [ebp + 0xc]
test ax, ax
je 0x4bb518
mov bh, byte [esp + 0x23]
mov ecx, eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
movss xmm0, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
mov dword [esp + 0x2c], eax
mov eax, dword [sym.imp.USER32.dll_EnableWindow]
mov dword [esp + 0x60], eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esp + 0x64], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esp + 0x68], eax
mov eax, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
mov dword [esp + 0x50], eax
mov eax, dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esp + 0x70], eax
mov eax, dword [sym.imp.USER32.dll_GetClassInfoExW]
mov dword [esp + 0x74], eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x54]
mov byte [esp + 0x17], bh
movss dword [esp + 0x4c], xmm0
mov dword [esp + 0x30], eax
cmp cx, 0x2d
jne 0x4b8efc
xor bl, bl
jmp 0x4b8f07
movzx eax, cx
mov bl, 1
cmp cx, 0x2b
jne 0x4b8f0e
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x4bb514
mov dword [esp + 0x38], esi
test esi, esi
je 0x4b8f74
movzx eax, ax
mov dword [esp + 0x44], eax
nop word [eax + eax]
mov ecx, 0x4f94c4
mov edx, 0x20
nop word [eax + eax]
cmp ax, dx
je 0x4b8fd2
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
mov eax, dword [esp + 0x44]
jne 0x4b8f40
mov eax, dword [esp + 0x38]
add eax, 2
mov dword [esp + 0x38], eax
movzx eax, word [eax]
mov ecx, eax
mov dword [esp + 0x44], ecx
test ax, ax
jne 0x4b8f30
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b8f80
sub ecx, edx
sar ecx, 1
lea eax, [esi + ecx*2]
mov dword [esp + 0x38], eax
cmp eax, esi
je 0x4babf7
movzx ecx, word [eax]
mov dword [esp + 0x44], ecx
xor ecx, ecx
push str.Section
push esi
mov word [eax], cx
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b8fd8
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x18d], 1
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
jmp 0x4b8f96
push str.AltSubmit
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b901d
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 0xc
je 0x4b901d
mov edx, dword [esp + 0x44]
mov esi, eax
mov cl, byte [esi + 0x4d]
mov al, cl
or cl, 2
and al, 0xfd
movzx ecx, cl
movzx eax, al
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x38]
mov byte [esi + 0x4d], cl
mov word [eax], dx
jmp 0x4babf7
push 7
push str.Checked
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b90d5
add esi, 0xe
push str.Gray
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9060
mov edx, dword [esp + 0x44]
movzx eax, bl
add eax, eax
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 0xa
jne 0x4b908d
mov ecx, dword [edi + 0x10]
mov eax, ecx
mov edx, dword [esp + 0x44]
and eax, 0xfffffffb
or ecx, 4
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x10], ecx
mov word [eax], dx
jmp 0x4babf7
cmp word [esi], 0
je 0x4b90bf
push esi
call fcn.004e6170
add esp, 4
mov dword [edi + 0x68], eax
cmp eax, 0xffffffff
jne case.0x4ba841.7
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x68], 2
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
movzx eax, bl
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push 6
push str.Choose
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b9188
test bl, bl
je case.0x4ba841.7
mov eax, dword [esp + 0x10]
add esi, 0xc
cmp byte [eax + 0x4c], 0xd
je 0x4b912d
push esi
call fcn.004e6170
add esp, 4
mov dword [edi + 0x30], eax
cmp eax, 1
jge case.0x4ba841.7
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x30], 0
mov word [eax], dx
jmp 0x4babf7
push str.None
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9156
mov edx, dword [esp + 0x44]
mov eax, 2
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push 1
lea eax, [edi + 0x13c]
push eax
push esi
call fcn.004e5c90
add esp, 0xc
test eax, eax
je case.0x4bab42.66
mov edx, dword [esp + 0x44]
mov eax, 1
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push str.Border
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b91ca
test bl, bl
je 0x4b91b3
mov eax, dword [esp + 0x38]
or dword [edi], 0x800000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x800000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.VScroll
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b920c
test bl, bl
je 0x4b91f5
mov eax, dword [esp + 0x38]
or dword [edi], 0x200000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x200000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push 7
push str.HScroll
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b92a8
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 0xb
jne 0x4b924c
test bl, bl
je 0x4b984b
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x8000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b9291
or dword [edi], 0x100000
add esi, 0xe
cmp word [esi], 0
je 0x4b927b
push esi
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x64], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
or eax, 0xffffffff
mov dword [edi + 0x64], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x100000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.Tabstop
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b92d3
test bl, bl
je 0x4b92e8
mov eax, dword [esp + 0x38]
or dword [edi], 0x10000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.NoTab
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b92ff
test bl, bl
je 0x4b92bd
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x10000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.group
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b932e
test bl, bl
je 0x4b96ac
mov eax, dword [esp + 0x38]
or dword [edi], 0x20000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.Redraw
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b935e
mov edx, dword [esp + 0x44]
movzx eax, bl
xor eax, 1
add eax, 3
mov dword [edi + 0x184], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push 8
push str.Disabled
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b93de
add esi, 0x10
cmp word [esi], ax
je 0x4b9389
push esi
call fcn.004e6170
add esp, 4
test eax, eax
jne 0x4b9389
xor bl, 1
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x4b93a3
xor eax, eax
test bl, bl
sete al
push eax
push ecx
call dword [esp + 0x68]
jmp 0x4b93b6
test bl, bl
je 0x4b93af
or dword [edi], 0x8000000
jmp 0x4b93b6
or dword [edi + 4], 0x8000000
mov cl, byte [esi + 0x4d]
mov edx, dword [esp + 0x44]
mov al, cl
and al, 0xef
or cl, 0x10
movzx eax, al
test bl, bl
movzx ecx, cl
cmove ecx, eax
mov eax, dword [esp + 0x38]
mov byte [esi + 0x4d], cl
mov word [eax], dx
jmp 0x4babf7
push 6
push str.Hidden
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b9463
add esi, 0xc
cmp word [esi], ax
je 0x4b9409
push esi
call fcn.004e6170
add esp, 4
test eax, eax
jne 0x4b9409
xor bl, 1
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x4b9428
xor edx, edx
mov eax, 4
test bl, bl
cmovne eax, edx
push eax
push ecx
call dword [esp + 0x6c]
jmp 0x4b943b
test bl, bl
je 0x4b9435
or dword [edi + 4], 0x10000000
jmp 0x4b943b
or dword [edi], 0x10000000
mov cl, byte [esi + 0x4d]
mov edx, dword [esp + 0x44]
mov al, cl
and al, 0xf7
or cl, 8
movzx eax, al
test bl, bl
movzx ecx, cl
cmove ecx, eax
mov eax, dword [esp + 0x38]
mov byte [esi + 0x4d], cl
mov word [eax], dx
jmp 0x4babf7
push str.Wrap
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9519
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x4c]
dec eax
cmp eax, 0x12
ja case.0x4ba841.7
movzx eax, byte [eax + 0x4bbd74]
jmp dword [eax*4 + 0x4bbd5c]
test bl, bl
je 0x4b94b0
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x1f
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [edi]
mov edx, dword [esp + 0x44]
and eax, 0xffffffec
or eax, 0xc
mov dword [edi], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b94e5
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x100080
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi], 0x80
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b9a84
mov eax, dword [esp + 0x38]
or dword [edi], 0x200
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push 0xa
push str.Background
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b9681
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0x14]
mov dword [ecx + 0x50], 0xffffffff
mov ecx, dword [ecx + 0x54]
test ecx, ecx
je 0x4b9558
push ecx
call dword [esp + 0x6c]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x54], 0
lea eax, [esi + 0x14]
push str.Trans
push eax
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b95a3
test bl, bl
je case.0x4ba841.7
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0x4c]
test byte [eax + 0x526434], 1
jne 0x4b958c
mov eax, str.Not_supported_for_this_control_type.
jmp 0x4babd4
mov eax, dword [esp + 0x38]
mov dword [edx + 0x50], 0xff000001
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b965f
cmp word [esi + 0x14], 0
lea ebx, [esi + 0x14]
je case.0x4ba841.7
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x4c]
test byte [eax + 0x526434], 2
jne 0x4b95d4
mov eax, str.Not_supported_for_this_control_type.
jmp 0x4babd4
push ebx
call fcn.004e2560
mov edx, eax
add esp, 4
mov dword [edi + 0x5c], edx
cmp edx, 0xffffffff
jne 0x4b9620
push 0x10
lea eax, [esp + 0x70]
push eax
push ebx
call dword [esp + 0x5c]
movzx edx, al
add esp, 0xc
movzx ecx, ax
shl edx, 8
shr ecx, 8
or edx, ecx
shr eax, 0x10
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esp + 0x6c]
mov dword [edi + 0x5c], edx
cmp word [eax], 0
jne case.0x4bab42.66
cmp edx, 0xff000000
je case.0x4ba841.7
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + 0x4c]
test byte [eax + 0x526434], 4
je case.0x4ba841.7
push edx
call dword [esp + 0x74]
mov edx, dword [esp + 0x44]
mov dword [esi + 0x54], eax
mov eax, dword [edi + 0x5c]
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x50], 0xff000000
mov eax, dword [esp + 0x38]
mov dword [edi + 0x5c], 0xff000000
mov word [eax], dx
jmp 0x4babf7
push str.group
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b96c3
test bl, bl
je 0x4b96ac
mov eax, dword [esp + 0x38]
or dword [edi], 0x20000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x20000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.Theme
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b96ea
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x18e], bl
mov word [eax], dx
jmp 0x4babf7
push 4
push str.Icon
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b9758
mov eax, dword [esp + 0x10]
add esi, 8
cmp byte [eax + 0x4c], 0xa
jne 0x4b9734
push str.Small
push esi
call dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je case.0x4ba841.7
push esi
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x6c], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push str.Report
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9780
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x14], 1
mov word [eax], dx
jmp 0x4babf7
push str.List
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b97a8
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x14], 3
mov word [eax], dx
jmp 0x4babf7
push str.Tile
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b97d0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x14], 4
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 0xa
jne 0x4b98b5
push 0x5042d4
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b980e
test bl, bl
je 0x4b9c89
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x4000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 0xa
jne 0x4b98b5
push 6
push str.NoSort
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b9877
lea eax, [esi + 0xc]
push 0x5042d4
push eax
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9861
test bl, bl
je 0x4b9235
mov eax, dword [esp + 0x38]
or dword [edi], 0x8000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x18f], bl
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 0xa
jne 0x4b98b5
push str.Grid
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b98b5
mov ecx, dword [edi + 0x10]
mov eax, ecx
mov edx, dword [esp + 0x44]
and eax, 0xfffffffe
or ecx, 1
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x10], ecx
mov word [eax], dx
jmp 0x4babf7
push 5
push str.Count
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b98e7
lea eax, [esi + 0xa]
push eax
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push 2
push 0x505af4
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b994e
push eax
push eax
push eax
push eax
add esi, 4
push esi
call fcn.004e47f0
add esp, 0x14
test eax, eax
je case.0x4ba841.7
push esi
call fcn.004e6170
mov ecx, dword [edi + 0x10]
add esp, 4
test bl, bl
je 0x4b9937
mov edx, dword [esp + 0x44]
or ecx, eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x10], ecx
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
not eax
and eax, ecx
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push 9
push str.ImageList
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b9988
test bl, bl
je case.0x4ba841.7
lea eax, [esi + 0x12]
push eax
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 4
jne 0x4b99c2
push str.Default
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b99be
test bl, bl
je 0x4ba690
mov eax, dword [esp + 0x38]
or dword [edi], 1
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 5
jne 0x4b99f4
push str.Check3
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b99f4
test bl, bl
je 0x4ba0b1
mov eax, dword [esp + 0x38]
or dword [edi], 6
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.ReadOnly
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9ab7
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + 0x4c]
add eax, 0xfffffff7
cmp eax, 3
ja case.0x4ba841.7
jmp dword [eax*4 + 0x4bbd88]
mov ecx, dword [esi + 0x34]
test ecx, ecx
je case.0x4b9ade.9
push 0
movzx eax, bl
push eax
push 0xcf
push ecx
call dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b9a65
mov eax, dword [esp + 0x38]
or dword [edi], 0x800
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x800
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b9503
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x200
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b9cc4
mov eax, dword [esp + 0x38]
or dword [edi + 4], 8
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.Multi
push esi
call dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add esp, 8
mov cl, byte [edx + 0x4c]
test eax, eax
jne 0x4b9b14
movzx eax, cl
add eax, 0xfffffff7
cmp eax, 5
ja case.0x4ba841.7
jmp dword [eax*4 + 0x4bbd98]
test bl, bl
je 0x4b9b00
mov eax, dword [esp + 0x38]
or dword [edi], 4
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b9ae9
mov eax, dword [esp + 0x38]
or dword [edi + 4], 4
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp cl, 0xc
jne 0x4b9b5f
push str.WantReturn
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9b5b
test bl, bl
je 0x4b9b44
mov eax, dword [esp + 0x38]
or dword [edi], 0x1000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x1000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x4c], 0xc
jne 0x4b9bc1
push str.WantTab
push esi
call dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
je 0x4b9f57
cmp byte [edx + 0x4c], 0xc
jne 0x4b9bc1
push str.WantCtrlA
push esi
call dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x4b9bc1
mov cl, byte [edx + 0x4d]
mov al, cl
and cl, 0xfd
or al, 2
movzx ecx, cl
movzx eax, al
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x38]
mov byte [edx + 0x4d], cl
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov al, byte [edx + 0x4c]
cmp al, 0xa
je 0x4b9bcc
cmp al, 0xb
jne 0x4b9c09
push str.WantF2
push esi
call dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x4b9c09
mov cl, byte [edx + 0x4d]
mov al, cl
and cl, 0x7f
or al, 0x80
movzx ecx, cl
movzx eax, al
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x38]
mov byte [edx + 0x4d], cl
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp byte [edx + 0x4c], 0xc
jne 0x4b9c3e
push str.Number
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9c3e
test bl, bl
je 0x4b9cff
mov eax, dword [esp + 0x38]
or dword [edi], 0x2000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.Lowercase
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9c9f
mov eax, dword [esp + 0x10]
mov al, byte [eax + 0x4c]
cmp al, 0xc
jne 0x4b9c75
test bl, bl
je 0x4b9fb1
mov eax, dword [esp + 0x38]
or dword [edi], 0x10
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp al, 8
je case.0x4b9a1d.9
cmp al, 7
jne case.0x4ba841.7
test bl, bl
je 0x4b97f7
mov eax, dword [esp + 0x38]
or dword [edi], 0x4000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.Uppercase
push esi
call dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add esp, 8
mov cl, byte [ecx + 0x4c]
test eax, eax
jne 0x4b9d16
cmp cl, 0xc
jne 0x4b9cd7
test bl, bl
je 0x4b9aa3
mov eax, dword [esp + 0x38]
or dword [edi], 8
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp cl, 8
je 0x4b9ce5
cmp cl, 7
jne case.0x4ba841.7
test bl, bl
je 0x4b9cff
mov eax, dword [esp + 0x38]
or dword [edi], 0x2000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x2000
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp cl, 0xc
jne 0x4b9dce
push 8
push str.Password
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b9dce
movzx eax, word [esi + 0x10]
mov word [edi + 0x188], ax
mov edx, eax
mov eax, dword [esp + 0x10]
test bl, bl
je 0x4b9da0
or dword [edi], 0x20
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x4b9db9
push 0
test dx, dx
jne 0x4b9d80
push 0x25cf
push 0xcc
push ecx
call dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [esp + 0x28], 1
mov word [eax], dx
jmp 0x4babf7
push edx
push 0xcc
push ecx
call dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [esp + 0x28], 1
mov word [eax], dx
jmp 0x4babf7
or dword [edi + 4], 0x20
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4b9db9
push 0
push 0
push 0xcc
push eax
call dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [esp + 0x28], 1
mov word [eax], dx
jmp 0x4babf7
push 5
push str.Limit
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4b9e37
test bl, bl
je 0x4b9e1f
add esi, 0xa
cmp word [esi], ax
je 0x4b9e09
push esi
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
or eax, 0xffffffff
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
mov eax, connect
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 8
jne 0x4b9e6d
push str.Simple
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9e6d
test bl, bl
je 0x4ba690
mov eax, dword [esp + 0x38]
or dword [edi], 1
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push 4
push str.Sort
push esi
call dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov cl, byte [edx + 0x4c]
test eax, eax
jne 0x4b9efc
movzx eax, cl
add eax, 0xfffffff9
cmp eax, 3
ja case.0x4ba841.7
jmp dword [eax*4 + 0x4bbdb0]
test bl, bl
je case.0x4ba6ca.11
mov eax, dword [esp + 0x38]
or dword [edi], 2
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4b9ee8
lea eax, [esi + 8]
push str.Desc
push eax
call dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x20
or dword [edi], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x30
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp cl, 0x10
jne 0x4b9f38
push str.Horz
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9f34
test bl, bl
je 0x4ba147
mov eax, dword [edi]
mov edx, dword [esp + 0x44]
and eax, 0xffffffef
or eax, 0x40
mov dword [edi], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x4c], 0x11
jne 0x4ba035
push str.Invert
push esi
call dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x4b9f7f
mov cl, byte [edx + 0x4d]
mov al, cl
or cl, 0x80
and al, 0x7f
movzx ecx, cl
movzx eax, al
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x38]
mov byte [edx + 0x4d], cl
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp byte [edx + 0x4c], 0x11
jne 0x4ba035
push str.NoTicks
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4b9fc5
test bl, bl
je 0x4b9fb1
mov eax, dword [esp + 0x38]
or dword [edi], 0x10
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x10
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x4c], 0x11
jne 0x4ba035
push 0xc
push str.TickInterval
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4ba035
mov byte [edi + 0x18b], 1
test bl, bl
je 0x4ba01b
or dword [edi], 1
add esi, 0x18
push esi
cmp word [esi], ax
setne al
mov byte [edi + 0x18c], al
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
or dword [edi + 4], 1
or eax, 0xffffffff
mov edx, dword [esp + 0x44]
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push 4
push str.Line
push esi
call dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov cl, byte [edx + 0x4c]
test eax, eax
jne 0x4ba0c5
add esi, 8
cmp cl, 0x11
jne 0x4ba07b
test bl, bl
je case.0x4ba841.7
push esi
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
cmp cl, 0xb
jne case.0x4ba841.7
movzx eax, word [esi]
push eax
call fcn.0043c2a0
add esp, 4
cmp ax, 0x53
jne case.0x4ba841.7
test bl, bl
je 0x4ba0b1
mov eax, dword [esp + 0x38]
or dword [edi], 6
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 6
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp cl, 0x11
jne 0x4ba108
push 4
push str.Page
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4ba104
test bl, bl
je case.0x4ba841.7
lea eax, [esi + 8]
push eax
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x4c], 0x11
jne 0x4ba15b
push 5
push str.Thick
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4ba15b
test bl, bl
je 0x4ba147
or dword [edi], 0x40
lea eax, [esi + 0xa]
push eax
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x40
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push 7
push str.ToolTip
push esi
call dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov cl, byte [ecx + 0x4c]
test eax, eax
jne 0x4ba1ff
cmp cl, 0x11
jne case.0x4ba841.7
test bl, bl
je 0x4ba87a
mov dword [edi + 0x4c], 0xffffffff
movzx eax, word [esi + 0xe]
push eax
call fcn.0043c2a0
movzx eax, ax
add esp, 4
add eax, 0xffffffbe
cmp eax, 0x12
ja case.0x4ba1b0.67
movzx eax, byte [eax + 0x4bbdd4]
jmp dword [eax*4 + 0x4bbdc0]
mov dword [edi + 0x4c], 0
jmp case.0x4ba1b0.67
mov dword [edi + 0x4c], 1
jmp case.0x4ba1b0.67
mov dword [edi + 0x4c], 2
jmp case.0x4ba1b0.67
mov dword [edi + 0x4c], 3
mov eax, dword [edi + 0x4c]
xor ecx, ecx
test eax, eax
lea edx, [eax + 1]
mov eax, dword [esp + 0x38]
cmovns ecx, edx
mov edx, dword [esp + 0x44]
mov dword [edi + 0x4c], ecx
or dword [edi], 0x100
mov word [eax], dx
jmp 0x4babf7
cmp cl, 0x11
jne 0x4ba275
push 5
push str.Buddy
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4ba275
test bl, bl
je case.0x4ba841.7
movzx ebx, word [esi + 0xa]
test bx, bx
je case.0x4ba841.7
lea eax, [esi + 0xc]
mov esi, dword [esp + 0x24]
push eax
mov ecx, esi
call fcn.004bdf40
cmp eax, dword [esi + 0x78]
jae case.0x4ba841.7
mov ecx, dword [esi + 0x48]
mov eax, dword [ecx + eax*4]
cmp ebx, 0x31
jne 0x4ba262
mov edx, dword [esp + 0x44]
mov dword [edi + 0x50], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
mov dword [edi + 0x54], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
push str.Vertical
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4ba2cf
mov eax, dword [esp + 0x10]
mov al, byte [eax + 0x4c]
cmp al, 0x11
jne 0x4ba2ac
test bl, bl
je case.0x4ba6ca.11
mov eax, dword [esp + 0x38]
or dword [edi], 2
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp al, 0x12
jne case.0x4ba841.7
test bl, bl
je 0x4b9b00
mov eax, dword [esp + 0x38]
or dword [edi], 4
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push 5
push str.Range
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4ba3a4
test bl, bl
je case.0x4ba841.7
add esi, 0xa
cmp word [esi], ax
je case.0x4ba841.7
mov eax, dword [esp + 0x10]
mov al, byte [eax + 0x4c]
cmp al, 0xd
je 0x4ba34e
cmp al, 0xe
je 0x4ba34e
push esi
mov byte [edi + 0x18a], 1
call fcn.004e6170
mov dword [edi + 0x34], eax
lea eax, [esi + 2]
push 0x2d
push eax
call sub.VCRUNTIME140.dll_wcschr
add esp, 0xc
test eax, eax
je case.0x4ba841.7
add eax, 2
push eax
call fcn.004e6170
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
lea ebx, [edi + 0x15c]
push ebx
push esi
call fcn.004e5c00
add esp, 8
mov dword [edi + 0x180], eax
test eax, eax
je case.0x4bab42.66
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x34]
test ecx, ecx
je case.0x4ba841.7
cmp byte [esi + 0x4c], 0xd
mov edx, 0x1004
push ebx
push eax
mov eax, 0x1012
cmove eax, edx
push eax
push ecx
call dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4c], 0x12
jne 0x4ba3da
push str.Smooth
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4ba3da
test bl, bl
je 0x4ba690
mov eax, dword [esp + 0x38]
or dword [edi], 1
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.Buttons
push esi
call dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add esp, 8
mov cl, byte [edx + 0x4c]
test eax, eax
jne 0x4ba439
cmp cl, 0x13
jne 0x4ba415
test bl, bl
je 0x4ba87a
mov eax, dword [esp + 0x38]
or dword [edi], 0x100
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp cl, 0xb
jne case.0x4ba841.7
test bl, bl
je 0x4ba690
mov eax, dword [esp + 0x38]
or dword [edi], 1
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp cl, 0x13
jne 0x4ba48b
push str.Bottom
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4ba487
mov eax, dword [edi + 4]
test bl, bl
je 0x4ba471
or dword [edi], 2
or eax, 0x80
mov edx, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
or eax, 2
mov dword [edi + 4], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x4c], 0x18
jne 0x4ba4da
push 5
push str.Class
push esi
call dword [esp + 0x38]
add esp, 0xc
test eax, eax
jne 0x4ba4da
lea eax, [esp + 0x8c]
add esi, 0xa
push eax
push esi
push dword [0x5276ac]
call dword [esp + 0x80]
movzx eax, ax
mov word [edi + 0x192], ax
test ax, ax
jne case.0x4ba841.7
mov eax, str.Unrecognized_window_class.
jmp 0x4babd4
push str.Center
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4ba5d9
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + 0x4c]
dec eax
cmp eax, 0x10
ja case.0x4ba841.7
test bl, bl
je 0x4ba56e
movzx eax, byte [eax + 0x4bbdfc]
jmp dword [eax*4 + 0x4bbde8]
mov eax, dword [esp + 0x38]
or dword [edi + 4], 2
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
movzx eax, byte [eax + 0x4bbe24]
jmp dword [eax*4 + 0x4bbe10]
push str.Right
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4ba774
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + 0x4c]
dec eax
test bl, bl
je 0x4ba6ba
cmp eax, 0x16
ja case.0x4ba841.7
movzx eax, byte [eax + 0x4bbe58]
jmp dword [eax*4 + 0x4bbe38]
mov eax, dword [esp + 0x38]
or dword [edi + 4], 8
or dword [edi], 4
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi], 0x20
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi], 2
or dword [edi + 4], 0x1d
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [edi]
or dword [edi + 4], 0x100
or eax, 0x200
mov dword [edi], eax
mov cl, byte [esi + 0x4c]
cmp cl, 5
je 0x4ba678
cmp cl, 6
jne case.0x4ba841.7
mov edx, dword [esp + 0x44]
or eax, 0x20
mov dword [edi], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
or dword [edi], 2
mov eax, dword [esp + 0x38]
or dword [edi + 4], 1
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi], 0x282
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
cmp eax, 0x12
ja case.0x4ba841.7
movzx eax, byte [eax + 0x4bbe8c]
jmp dword [eax*4 + 0x4bbe70]
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x20
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi], 4
or dword [edi + 4], 8
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esi + 0x34]
test eax, eax
je 0x4ba731
push 0xfffffffffffffff0
push eax
call dword [esp + 0x44]
and eax, 0x300
cmp eax, 0x300
je case.0x4ba841.7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x200
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov ecx, dword [edi]
mov eax, ecx
and eax, 0x300
cmp eax, 0x300
je case.0x4ba841.7
mov eax, dword [esp + 0x38]
and ecx, 0xfffffdff
mov edx, dword [esp + 0x44]
mov dword [edi], ecx
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x82
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push str.Left
push esi
call dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4ba8d4
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + 0x4c]
test bl, bl
je 0x4ba82e
dec eax
cmp eax, 0x12
ja case.0x4ba841.7
movzx eax, byte [eax + 0x4bbec0]
jmp dword [eax*4 + 0x4bbea0]
mov eax, dword [esp + 0x38]
or dword [edi + 4], 4
or dword [edi], 8
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [edi + 4]
or dword [edi], 0x100
or eax, 0x200
mov dword [edi + 4], eax
mov cl, byte [esi + 0x4c]
cmp cl, 5
je 0x4ba7ea
cmp cl, 6
jne case.0x4ba841.7
mov edx, dword [esp + 0x44]
or eax, 0x20
mov dword [edi + 4], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 3
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi], 0x280
or dword [edi + 4], 2
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
add eax, 0xfffffffd
cmp eax, 0x10
ja case.0x4ba841.7
movzx eax, byte [eax + 0x4bbee4]
jmp dword [eax*4 + 0x4bbed4]
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0xc
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esi + 0x34]
test eax, eax
je 0x4ba891
push 0xfffffffffffffff0
push eax
call dword [esp + 0x44]
and eax, 0x300
cmp eax, 0x300
je case.0x4ba841.7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x100
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov ecx, dword [edi]
mov eax, ecx
and eax, 0x300
cmp eax, 0x300
je case.0x4ba841.7
mov eax, dword [esp + 0x38]
and ecx, 0xfffffeff
mov edx, dword [esp + 0x44]
mov dword [edi], ecx
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
or dword [edi + 4], 0x80
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push 0
push 0
push 1
push 0
push esi
call fcn.004e47f0
add esp, 0x14
test eax, eax
je 0x4ba91b
push esi
call fcn.004e6170
add esp, 4
test bl, bl
je 0x4ba908
or dword [edi], eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
or dword [edi + 4], eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
movzx eax, word [esi]
push eax
call fcn.0043c2a0
lea ecx, [esi + 2]
movzx eax, ax
add esp, 4
mov dword [esp + 0x40], eax
cmp word [ecx], 0
mov dword [esp + 0x34], ecx
jne 0x4ba991
movzx eax, ax
cmp eax, 0x43
je 0x4ba976
cmp eax, 0x56
jne case.0x4bab42.66
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x4ba95f
push eax
call dword [esp + 0x7c]
add esp, 4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [ebx + 0x38], 0
mov word [eax], dx
jmp 0x4babf7
test bl, bl
jne 0x4ba981
mov dword [edi + 0x58], 0xff000000
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
push eax
push str.XYWHTER
mov dword [esp + 0x50], 0
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x4bab20
mov eax, dword [esp + 0x34]
movzx eax, word [eax]
push eax
call fcn.0043c2a0
movzx ecx, ax
add esp, 4
mov eax, dword [esp + 0x40]
movzx eax, ax
add eax, 0xffffffb8
mov dword [esp + 0x30], ecx
cmp eax, 0x11
ja case.0x4ba9e0.73
movzx eax, byte [eax + 0x4bbf04]
jmp dword [eax*4 + 0x4bbef8]
cmp ecx, 0x50
mov ecx, dword [esp + 0x34]
jne 0x4baa5d
add ecx, 2
mov dword [esp + 0x34], ecx
jmp 0x4baa5d
mov eax, dword [esp + 0x34]
cmp word [eax], 0x2b
lea ecx, [eax + 2]
mov dword [esp + 0x58], ecx
jne 0x4baa32
movzx eax, word [ecx]
push eax
call fcn.0043c2a0
mov ecx, 0x4d
add esp, 4
cmp cx, ax
jne 0x4baa32
mov ecx, dword [esp + 0x34]
add ecx, 4
mov byte [esp + 0x17], 1
mov dword [esp + 0x34], ecx
jmp 0x4baa5d
push dword [esp + 0x30]
mov byte [esp + 0x1b], 0
push str.MPS
call sub.VCRUNTIME140.dll_wcschr
mov ecx, dword [esp + 0x3c]
add esp, 8
test eax, eax
cmovne ecx, dword [esp + 0x58]
mov dword [esp + 0x34], ecx
jmp 0x4baa5d
mov ecx, dword [esp + 0x34]
push 0
push 1
push 0
push 1
push ecx
call fcn.004e47f0
add esp, 0x14
sub eax, 1
je 0x4baabe
sub eax, 1
je 0x4baa94
mov eax, dword [esp + 0x34]
cmp word [eax], 0
jne 0x4baa8b
mov edx, dword [esp + 0x30]
test dx, dx
jne 0x4baae3
xor eax, eax
mov ecx, eax
jmp 0x4bab2c
push dword [esp + 0x34]
call fcn.00450ff0
mov edx, dword [esp + 0x34]
add esp, 4
fstp dword [esp + 0x4c]
movss xmm0, dword [esp + 0x4c]
cvttss2si ecx, xmm0
movss dword [esp + 0x4c], xmm0
mov dword [esp + 0x48], ecx
jmp 0x4baae7
push dword [esp + 0x34]
call fcn.004e6170
mov edx, dword [esp + 0x34]
mov ecx, eax
add esp, 4
mov dword [esp + 0x48], ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x4c], xmm0
jmp 0x4baae7
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
cmp ax, 0x58
je 0x4bab0e
cmp ax, 0x59
je 0x4bab0e
cmp ax, 0x57
je 0x4bab03
cmp ax, 0x48
jne 0x4bab28
cmp ecx, 0xffffffff
jne 0x4bab0e
cmp dx, 0x50
jne 0x4bab28
push ecx
mov ecx, dword [esp + 0x28]
call fcn.004c1e90
mov ecx, eax
mov eax, dword [esp + 0x40]
jmp 0x4bab2c
mov eax, dword [esp + 0x40]
xor ecx, ecx
jmp 0x4bab2c
mov ecx, dword [esp + 0x48]
movzx eax, ax
add eax, 0xffffffbf
cmp eax, 0x18
ja case.0x4bab42.66
movzx eax, byte [eax + 0x4bbf44]
jmp dword [eax*4 + 0x4bbf18]
mov eax, dword [edi + 0x138]
cmp eax, 0x32
jae case.0x4ba841.7
mov edx, dword [esp + 0x44]
mov dword [edi + eax*4 + 0x70], ecx
mov eax, dword [esp + 0x38]
inc dword [edi + 0x138]
mov word [eax], dx
jmp 0x4babf7
push dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
push dword [esp + 0x14]
call fcn.004bc690
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov ebx, dword [esp + 0x34]
push ebx
call fcn.004e2560
add esp, 4
mov dword [edi + 0x58], eax
cmp eax, 0xffffffff
jne case.0x4ba841.7
push 0x10
lea eax, [esp + 0x58]
push eax
push ebx
call dword [esp + 0x5c]
push eax
call fcn.004a4fd0
mov dword [edi + 0x58], eax
add esp, 0x10
mov eax, dword [esp + 0x54]
cmp word [eax], 0
je case.0x4ba841.7
mov eax, str.Invalid_option.
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
push 9
push esi
push eax
mov word [ecx], dx
call fcn.0046fa80
add esp, 0xc
test eax, eax
je 0x4bb55a
mov eax, dword [esp + 0x38]
mov esi, eax
nop dword [eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x4bac11
cmp eax, 9
jne 0x4bb509
add esi, 2
jmp 0x4bac00
cmp word [esp + 0x30], 0x50
jne 0x4bac3a
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
mov eax, dword [eax + 0xa8]
add eax, ecx
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
mov eax, ecx
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
cmp word [esp + 0x30], 0x50
jne 0x4bac70
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
mov eax, dword [eax + 0xac]
add eax, ecx
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov edx, dword [esp + 0x44]
mov eax, ecx
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov ebx, dword [esp + 0x30]
cmp bx, 0x2b
jne 0x4bad60
cmp byte [esp + 0x17], 0
je 0x4baca6
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x98]
jmp 0x4baca8
xor eax, eax
lea esi, [eax + ecx]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov bl, byte [eax + 0x4e]
push ebx
call fcn.004be840
mov dword [esp + 0x58], eax
test eax, eax
je 0x4bad25
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 0x4f]
push ecx
push ebx
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
call fcn.004be9a0
test eax, eax
jne 0x4bad29
push dword [esp + 0x58]
lea eax, [esp + 0x80]
mov ecx, ebx
push eax
call fcn.004bead0
cmp dword [edi + 0x20], 0x80000000
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x58], ecx
lea eax, [ecx + esi]
mov dword [edi + 0x1c], eax
jne case.0x4ba841.7
add edx, dword [ebx + 0x9c]
mov eax, dword [esp + 0x38]
mov dword [edi + 0x20], edx
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0xa8]
add eax, dword [ebx + 0xa0]
add eax, esi
cmp dword [edi + 0x20], 0x80000000
mov dword [edi + 0x1c], eax
jne case.0x4ba841.7
mov eax, dword [ebx + 0xa4]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
cmp bx, 0x4d
jne 0x4bada1
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0x98]
add eax, ecx
cmp dword [edi + 0x20], 0x80000000
mov dword [edi + 0x1c], eax
jne case.0x4ba841.7
mov eax, dword [ebx + 0xb4]
add eax, dword [ebx + 0x9c]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
cmp bx, 0x50
jne 0x4badf2
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0xa0]
add eax, ecx
cmp dword [edi + 0x20], 0x80000000
mov dword [edi + 0x1c], eax
jne case.0x4ba841.7
mov ecx, dword [ebx + 0xa4]
cmp eax, dword [ebx + 0xa0]
jne 0x4baddf
mov eax, dword [ebx + 0xac]
add eax, dword [ebx + 0x9c]
add ecx, eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x20], ecx
mov word [eax], dx
jmp 0x4babf7
cmp bx, 0x53
jne 0x4bae33
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0xb8]
add eax, ecx
cmp dword [edi + 0x20], 0x80000000
mov dword [edi + 0x1c], eax
jne case.0x4ba841.7
mov eax, dword [ebx + 0xc4]
add eax, dword [ebx + 0x9c]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
cmp dword [edi + 0x20], 0x80000000
mov dword [edi + 0x1c], ecx
jne case.0x4ba841.7
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
mov eax, dword [ecx + 0xb4]
add eax, dword [ecx + 0x9c]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov ebx, dword [esp + 0x30]
cmp bx, 0x2b
jne 0x4baf3e
cmp byte [esp + 0x17], 0
je 0x4bae87
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x9c]
jmp 0x4bae89
xor eax, eax
lea esi, [eax + ecx]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov bl, byte [eax + 0x4e]
push ebx
call fcn.004be840
mov dword [esp + 0x58], eax
test eax, eax
je 0x4baf03
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 0x4f]
push ecx
push ebx
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
call fcn.004be9a0
test eax, eax
jne 0x4baf07
push dword [esp + 0x58]
lea eax, [esp + 0x88]
mov ecx, ebx
push eax
call fcn.004bead0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add eax, esi
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], eax
jne case.0x4ba841.7
mov eax, dword [ebx + 0x98]
mov edx, dword [esp + 0x44]
add eax, ecx
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0xac]
add eax, dword [ebx + 0xa4]
add eax, esi
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], eax
jne case.0x4ba841.7
mov eax, dword [ebx + 0xa0]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
cmp bx, 0x4d
jne 0x4baf7f
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0x9c]
add eax, ecx
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], eax
jne case.0x4ba841.7
mov eax, dword [ebx + 0xb0]
add eax, dword [ebx + 0x98]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
cmp bx, 0x50
jne 0x4bafd0
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0xa4]
add eax, ecx
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], eax
jne case.0x4ba841.7
mov ecx, dword [ebx + 0xa0]
cmp eax, dword [ebx + 0xa4]
jne 0x4bafbd
mov eax, dword [ebx + 0xa8]
add eax, dword [ebx + 0x9c]
add ecx, eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x1c], ecx
mov word [eax], dx
jmp 0x4babf7
cmp bx, 0x53
jne 0x4bb011
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0xbc]
add eax, ecx
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], eax
jne case.0x4ba841.7
mov eax, dword [ebx + 0xc0]
add eax, dword [ebx + 0x98]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], ecx
jne case.0x4ba841.7
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
mov eax, dword [ecx + 0xb0]
add eax, dword [ecx + 0x98]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x38]
mov word [eax], dx
jmp 0x4babf7
mov eax, dword [esp + 0x38]
movss xmm0, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
movss dword [edi + 0x2c], xmm0
mov word [eax], dx
jmp 0x4babf7
mov ebx, dword [esp + 0x34]
movzx eax, word [ebx + 2]
push eax
call fcn.0043c2a0
movzx eax, ax
mov dword [esp + 0x44], eax
movzx eax, word [ebx]
push eax
call fcn.0043c2a0
movzx ebx, ax
add esp, 8
mov dword [esp + 0x30], ebx
cmp ebx, 0x58
jne 0x4bb1ae
mov eax, dword [esp + 0x40]
cmp ax, 0x52
jne 0x4bb0b1
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x1a4], 1
mov word [eax], dx
jmp 0x4babf7
cmp ax, 0x41
jne 0x4bb0ce
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x1a6], 1
mov word [eax], dx
jmp 0x4babf7
cmp ax, 0x50
jne 0x4bb0ee
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x194], 1
mov word [eax], dx
jmp 0x4babf7
test ax, ax
jne 0x4bb10d
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x194], 0x3f800000
mov word [eax], dx
jmp 0x4babf7
lea ebx, [esi + 4]
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x4bb18f
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
cmp word [eax], 0
je 0x4bb18f
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push eax
call fcn.004e6170
add esp, 0xc
test eax, eax
je 0x4bb18f
push ebx
call fcn.004e6170
push 0x2f
push ebx
mov esi, eax
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push eax
call fcn.004e6170
movd xmm1, esi
add esp, 0x10
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
ucomiss xmm1, dword [0x5045a4]
movss dword [edi + 0x194], xmm1
lahf
test ah, 0x44
jp case.0x4ba841.7
push ebx
call fcn.00450ff0
mov eax, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x44]
fstp dword [edi + 0x194]
mov word [eax], dx
jmp 0x4babf7
cmp ebx, 0x59
jne 0x4bb2d5
mov eax, dword [esp + 0x40]
cmp ax, 0x52
jne 0x4bb1d8
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x1a5], 1
mov word [eax], dx
jmp 0x4babf7
cmp ax, 0x41
jne 0x4bb1f5
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x1a7], 1
mov word [eax], dx
jmp 0x4babf7
cmp ax, 0x50
jne 0x4bb215
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x198], 1
mov word [eax], dx
jmp 0x4babf7
test ax, ax
jne 0x4bb234
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x198], 0x3f800000
mov word [eax], dx
jmp 0x4babf7
lea ebx, [esi + 4]
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x4bb2b6
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
cmp word [eax], 0
je 0x4bb2b6
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push eax
call fcn.004e6170
add esp, 0xc
test eax, eax
je 0x4bb2b6
push ebx
call fcn.004e6170
push 0x2f
push ebx
mov esi, eax
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push eax
call fcn.004e6170
movd xmm1, esi
add esp, 0x10
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
ucomiss xmm1, dword [0x5045a4]
movss dword [edi + 0x198], xmm1
lahf
test ah, 0x44
jp case.0x4ba841.7
push ebx
call fcn.00450ff0
mov eax, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x44]
fstp dword [edi + 0x198]
mov word [eax], dx
jmp 0x4babf7
cmp ebx, 0x57
jne 0x4bb3dc
mov eax, dword [esp + 0x40]
cmp ax, 0x52
jne 0x4bb2ff
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x1a4], 1
mov word [eax], dx
jmp 0x4babf7
cmp ax, 0x41
jne 0x4bb31c
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x1a8], 1
mov word [eax], dx
jmp 0x4babf7
test ax, ax
jne 0x4bb33b
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x19c], 0x3f800000
mov word [eax], dx
jmp 0x4babf7
lea ebx, [esi + 4]
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x4bb3bd
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
cmp word [eax], 0
je 0x4bb3bd
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push eax
call fcn.004e6170
add esp, 0xc
test eax, eax
je 0x4bb3bd
push ebx
call fcn.004e6170
push 0x2f
push ebx
mov esi, eax
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push eax
call fcn.004e6170
movd xmm1, esi
add esp, 0x10
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
ucomiss xmm1, dword [0x5045a4]
movss dword [edi + 0x19c], xmm1
lahf
test ah, 0x44
jp case.0x4ba841.7
push ebx
call fcn.00450ff0
mov eax, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x44]
fstp dword [edi + 0x19c]
mov word [eax], dx
jmp 0x4babf7
cmp ebx, 0x48
jne case.0x4ba841.7
mov eax, dword [esp + 0x40]
cmp ax, 0x52
jne 0x4bb406
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x1a5], 1
mov word [eax], dx
jmp 0x4babf7
cmp ax, 0x41
jne 0x4bb423
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov byte [edi + 0x1a9], 1
mov word [eax], dx
jmp 0x4babf7
test ax, ax
jne 0x4bb442
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x1a0], 0x3f800000
mov word [eax], dx
jmp 0x4babf7
lea ebx, [esi + 4]
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x4bb4c0
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
cmp word [eax], 0
je 0x4bb4c0
push 0x2f
push ebx
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push eax
call fcn.004e6170
add esp, 0xc
test eax, eax
je 0x4bb4c0
push ebx
call fcn.004e6170
push 0x2f
push ebx
mov esi, eax
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push eax
call fcn.004e6170
movd xmm1, esi
add esp, 0x10
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
ucomiss xmm1, dword [0x5045a4]
movss dword [edi + 0x1a0], xmm1
lahf
test ah, 0x44
jp case.0x4ba841.7
push ebx
call fcn.00450ff0
mov eax, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x44]
fstp dword [edi + 0x1a0]
mov word [eax], dx
jmp 0x4babf7
test bl, bl
je 0x4bb4f6
mov eax, dword [esp + 0x38]
or dword [edi + 8], ecx
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
or dword [edi + 0xc], ecx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov word [eax], dx
jmp 0x4babf7
mov ecx, eax
test ax, ax
jne 0x4b8ef2
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4bbd3d
push 0xfffffffffffffff0
push eax
call ecx
mov edx, dword [edi + 4]
mov esi, eax
mov ebx, esi
mov dword [esp + 0x50], esi
or ebx, dword [edi]
mov ecx, edx
not ecx
and ebx, ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x4c]
add eax, 0xfffffffe
cmp eax, 8
ja case.0x4bb553.9
jmp dword [eax*4 + 0x4bbf60]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.004ebadf
mov esp, ebp
pop ebp
ret 0x10
mov eax, ebx
xor eax, esi
and eax, 0xf
xor ebx, eax
jmp case.0x4bb553.9
and ebx, 0xfffffff7
or ebx, 7
jmp case.0x4bb553.9
test bl, 1
je 0x4bb599
and ebx, 0xfffffff1
or ebx, 1
jmp 0x4bb59c
and ebx, 0xfffffff0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x80]
mov eax, dword [ebp + 0x14]
cmp eax, ecx
jne 0x4bb5e0
test dl, 1
je case.0x4bb553.9
mov eax, dword [esp + 0x24]
push 0
push 1
push 0x401
push dword [eax + 0x38]
mov dword [eax + 0x80], 0xffffffff
call dword [esp + 0x2c]
or esi, 1
mov dword [esp + 0x50], esi
jmp case.0x4bb553.9
test byte [edi], 1
je case.0x4bb553.9
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx + 0x78]
jae 0x4bb62c
mov eax, dword [edx + 0x48]
push 0xfffffffffffffff0
mov eax, dword [eax + ecx*4]
push dword [eax + 0x34]
call dword [esp + 0x44]
and eax, 0xfffe
push 1
push eax
mov eax, dword [esp + 0x2c]
push 0xf4
mov ecx, dword [eax + 0x80]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + ecx*4]
push dword [eax + 0x34]
call dword [esp + 0x2c]
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x24]
push 0
mov dword [edx + 0x80], eax
add eax, 3
push eax
push 0x401
push dword [edx + 0x38]
call dword [esp + 0x2c]
jmp case.0x4bb553.9
mov eax, ebx
and eax, 6
cmp al, 6
jne 0x4bb657
and ebx, 0xfffffff6
or ebx, 6
jmp case.0x4bb553.9
and ebx, 0xfffffff3
or ebx, 3
jmp case.0x4bb553.9
and ebx, 0xfffffff9
or ebx, 9
jmp case.0x4bb553.9
test bl, 1
je 0x4bb674
and ebx, 0xfffffff1
or ebx, 1
jmp case.0x4bb553.9
and ebx, 0xfffffff2
or ebx, 2
jmp case.0x4bb553.9
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je case.0x4bb553.9
push 0
push eax
push 0x108e
push dword [ecx + 0x34]
call dword [esp + 0x2c]
mov eax, dword [edi + 0x14]
cmp eax, 4
je case.0x4bb553.9
and ebx, 0xfffffffc
or ebx, eax
mov eax, dword [edi + 0x60]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x4bb70d
mov cl, byte [edx + 0x4c]
cmp cl, 0xc
jne 0x4bb6ea
mov ecx, dword [edx + 0x34]
push 0
test eax, eax
jns 0x4bb6e2
push 0
push 0xc5
push ecx
call dword [esp + 0x2c]
cmp dword [edi + 0x60], 0x80000000
mov edx, dword [esp + 0x10]
je 0x4bb70d
test bl, 4
jne 0x4bb70d
and ebx, 0xffefff7f
jmp 0x4bb70d
push eax
push 0xc5
jmp 0x4bb704
cmp cl, 0xf
jne 0x4bb70d
mov ecx, dword [edx + 0x34]
test eax, eax
jns 0x4bb6fc
push 0
push 0
jmp 0x4bb6ff
push 6
push eax
push 0x403
push ecx
call dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov byte [esp + 0x17], 0
cmp esi, ebx
je 0x4bb805
mov al, byte [edx + 0x4c]
mov byte [esp + 0x17], 1
mov byte [esp + 0x30], 0
cmp al, 4
je 0x4bb7a9
cmp al, 9
je 0x4bb74d
cmp al, 0x12
jne 0x4bb7bb
push 0
push 0
push 0x408
push dword [edx + 0x34]
call dword [esp + 0x2c]
mov dword [esp + 0x58], eax
jmp 0x4bb7bb
mov eax, esi
and eax, 0x100000
test ebx, 0x100000
je 0x4bb79a
test eax, eax
jne 0x4bb7bb
mov eax, dword [edi + 0x64]
test eax, eax
jns 0x4bb790
lea eax, [esp + 0xbc]
push eax
push dword [edx + 0x34]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*2]
mov dword [edi + 0x64], eax
push 0
push eax
push 0x194
jmp 0x4bb7b4
test eax, eax
je 0x4bb7bb
push 0
push 0
push 0x194
jmp 0x4bb7b4
push 1
movzx eax, bx
push eax
push 0xf4
push dword [edx + 0x34]
call dword [esp + 0x2c]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 0x10]
push ebx
push 0xfffffffffffffff0
push dword [eax + 0x34]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
jne 0x4bb7e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4bb80d
mov eax, dword [esp + 0x10]
push 0xfffffffffffffff0
push dword [eax + 0x34]
call dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
cmp eax, esi
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x30], ecx
jmp 0x4bb80d
mov al, byte [esp + 0x23]
mov dword [esp + 0x30], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x10]
push 0xffffffffffffffec
push dword [eax + 0x34]
call dword [esp + 0x44]
mov esi, dword [edi + 8]
mov ecx, dword [edi + 0xc]
or esi, eax
not ecx
mov dword [esp + 0x54], eax
and esi, ecx
cmp eax, esi
je 0x4bb8a5
mov cl, byte [esp + 0x17]
movzx eax, cl
test cl, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x17], al
mov al, byte [esp + 0x23]
and al, byte [esp + 0x30]
push 0
mov byte [esp + 0x27], al
call dword [sym.imp.KERNEL32.dll_SetLastError]
push esi
mov esi, dword [esp + 0x14]
push 0xffffffffffffffec
push dword [esi + 0x34]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
jne 0x4bb885
mov al, byte [esp + 0x23]
mov byte [esp + 0x30], al
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4bb8a9
push 0xffffffffffffffec
push dword [esi + 0x34]
call dword [esp + 0x44]
cmp eax, dword [esp + 0x54]
mov eax, 1
movzx ecx, byte [esp + 0x23]
cmovne ecx, eax
mov byte [esp + 0x30], cl
jmp 0x4bb8a9
mov esi, dword [esp + 0x10]
cmp byte [esi + 0x4c], 0xa
jne 0x4bb909
push 0
push 0
push 0x1037
push dword [esi + 0x34]
call dword [esp + 0x2c]
mov esi, eax
mov eax, dword [edi + 0x10]
cmp esi, eax
je 0x4bb909
cmp byte [esp + 0x17], 0
jne 0x4bb8d9
mov byte [esp + 0x17], 1
mov byte [esp + 0x30], 0
push eax
mov eax, dword [esp + 0x14]
push 0
push 0x1036
push dword [eax + 0x34]
call dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
push 0
push 0
push 0x1037
push dword [eax + 0x34]
call dword [esp + 0x2c]
cmp eax, esi
je 0x4bb910
mov byte [esp + 0x30], 1
cmp byte [esp + 0x17], 0
je 0x4bb928
mov eax, dword [esp + 0x28]
mov ecx, 1
cmp byte [esp + 0x30], 0
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x10]
or ecx, 0xffffffff
movzx eax, byte [esi + 0x4c]
add eax, 0xfffffff7
cmp eax, 0x10
ja case.0x4bb946.13
movzx eax, byte [eax + 0x4bbfa8]
jmp dword [eax*4 + 0x4bbf84]
cmp byte [edi + 0x18a], 0
mov ebx, dword [esp + 0x1c]
je 0x4bba95
push dword [edi + 0x38]
push dword [edi + 0x34]
push 0x46f
push dword [esi + 0x34]
call ebx
jmp 0x4bba95
cmp byte [edi + 0x18a], 0
mov ebx, dword [esp + 0x1c]
je 0x4bb99e
push dword [edi + 0x34]
push 0
push 0x407
push dword [esi + 0x34]
call ebx
push dword [edi + 0x38]
push 1
push 0x408
push dword [esi + 0x34]
call ebx
cmp byte [edi + 0x18b], 0
je 0x4bb9f0
mov eax, dword [edi + 0x3c]
test eax, eax
jns 0x4bb9b9
push 0
push 1
push 0x409
jmp 0x4bb9eb
cmp byte [edi + 0x18c], 0
je 0x4bb9cc
push 0
push eax
push 0x414
jmp 0x4bb9eb
cmp byte [edi + 0x18a], 0
jne 0x4bb9f0
push 0
push 0
push 0x402
push dword [esi + 0x34]
call ebx
push eax
push 1
push 0x408
push dword [esi + 0x34]
call ebx
mov eax, dword [edi + 0x40]
test eax, eax
jle 0x4bba04
push eax
push 0
push 0x417
push dword [esi + 0x34]
call ebx
mov eax, dword [edi + 0x44]
test eax, eax
jle 0x4bba18
push eax
push 0
push 0x415
push dword [esi + 0x34]
call ebx
mov eax, dword [edi + 0x48]
test eax, eax
jle 0x4bba2c
push 0
push eax
push 0x41b
push dword [esi + 0x34]
call ebx
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x4bba41
push 0
dec eax
push eax
push 0x41f
push dword [esi + 0x34]
call ebx
mov eax, dword [edi + 0x50]
test eax, eax
je 0x4bba57
push dword [eax + 0x34]
push 1
push 0x420
push dword [esi + 0x34]
call ebx
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4bba6d
push dword [eax + 0x34]
push 0
push 0x420
push dword [esi + 0x34]
call ebx
test dword [edi + 4], 0x100
je 0x4bba95
push 0
push 0
push 0x41d
push dword [esi + 0x34]
call ebx
jmp 0x4bba95
mov ecx, dword [esp + 0x24]
push edi
push esi
call fcn.004bc5d0
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x58]
cmp ecx, 0xffffffff
je 0x4bbca3
movzx edx, byte [esi + 0x4c]
lea eax, [edx - 0xa]
cmp eax, 4
ja case.0x4bbab5.12
jmp dword [eax*4 + 0x4bbfbc]
mov eax, dword [edi + 0x58]
mov ebx, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x4bbae7
cmp eax, 0xff000000
cmove eax, ecx
push eax
push 0
push 0x111e
push dword [esi + 0x34]
call ebx
mov dword [edi + 0x58], 0xffffffff
or ecx, 0xffffffff
mov eax, dword [edi + 0x5c]
cmp eax, 0xffffffff
je 0x4bba95
cmp eax, 0xff000000
cmove eax, ecx
push eax
push 0
push 0x111d
push dword [esi + 0x34]
call ebx
jmp 0x4bba95
test dword [edi + 0x58], 0xff000000
je 0x4bbb1d
test dword [edi + 0x5c], 0xff000000
je 0x4bbb1d
test bl, 1
je 0x4bbb30
push 0x4f5b70
push 0x4f5b70
push dword [esi + 0x34]
call dword [sym.imp.UxTheme.dll_SetWindowTheme]
mov eax, dword [edi + 0x34]
test eax, eax
jne 0x4bbb3c
cmp dword [edi + 0x38], eax
je 0x4bbb4c
push dword [edi + 0x38]
push eax
push 0x406
push dword [esi + 0x34]
call dword [esp + 0x2c]
mov eax, dword [edi + 0x58]
cmp eax, 0xffffffff
je 0x4bbb63
push eax
push 0
push 0x409
push dword [esi + 0x34]
call dword [esp + 0x2c]
mov eax, dword [edi + 0x5c]
cmp eax, 0xffffffff
je 0x4bbb7a
push eax
push 0
push 0x2001
push dword [esi + 0x34]
call dword [esp + 0x2c]
cmp dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x1c]
je 0x4bba95
push 0
push dword [esp + 0x5c]
push 0x402
push dword [esi + 0x34]
call ebx
jmp 0x4bba95
mov ecx, dword [edi + 0x138]
mov ebx, dword [esp + 0x1c]
test ecx, ecx
je 0x4bba95
lea eax, [edi + 0x70]
push eax
push ecx
push 0xcb
push dword [esi + 0x34]
call ebx
mov eax, 1
mov dword [esp + 0x28], eax
jmp 0x4bba99
mov ecx, dword [edi + 0x138]
mov ebx, dword [esp + 0x1c]
test ecx, ecx
je 0x4bba95
lea eax, [edi + 0x70]
push eax
push ecx
push 0x192
push dword [esi + 0x34]
call ebx
mov eax, 1
mov dword [esp + 0x28], eax
jmp 0x4bba99
mov eax, dword [edi + 0x5c]
mov ebx, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x4bba95
push eax
push 0
push 0x2001
push dword [esi + 0x34]
call ebx
jmp 0x4bba95
push ecx
push 0
push 0x1024
push dword [esi + 0x34]
call ebx
jmp 0x4bbc9a
cmp ecx, 0xff000000
mov eax, 0xffffffff
cmove ecx, eax
push ecx
push 0
push 0x111e
push dword [esi + 0x34]
call ebx
jmp 0x4bbc9a
cmp ecx, 0xff000000
jne 0x4bbc5b
push 8
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
push ecx
push 1
push 0x1006
push dword [esi + 0x34]
call ebx
jmp 0x4bbc9a
cmp ecx, 0xff000000
jne 0x4bbc7c
push 8
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
push ecx
push 1
push 0x100a
push dword [esi + 0x34]
call ebx
jmp 0x4bbc9a
mov al, byte [edx + 0x526434]
not al
test al, 0x20
je 0x4bbc9a
mov dword [esi + 0x58], ecx
mov eax, 1
mov dword [esp + 0x28], eax
mov ecx, dword [edi + 0x184]
test ecx, ecx
je 0x4bbcd2
xor eax, eax
cmp ecx, 3
push 0
sete al
push eax
push 0xb
push dword [esi + 0x34]
call ebx
cmp dword [edi + 0x184], 3
jne 0x4bbcce
cmp byte [esi + 0x4c], 0xb
jne 0x4bbcd6
mov eax, dword [esp + 0x28]
test al, al
je 0x4bbce3
push 1
push 0
push dword [esi + 0x34]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp byte [esp + 0x17], 0
je 0x4bbd3d
cmp byte [esp + 0x30], 0
jne 0x4bbd3d
mov esi, dword [0x62271c]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x4bbd16
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
push 1
mov ecx, dword [eax + 0x298]
call fcn.0046e4c0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.004ebadf
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0xcc]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004ebadf
mov esp, ebp
pop ebp
ret 0x10