Function at 0x433940
Capabilities:
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1a64
call fcn.004b7400
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
push esi
push edi
cmp ecx, 0xff
jl 0x433979
sub ecx, 0xff
mov byte [esp + 0x33], 0
mov dword [esp + 0x18], ecx
jmp 0x433982
cmp byte [ebx + 0x21], 0
sete byte [esp + 0x33]
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov dword [esp + 0x38], eax
mov eax, dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov byte [esp + 0x32], 0
mov dword [esp + 0x2c], eax
test ecx, ecx
jne 0x433a35
xor edi, edi
mov dword [esp + 0x1c], edi
mov al, byte [ebp + 8]
mov byte [esp + 0x13], al
mov ecx, 0x24
call fcn.00499a70
mov esi, eax
mov dword [esp + 0x48], esi
test esi, esi
je 0x4369cb
mov edx, dword [ebx + 0x24c]
movzx ecx, word [ebx + 0x248]
mov al, byte [esp + 0x13]
mov byte [esi], al
mov eax, dword [esp + 0x18]
mov byte [esi + 1], al
mov word [esi + 2], cx
mov dword [esi + 4], edx
mov dword [esi + 8], edi
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov eax, dword [ebx + 0x610]
mov dword [esi + 0x10], eax
cmp dword [ebx + 0x60c], 0
jne 0x4344d5
mov dword [ebx + 0x60c], esi
jmp 0x4344de
shl ecx, 4
call fcn.00499a70
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x4369cb
xor eax, eax
mov dword [esp + 0x44], eax
cmp dword [esp + 0x18], eax
jle 0x4339a7
mov dl, byte [ebp + 8]
mov byte [esp + 0x13], dl
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx + eax*4]
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x433a78
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x28], ecx
jmp 0x433a80
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x44]
shl eax, 4
mov dword [esp + 0x24], eax
mov byte [eax + edi + 1], 0
cmp dl, 0x69
jne 0x433abc
cmp ecx, 1
jne 0x433abc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x433abc
push str.Parse
push eax
call dword [esp + 0x40]
add esp, 8
test eax, eax
jne 0x433ab8
mov al, 1
jmp 0x433ac7
mov ecx, dword [esp + 0x44]
mov edx, ecx
mov cl, byte [esp + 0x13]
call fcn.00426d40
mov edx, dword [esp + 0x24]
mov byte [edx + edi], al
movzx ecx, word [esi]
mov di, word [0x4e432c]
cmp cx, di
jne 0x433b5a
mov eax, dword [esp + 0x28]
test eax, eax
je 0x433aeb
cmp word [eax], 0
jne 0x433b5a
movzx eax, word [esi + 2]
cmp eax, 0x20
je 0x433af9
cmp eax, 9
jne 0x433b5a
mov edi, dword [esp + 0x1c]
mov al, byte [edx + edi]
cmp al, 2
je 0x434461
cmp al, 1
jne 0x433b24
mov al, byte [esp + 0x13]
cmp al, 0x38
je 0x434461
cmp al, 9
jb 0x433b24
cmp al, 0x20
jbe 0x434461
mov ecx, dword [esp + 0x28]
add esi, 4
mov ebx, dword [esp + 0x24]
test ecx, ecx
lea eax, [ecx + 4]
cmove eax, ecx
mov word [ebx + edi], pe_nt_image_headers32
cmp byte [esp + 0x13], 1
mov dword [esp + 0x28], eax
jne 0x433c06
mov byte [esp + 0x13], 2
mov dword [esp + 0x28], eax
jmp 0x433c06
mov eax, dword [esp + 0x1c]
cmp byte [edx + eax], 0
je 0x433bfe
test cx, cx
jne 0x433b7b
mov ebx, dword [esp + 0x24]
mov edi, eax
mov byte [ebx + edi], cl
jmp 0x433c06
mov ebx, dword [esp + 0x28]
xor edx, edx
mov eax, ecx
xor ecx, ecx
cmp ax, di
jne 0x433b95
test ebx, ebx
je 0x433ba2
cmp word [ecx + ebx], 0
je 0x433ba2
inc edx
lea ecx, [edx + edx]
movzx eax, word [ecx + esi]
test ax, ax
jne 0x433b85
cmp word [esi + edx*2], 0
mov ebx, dword [esp + 0x14]
jne 0x433bfe
push 3
push 0
push esi
mov ecx, ebx
call fcn.0043b220
mov ecx, eax
test ecx, ecx
je 0x434e15
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
cmp byte [edx + edi], 2
jne 0x433be6
mov al, byte [ecx + 0x17]
test al, al
jne 0x433bde
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
ja 0x434477
xor eax, eax
mov dword [edx + edi + 4], 0x4b9c10
mov word [edx + edi + 2], ax
mov dword [edx + edi + 8], ecx
jmp 0x434445
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov edx, esi
lea ecx, [edx + 2]
nop dword [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x433c10
sub edx, ecx
mov ecx, esi
sar edx, 1
mov word [ebx + edi + 2], dx
movzx edx, dx
call fcn.004999f0
mov esi, dword [esp + 0x1c]
mov dword [ebx + esi + 4], eax
test eax, eax
je 0x434e15
mov dword [esp + 0x34], 0
mov eax, dword [ebx + esi + 4]
cmp word [eax], 0
je 0x433d31
movzx ecx, byte [esp + 0x13]
push dword [esp + 0x18]
push dword [esp + 0x48]
lea eax, [ecx*8]
push dword [ebp + 0xc]
sub eax, ecx
mov cl, byte [esp + 0x1f]
lea edx, [eax*2 + 0x4e35a7]
call fcn.00433820
add esp, 0xc
test al, al
je 0x433d31
mov cl, byte [esp + 0x13]
cmp cl, 2
je 0x433d26
cmp cl, 0x6a
jb 0x433ca3
cmp cl, 0x6c
jbe 0x433d26
cmp cl, 0x74
je 0x433d26
mov ebx, dword [ebx + esi + 4]
mov edi, ebx
test edi, edi
je 0x433cf9
movzx eax, word [edi]
test ax, ax
je 0x433cf9
mov esi, eax
nop dword [eax]
mov ecx, str.__t____:______
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x433d1e
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x433cd0
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x433cc0
mov esi, dword [esp + 0x1c]
mov cl, byte [esp + 0x13]
cmp cl, 0x2b
jne 0x433d09
mov eax, dword [esp + 0x24]
cmp byte [eax + esi + 1], 0
jne 0x433d2d
mov edx, dword [esp + 0x28]
mov ecx, ebx
call fcn.004338c0
mov ebx, dword [esp + 0x24]
mov byte [ebx + esi + 1], al
jmp 0x433d31
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov byte [ebx + esi + 1], 1
jmp 0x433d31
mov ebx, dword [esp + 0x24]
cmp byte [ebx + esi + 1], 0
je 0x433d68
mov ecx, dword [ebx + esi + 4]
mov edx, 1
push 0
push 1
push 1
call fcn.0049c490
add esp, 0xc
test eax, eax
je 0x433d68
mov al, byte [esp + 0x13]
cmp al, 2
je 0x433d68
cmp al, 0x6a
je 0x433d68
cmp al, 0x74
je 0x433d68
mov byte [ebx + esi + 1], 0
cmp byte [ebx + esi + 1], 0
mov edi, dword [ebx + esi + 4]
mov dword [esp + 0x20], edi
je 0x43440b
movzx eax, word [edi]
test ax, ax
je 0x4342e3
mov ecx, eax
nop dword [eax]
movzx eax, cx
cmp cx, 0x2e
jne 0x433db0
cmp word [edi + 2], 0x3d
mov eax, 0x2e
jne 0x433db5
movzx eax, word [edi + 4]
add edi, 4
mov dword [esp + 0x20], edi
test ax, ax
je 0x433de3
movzx ecx, ax
nop dword [eax + eax]
push ecx
push str.__t____:_______
call dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x433ddf
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
test ax, ax
jne 0x433dc0
mov dword [esp + 0x20], edi
movzx eax, word [edi]
test ax, ax
je 0x4342db
lea ebx, [edi + 2]
mov dword [esp + 0x4c], ebx
mov esi, ebx
cmp eax, 0x22
jne 0x433e22
nop dword [eax]
movzx eax, word [esi]
test ax, ax
je 0x43448d
cmp eax, 0x22
jne 0x433e1d
add esi, 2
cmp word [esi], ax
jne 0x4342c7
add esi, 2
jmp 0x433e00
movzx eax, word [esi]
push eax
push str.__t____:_______
call dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x433e5a
mov edi, dword [esp + 0x2c]
nop word [eax + eax]
movzx eax, word [esi + 2]
add esi, 2
push eax
push str.__t____:_______
call edi
add esp, 8
test eax, eax
je 0x433e40
mov edi, dword [esp + 0x20]
cmp word [esi], 0x3d
jne 0x433e6b
cmp word [esi - 2], 0x2e
lea eax, [esi - 2]
cmove esi, eax
cmp word [edi], 0x2e
jne 0x433e89
movzx eax, word [ebx]
push eax
push 0x4d3da4
call dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x4342c7
mov eax, esi
nop dword [eax + eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x433e9d
cmp ecx, 9
jne 0x433ea2
add eax, 2
jmp 0x433e90
cmp ecx, 0x3a
jne 0x433f0f
cmp word [eax + 2], 0x3d
je 0x433f0f
mov ecx, dword [esp + 0x1c]
lea eax, [edi - 2]
mov edx, dword [esp + 0x24]
mov edx, dword [edx + ecx + 4]
cmp eax, edx
jbe 0x433ed5
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x433ece
cmp ecx, 9
jne 0x433ed5
sub eax, 2
cmp eax, edx
ja 0x433ec1
movzx eax, word [eax]
cmp eax, 0x2c
je 0x433ee2
cmp eax, 0x7b
jne 0x433f0f
mov ecx, edi
call fcn.00449350
cmp word [eax], 0x2e
je 0x433f0f
cmp eax, esi
je 0x4342c7
mov ecx, dword [esp + 0x14]
push edi
push str.Quote_marks_are_required_around_this_key.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, esi
sub ecx, edi
sar ecx, 1
mov dword [esp + 0x3c], ecx
cmp ecx, 4
jae case.0x433f75.66
cmp ecx, 1
jbe case.0x433f75.66
movzx eax, word [edi]
cmp ecx, 2
jne 0x433f62
cmp eax, 0x6f
je 0x433f41
cmp eax, 0x4f
jne case.0x433f75.66
movzx eax, word [ebx]
cmp eax, 0x72
je 0x433f52
cmp eax, 0x52
jne case.0x433f75.66
mov eax, 0x7c
mov word [edi], ax
mov word [ebx], ax
jmp 0x4342c7
add eax, 0xffffffbf
cmp eax, 0x2d
ja case.0x433f75.66
movzx eax, byte [eax + 0x4369f4]
jmp dword [eax*4 + 0x4369e8]
movzx eax, word [ebx]
cmp eax, 0x6e
je 0x433f8d
cmp eax, 0x4e
jne case.0x433f75.66
movzx eax, word [edi + 4]
cmp eax, 0x64
je 0x433f9f
cmp eax, 0x44
jne case.0x433f75.66
mov eax, 0x26
mov word [edi], ax
mov word [ebx], ax
mov eax, 0x20
mov word [edi + 4], ax
jmp 0x4342c7
movzx eax, word [ebx]
cmp eax, 0x6f
je 0x433fc5
cmp eax, 0x4f
jne 0x433fdb
movzx ecx, word [edi + 4]
cmp ecx, 0x74
je 0x4342c7
cmp ecx, 0x54
je 0x4342c7
cmp eax, 0x65
je 0x433fe9
cmp eax, 0x45
jne case.0x433f75.66
movzx eax, word [edi + 4]
cmp eax, 0x77
je 0x433ff7
cmp eax, 0x57
jne case.0x433f75.66
movzx eax, word [edi + 6]
cmp eax, 0x20
je 0x434005
cmp eax, 9
jne case.0x433f75.66
add edi, 8
movzx eax, word [edi]
cmp eax, 0x20
je 0x434015
cmp eax, 9
jne 0x43401a
add edi, 2
jmp 0x434008
mov ebx, dword [esp + 0x2c]
push eax
push str.__t____:_______.
call ebx
add esp, 8
test eax, eax
jne 0x434068
movzx eax, word [edi]
cmp eax, 0x22
je 0x434068
push eax
push str.__t____:_______.
call ebx
add esp, 8
test eax, eax
jne 0x43405a
movzx eax, word [edi + 2]
add edi, 2
push eax
push str.__t____:_______.
call ebx
add esp, 8
test eax, eax
je 0x434044
cmp word [edi], 0x28
sete byte [esp + 0x32]
jmp 0x4342c7
mov edi, dword [esp + 0x20]
movzx eax, word [esi]
mov ebx, edi
mov ecx, eax
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x48], ecx
mov word [esi], ax
movzx eax, word [edi]
test ax, ax
je 0x4340c9
mov edi, eax
nop word [eax + eax]
mov edx, 0x4d3e38
mov ecx, 0x27
nop word [eax + eax]
cmp di, cx
je 0x4344a5
movzx eax, word [edx + 2]
add edx, 2
mov ecx, eax
test ax, ax
jne 0x4340a0
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x434090
mov edi, dword [esp + 0x20]
push 0
push 1
mov ebx, 1
mov ecx, edi
push 0
mov edx, ebx
call fcn.0049c490
add esp, 0xc
test eax, eax
jne 0x4342c0
cmp word [edi], 0x2e
jne 0x43411e
movzx eax, word [0x4e432c]
push eax
push edi
call dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x4342c0
mov ecx, dword [esp + 0x14]
push edi
push str.Ambiguous_or_invalid_use_of__._
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x2e
push dword [esp + 0x50]
call dword [esp + 0x34]
mov edi, eax
add esp, 8
test edi, edi
je 0x4341c1
mov cx, word [esi - 2]
call fcn.00413080
cmp ax, 0x45
jne 0x434197
mov eax, dword [esp + 0x40]
cmp ax, 0x2b
je 0x434154
cmp ax, 0x2d
jne 0x434197
mov word [esi], ax
nop word [eax + eax]
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x30
jb 0x434171
cmp eax, 0x39
jbe 0x434160
mov dword [esp + 0x40], eax
mov edx, ebx
mov ebx, dword [esp + 0x20]
xor eax, eax
push eax
push 1
push eax
mov ecx, ebx
mov word [esi], ax
call fcn.0049c490
add esp, 0xc
test eax, eax
je 0x43419b
jmp 0x4342c0
mov ebx, dword [esp + 0x20]
movzx eax, word [0x4e432c]
push eax
push edi
call dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x434106
mov eax, edi
sub eax, ebx
sar eax, 1
xor bl, bl
mov dword [esp + 0x3c], eax
jmp 0x4341e1
mov eax, dword [esp + 0x40]
cmp ax, 0x28
sete bl
cmp word [esp + 0x48], 0x28
jne 0x4341e1
cmp byte [esp + 0x32], 0
je 0x4341e1
xor bl, bl
mov byte [esp + 0x32], bl
movzx eax, word [0x4e432c]
mov edi, dword [esp + 0x20]
push eax
push edi
call dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x434256
cmp dword [esp + 0x28], 0
mov edi, dword [esp + 0x34]
je 0x43421f
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
sub eax, dword [ecx + edx + 4]
mov ecx, dword [esp + 0x28]
sar eax, 1
lea eax, [ecx + eax*2]
jmp 0x434221
xor eax, eax
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x34]
push edx
lea edx, [esp + 0x274]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00436d80
test eax, eax
je 0x434e15
test bl, bl
je 0x4342c0
lea eax, [edi + edi*2]
mov byte [esp + eax*4 + 0x279], 0
jmp 0x4342c0
mov edx, dword [esp + 0x34]
cmp edx, 0x200
jge 0x4344bd
mov ecx, dword [esp + 0x20]
lea eax, [edx + edx*2]
mov edi, dword [esp + 0x3c]
mov dword [esp + eax*4 + 0x270], ecx
mov word [esp + eax*4 + 0x27a], di
mov byte [esp + eax*4 + 0x278], bl
test bl, bl
je 0x434298
mov dword [esp + eax*4 + 0x274], 0
jmp 0x4342bb
push 3
push edi
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0043b220
mov edx, dword [esp + 0x34]
lea ecx, [edx + edx*2]
mov dword [esp + ecx*4 + 0x274], eax
test eax, eax
je 0x434e15
inc edx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x40]
mov word [esi], ax
movzx eax, word [esi]
mov edi, esi
mov dword [esp + 0x20], edi
mov ecx, eax
test ax, ax
jne 0x433d90
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x34], 1
jne 0x434378
mov ecx, dword [ebx + esi + 4]
xor edx, edx
call fcn.004a1010
test eax, eax
je 0x434378
mov cl, byte [esp + 0x13]
cmp cl, 0x6a
jb 0x434310
cmp cl, 0x6c
jbe 0x434315
cmp cl, 0x74
je 0x434315
mov byte [ebx + esi + 1], 0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x434435
inc eax
lea ecx, [eax + eax*2]
shl ecx, 2
call fcn.00499a70
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov dword [esi + edi + 8], eax
test eax, eax
je 0x4369cb
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
lea ecx, [esp + 0x274]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x40]
add esp, 0xc
lea ecx, [eax + eax*2]
mov eax, dword [esi + edi + 8]
mov dword [eax + ecx*4], 0
jmp 0x434445
cmp dword [esp + 0x34], 0
je 0x434315
mov edi, dword [ebx + esi + 4]
test edi, edi
je 0x4343c9
movzx eax, word [edi]
test ax, ax
je 0x4343c9
mov esi, eax
mov ecx, str.__t____:_______.
mov edx, 0x20
nop dword [eax + eax]
cmp si, dx
je 0x434315
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x4343a0
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x434391
mov esi, dword [esp + 0x1c]
cmp byte [esp + 0x278], 0
jne 0x434315
mov eax, dword [esp + 0x270]
mov ax, word [eax]
cmp ax, word [0x4e432c]
jne 0x434315
mov cl, byte [esp + 0x13]
cmp cl, 0x6a
jb 0x434400
cmp cl, 0x6c
jbe 0x434315
mov word [ebx + esi], 1
jmp 0x434315
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x274]
mov ecx, ebx
push eax
push dword [esp + 0x30]
push edi
call fcn.00436d80
test eax, eax
je 0x434e15
jmp 0x434319
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [eax + edi + 8], 0
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x18]
jge 0x4339ae
mov dl, byte [esp + 0x13]
jmp 0x433a62
push esi
push str.Unexpected__
mov ecx, ebx
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
push str.Not_allowed_as_an_output_variable.
mov ecx, ebx
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x14]
push edi
push str.Missing_close_quote
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x14]
push ebx
push str.The_leftmost_character_above_is_illegal_in_an_expression.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x14]
push edi
push str.Too_many_var_func_refs.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x610]
mov dword [eax + 0x14], esi
mov edx, dword [esp + 0x18]
mov dword [ebx + 0x610], esi
mov dword [ebx + 0x648], esi
test edx, edx
jle 0x4344f7
mov edi, dword [edi + 4]
jmp 0x4344fc
mov edi, 0x4b9c10
mov eax, dword [esp + 0x1c]
cmp edx, 1
jle 0x43450a
mov ebx, dword [eax + 0x14]
jmp 0x43450f
mov ebx, 0x4b9c10
cmp edx, 2
jle 0x434519
mov ecx, dword [eax + 0x24]
jmp 0x43451e
mov ecx, 0x4b9c10
mov dword [esp + 0x20], ecx
cmp edx, 3
jle 0x43452c
mov edx, dword [eax + 0x34]
jmp 0x434531
mov edx, 0x4b9c10
movzx eax, byte [esp + 0x13]
dec eax
mov dword [esp + 0x24], edx
cmp eax, 0xe1
ja case.0x43454d.3
movzx eax, byte [eax + 0x436b34]
jmp dword [eax*4 + 0x436a24]
mov eax, dword [esp + 0x18]
cmp eax, 2
jge 0x434580
mov ecx, dword [esp + 0x14]
push 0x4b9c10
push str.Parameter_2_required
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esp + 0x18]
cmp eax, 2
jle 0x43467f
cmp word [ecx], 0
je 0x4345d1
push 2
mov ecx, esi
call fcn.00427090
test al, al
jne 0x4345d1
mov edi, dword [esp + 0x20]
mov cx, word [edi]
call fcn.00413080
movzx eax, ax
push eax
push str.SMHD
call dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x4345d1
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_3_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esp + 0x13], 5
jne 0x434603
cmp word [ebx], 0
je 0x434603
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne 0x434603
push 1
lea edx, [esp + 0x54]
mov ecx, ebx
call fcn.0049c0f0
add esp, 4
test eax, eax
je 0x434d18
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1c], 0
mov bl, byte [esp + 0x13]
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x20], 0
je 0x434646
cmp byte [esp + 0x33], 0
je 0x434646
mov ecx, dword [0x4e30fc]
mov eax, dword [ecx + 0xb4]
mov dword [eax + 8], esi
mov byte [edx + 0x20], 0
mov eax, dword [ecx + 0xb4]
cmp byte [eax + 0x50], 0
jne 0x434646
mov byte [eax + 0x50], 0x42
cmp bl, 0x75
jne 0x4368f4
mov eax, dword [0x4e30fc]
inc dword [edx + 0x1c]
mov eax, dword [eax + 0xb4]
test eax, eax
je 0x436971
cmp dword [eax + 8], 0
jne 0x436971
mov dword [esi + 0xc], 1
mov byte [edx + 0x20], 1
jmp 0x436971
cmp byte [esp + 0x13], 7
jne case.0x43454d.1
push 1
mov ecx, esi
call fcn.00427090
test al, al
mov eax, dword [esp + 0x1c]
jne 0x4346ce
cmp byte [eax + 0x11], 0
jne 0x4346ce
mov ecx, ebx
call fcn.00426540
ucomisd xmm0, qword [0x4dca60]
lahf
test ah, 0x44
jp case.0x43454d.1
mov ecx, dword [esp + 0x14]
push ebx
push str.Divide_by_zero
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esp + 0x1c]
mov ecx, 1
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x18], ecx
jle case.0x43454d.3
lea edi, [eax + 0x14]
mov eax, dword [edi]
cmp word [eax], 0
je 0x434768
push ecx
mov ecx, esi
call fcn.00427090
test al, al
jne 0x434764
cmp byte [edi - 3], al
jne 0x434764
mov ecx, dword [edi]
mov edx, 1
push 0
push 0
push 0
call fcn.0049c490
add esp, 0xc
test eax, eax
je 0x434764
mov al, byte [esp + 0x13]
cmp al, 1
je 0x434726
cmp al, 2
jne 0x43473e
movzx eax, word [ebx]
cmp eax, 0x30
je 0x434764
cmp eax, 0x2b
je 0x434764
mov eax, dword [esp + 0x1c]
cmp word [eax + 0x12], 0x12
ja 0x434764
mov ecx, 8
call fcn.00499a70
mov dword [edi + 8], eax
test eax, eax
je 0x434786
mov ecx, dword [edi]
call fcn.00404b50
mov ecx, dword [edi + 8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x28]
jmp 0x43476f
mov ecx, dword [esp + 0x28]
mov dword [edi + 8], 0
inc ecx
add edi, 0x10
mov dword [esp + 0x28], ecx
cmp ecx, dword [esp + 0x18]
jl 0x4346e4
jmp case.0x43454d.3
mov ecx, dword [esp + 0x14]
push 0x4b9c10
push 0x4cdaa4
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esp + 0x18]
sub eax, 0
je 0x4349f5
mov ecx, esi
push 0
sub eax, 1
je 0x434991
call fcn.00427090
test al, al
je 0x4347d1
mov dword [esi + 0xc], 1
jmp case.0x43454d.3
push str.Read
push edi
call dword [esp + 0x40]
add esp, 8
test eax, eax
jne 0x4347ee
mov dword [esi + 0xc], 5
jmp case.0x43454d.3
push str.Parse
push edi
call dword [esp + 0x40]
add esp, 8
test eax, eax
jne 0x43480b
mov dword [esi + 0xc], 6
jmp case.0x43454d.3
push 0x4d3f94
push edi
call dword [esp + 0x40]
add esp, 8
test eax, eax
jne 0x434828
mov dword [esi + 0xc], 9
jmp case.0x43454d.3
push str.Files
push edi
call dword [esp + 0x40]
add esp, 8
test eax, eax
jne 0x434845
mov dword [esi + 0xc], 0xa
jmp case.0x43454d.3
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.004270d0
xor ecx, ecx
add esp, 8
test eax, eax
setne cl
add ecx, 3
mov dword [esi + 0xc], ecx
test eax, eax
jne 0x4348f6
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne 0x434891
mov ecx, ebx
call fcn.00416fe0
sub eax, 0
je 0x434891
sub eax, 1
je 0x434891
sub eax, 1
jne 0x434d18
mov ebx, dword [esp + 0x20]
cmp word [ebx], 0
je case.0x43454d.3
push 2
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4348b5
sub ecx, edx
sar ecx, 1
cmp ecx, 1
ja 0x4348de
movzx eax, word [ebx]
cmp eax, 0x30
je case.0x43454d.3
cmp eax, 0x31
je case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_3_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 2
jle 0x434924
push 2
mov ecx, esi
call fcn.00427090
test al, al
jne 0x434924
mov ebx, dword [esp + 0x20]
mov ecx, ebx
call fcn.00416fe0
sub eax, 0
je 0x434924
sub eax, 1
je 0x434924
sub eax, 1
jne 0x4348de
mov ebx, dword [esp + 0x24]
cmp word [ebx], 0
je case.0x43454d.3
push 3
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x434950
sub ecx, edx
sar ecx, 1
cmp ecx, 1
ja 0x434979
movzx eax, word [ebx]
cmp eax, 0x30
je case.0x43454d.3
cmp eax, 0x31
je case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_4_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call fcn.00427090
test al, al
jne 0x4349e8
mov eax, dword [esp + 0x1c]
cmp byte [eax + 1], 0
jne 0x4349e8
push 0
push 0
push 1
xor edx, edx
mov ecx, edi
call fcn.0049c490
add esp, 0xc
test eax, eax
je 0x4349c7
mov eax, 2
mov dword [esi + 0xc], eax
jmp case.0x43454d.3
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.004270d0
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 3
mov dword [esi + 0xc], eax
jmp case.0x43454d.3
mov eax, 1
mov dword [esi + 0xc], eax
jmp case.0x43454d.3
mov dword [esi + 0xc], 2
jmp case.0x43454d.3
mov dword [esi + 0xc], 7
jmp case.0x43454d.3
mov dword [esi + 0xc], 8
jmp case.0x43454d.3
cmp dword [esp + 0x18], 0
mov byte [0x4e5bb9], 1
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
push 0
lea eax, [esp + 0x4c]
mov ecx, edi
push 0
push eax
lea edx, [esp + 0x58]
call fcn.004790b0
add esp, 0xc
cmp dword [esp + 0x48], 0
jne 0x434a72
mov ecx, dword [esp + 0x14]
push edi
push str.Invalid_Gui_name.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x4c]
call fcn.00427df0
cmp eax, 0x12
ja case.0x43454d.3
movzx eax, byte [eax + 0x436c2c]
jmp dword [eax*4 + 0x436c18]
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 1
jle case.0x43454d.3
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, ebx
call fcn.004282a0
test al, al
je 0x434d18
cmp al, 0xb
jne case.0x43454d.3
cmp dword [esp + 0x18], 3
jle case.0x43454d.3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push eax
push str.Parameter_4_must_be_blank_in_this_case.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 1
jle case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_2_and_beyond_should_be_omitted_in_this_case.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 2
jle case.0x43454d.3
push dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push str.Parameter_3_and_beyond_should_be_omitted_in_this_case.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne 0x434b75
push 1
push edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.0043bd90
mov dword [esi + 0xc], eax
test eax, eax
je 0x434e15
jmp 0x434b79
mov edi, dword [esp + 0x14]
mov cl, byte [esp + 0x13]
cmp cl, 0x97
je 0x434bfa
cmp cl, 0x98
je 0x434bfa
cmp cl, 0x99
jne case.0x43454d.3
cmp word [ebx], 0
je case.0x43454d.3
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x434bb0
sub ecx, edx
sar ecx, 1
cmp ecx, 1
ja 0x434be4
mov cx, word [ebx]
call fcn.00413080
movzx eax, ax
push eax
push 0x4d4130
call dword [esp + 0x34]
add esp, 8
test eax, eax
jne case.0x43454d.3
push ebx
push str.Parameter_2_invalid.
mov ecx, edi
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [ebx], 0
je case.0x43454d.3
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, ebx
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x434c20
sub ecx, edx
sar ecx, 1
cmp ecx, 1
ja 0x434be4
mov cx, word [ebx]
call fcn.00413080
cmp ax, 0x52
je case.0x43454d.3
push ebx
push str.Parameter_2_invalid.
mov ecx, edi
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 1
jl case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
je 0x434c8d
mov dword [0x4e5bb4], 1
mov dword [0x4e5bb0], 1
jmp case.0x43454d.3
push 5
push str.Float
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x434d30
lea eax, [edi + 0xa]
push str.Fast
push eax
call dword [esp + 0x40]
mov ecx, dword [0x4e5bb0]
add esp, 8
test eax, eax
mov edi, 1
cmovne ecx, edi
mov dword [0x4e5bb0], ecx
cmp dword [esp + 0x18], edi
jle case.0x43454d.3
push edi
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
push edi
push edi
push 0
mov edx, edi
mov ecx, ebx
call fcn.0049c490
add esp, 0xc
test eax, eax
je 0x434d18
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x434d00
sub ecx, edx
sar ecx, 1
cmp ecx, 0x1e
jb case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_2_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 7
push str.Integer
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.0x434a8b.0
lea eax, [edi + 0xe]
push str.Fast
push eax
call dword [esp + 0x40]
mov ecx, dword [0x4e5bb4]
add esp, 8
test eax, eax
mov eax, 1
cmovne ecx, eax
mov dword [0x4e5bb4], ecx
cmp dword [esp + 0x18], eax
jle case.0x43454d.3
push eax
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov cx, word [ebx]
call fcn.00413080
cmp ax, 0x48
je case.0x43454d.3
mov cx, word [ebx]
call fcn.00413080
cmp ax, 0x44
je case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_2_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [edi], 0
je case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
push edi
push 0x4d4144
lea eax, [esp + 0x68]
push 0x107
push eax
call fcn.0049c640
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x70]
add esp, 0x10
push 3
push 0
push eax
call fcn.0043b220
mov dword [esi + 0xc], eax
test eax, eax
jne case.0x43454d.3
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
mov eax, dword [0x4e30fc]
cmp dword [eax + 0xb4], 0
jne case.0x43454d.3
mov ecx, dword [esp + 0x14]
push 0x4b9c10
push str.Returns_parameter_should_be_blank_except_inside_a_function.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
xor edx, edx
mov ecx, edi
call fcn.00413160
test eax, eax
jne case.0x43454d.3
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, edi
call fcn.00428de0
cmp eax, 4
jne case.0x43454d.3
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov edx, 0x4d0c34
mov ecx, edi
call fcn.0049ca30
test eax, eax
jne case.0x43454d.3
push eax
push eax
push eax
lea edx, [eax + 1]
mov ecx, edi
call fcn.0049c490
add esp, 0xc
jmp 0x434e7e
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
xor edx, edx
mov ecx, edi
call fcn.00413230
test eax, eax
jne case.0x43454d.3
push str.Permit
push edi
call dword [esp + 0x40]
add esp, 8
test eax, eax
je case.0x43454d.3
jmp case.0x434a8b.0
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, edi
call fcn.00428eb0
jmp 0x434e7e
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov edx, 4
mov ecx, edi
call fcn.00428f60
cmp eax, 4
jmp 0x434e80
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, edi
call fcn.00416fe0
cmp eax, 0x64
jbe case.0x43454d.3
jmp case.0x434a8b.0
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
xor edx, edx
mov ecx, edi
call fcn.00413230
jmp 0x434e7e
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
xor edx, edx
mov ecx, edi
call fcn.00428d90
jmp 0x434e7e
cmp dword [esp + 0x18], 4
jle case.0x43454d.3
push 4
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ebx, dword [esp + 0x1c]
push 0x4d0878
push dword [ebx + 0x44]
call dword [esp + 0x40]
add esp, 8
test eax, eax
je case.0x43454d.3
push dword [ebx + 0x44]
mov ecx, dword [esp + 0x18]
push str.Parameter_5_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [edx], 0
je case.0x43454d.3
push 3
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ebx, dword [esp + 0x24]
mov cx, word [ebx]
call fcn.00413080
movzx eax, ax
push eax
push 0x4d41f8
call dword [esp + 0x34]
add esp, 8
test eax, eax
jne case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_4_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [ebx], 0
je case.0x43454d.3
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
push 0
push 0
mov edx, 2
mov ecx, ebx
call fcn.004270d0
add esp, 8
test eax, eax
jne case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_2_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, edi
call fcn.00427330
cmp eax, 0xffffffff
jmp 0x434e80
cmp dword [esp + 0x18], 1
jle case.0x43454d.3
cmp word [edi], 0
je case.0x43454d.190
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.190
mov ecx, edi
call fcn.004272b0
test eax, eax
jne case.0x43454d.190
jmp case.0x434a8b.0
cmp word [edi], 0
je case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
push 0
push 0
mov edx, 2
mov ecx, edi
call fcn.004270d0
add esp, 8
jmp 0x434e7e
cmp byte [esp + 0x13], 0x9e
jne 0x43520c
cmp dword [esp + 0x18], 0
jle 0x43520c
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne 0x43520c
mov ecx, edi
call fcn.00426540
movsd xmm1, qword [0x4dcb50]
comisd xmm1, xmm0
ja case.0x434a8b.0
comisd xmm0, xmmword [0x4dcad0]
ja case.0x434a8b.0
cmp word [ebx], 0
je 0x435230
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne 0x435230
xor edx, edx
mov ecx, ebx
call fcn.004273e0
test eax, eax
je 0x434d18
mov ebx, dword [esp + 0x20]
cmp word [ebx], 0
je case.0x43454d.3
push 2
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, ebx
call fcn.00427610
cmp eax, 0xffffffff
jne case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_3_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 0
jle case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, edi
call fcn.00426540
movsd xmm1, qword [0x4dcb50]
comisd xmm1, xmm0
ja case.0x434a8b.0
comisd xmm0, xmmword [0x4dcad0]
jbe case.0x43454d.3
jmp case.0x434a8b.0
cmp word [ebx], 0
je case.0x43454d.3
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov edi, dword [esp + 0x38]
push str.wait
push ebx
call edi
add esp, 8
test eax, eax
je case.0x43454d.3
push 0x4cffc4
push ebx
call edi
add esp, 8
test eax, eax
je case.0x43454d.3
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_2_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [ecx], 0
je 0x4353cd
cmp word [edx], 0
je 0x4353cd
mov ecx, dword [esp + 0x18]
cmp ecx, 4
jle 0x4353cd
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x44]
cmp word [eax], 0
je 0x4353cd
cmp ecx, 5
jle 0x4353cd
mov eax, dword [ebx + 0x54]
cmp word [eax], 0
je 0x4353cd
cmp ecx, 6
jle 0x4353cd
mov eax, dword [ebx + 0x64]
cmp word [eax], 0
je 0x4353cd
cmp byte [esp + 0x13], 0x95
je case.0x43454d.3
cmp ecx, 7
jle case.0x43454d.3
mov eax, dword [ebx + 0x74]
cmp word [eax], 0
je case.0x43454d.3
push 7
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, dword [ebx + 0x74]
call fcn.00416fe0
test eax, eax
js 0x4353b3
cmp eax, 0xff
jle case.0x43454d.3
push dword [ebx + 0x74]
mov ecx, dword [esp + 0x18]
push str.Parameter_8_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x14]
push 0x4b9c10
push str.Parameters_3_through_7_must_not_be_blank.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [edi], 0
je 0x435403
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne 0x435403
mov ecx, edi
call fcn.00429220
cmp word [ebx], 0
je case.0x43454d.3
push 1
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, ebx
call fcn.004291b0
jmp case.0x43454d.3
cmp word [edi], 0
je case.0x43454d.3
push 0
mov ecx, esi
call fcn.00427090
test al, al
jne case.0x43454d.3
mov ecx, edi
call fcn.00416fe0
test eax, eax
js case.0x434a8b.0
cmp eax, 0x64
jle case.0x43454d.3
jmp case.0x434a8b.0
cmp word [ecx], 0
je 0x4354a2
push 2
mov ecx, esi
call fcn.00427090
test al, al
jne 0x4354a2
mov ecx, dword [esp + 0x20]
call fcn.00416fe0
test eax, eax
js 0x435487
cmp eax, 0x64
jle 0x4354a2
push dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push str.Parameter_3_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esp + 0x24]
cmp word [eax], 0
je 0x4354e6
push 3
mov ecx, esi
call fcn.00427090
test al, al
jne 0x4354e6
mov eax, dword [esp + 0x24]
mov cx, word [eax]
call fcn.00413080
cmp ax, 0x52
je 0x4354e6
push dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push str.Parameter_4_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [edi], 0
movzx eax, word [ebx]
jne 0x435510
test ax, ax
je case.0x43454d.3
mov ecx, dword [esp + 0x14]
push edi
push str.X__Y_must_be_either_both_absent_or_both_present.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test ax, ax
jne case.0x43454d.3
mov ecx, dword [esp + 0x14]
push edi
push str.X__Y_must_be_either_both_absent_or_both_present.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 4
mov ecx, dword [esp + 0x1c]
jle 0x435589
mov eax, dword [ecx + 0x44]
cmp word [eax], 0
je 0x435589
push 4
mov ecx, esi
call fcn.00427090
test al, al
jne 0x435585
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x44]
call fcn.00416fe0
test eax, eax
js 0x435567
cmp eax, 0x64
jle 0x435585
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [eax + 0x44]
push str.Parameter_5_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x18], 5
jle 0x435606
mov eax, dword [ecx + 0x54]
cmp word [eax], 0
je 0x435606
push 5
mov ecx, esi
call fcn.00427090
test al, al
jne 0x435606
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x54]
mov edx, ecx
lea eax, [edx + 2]
mov dword [esp + 0x48], eax
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4355b6
sub edx, dword [esp + 0x48]
sar edx, 1
cmp edx, 1
ja 0x4355e8
mov cx, word [ecx]
call fcn.00413080
movzx eax, ax
push eax
push 0x4d42f4
call dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x435606
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [eax + 0x54]
push str.Parameter_6_invalid.
invalid