Function at 0x4260f0
Capabilities:
Get keyboard layout

Disassembly:
mov eax, 0x1a48
call fcn.004a7dd0
mov eax, dword [esp + 0x1a58]
push ebx
mov ebx, dword [esp + 0x1a50]
push ebp
push esi
push edi
mov edi, dword [esp + 0x1a6c]
cmp eax, 0xff
jl 0x42612d
sub eax, 0xff
mov dword [esp + 0x1a68], eax
mov byte [esp + 0x26], 0
jmp 0x426136
cmp byte [ebx + 0x49], 0
sete byte [esp + 0x26]
mov byte [esp + 0x27], 0
test eax, eax
jne 0x426207
mov dword [esp + 0x20], eax
mov ebx, dword [0x4da654]
cmp dword [0x4da650], 0
jne 0x42616e
call fcn.0047d030
mov dword [0x4da650], eax
test eax, eax
je 0x426d29
mov ebx, dword [0x4da654]
cmp dword [ebx + 8], 0x24
jae 0x42618a
call fcn.0047d030
mov ebx, dword [0x4da654]
mov dword [ebx + 0xc], eax
test eax, eax
je 0x426d29
mov edi, dword [ebx + 4]
add dword [ebx + 8], 0xffffffdc
xor ebp, ebp
lea ecx, [edi + 0x24]
mov dword [0x4da658], edi
mov dword [ebx + 4], ecx
cmp edi, ebp
je 0x426d29
mov esi, dword [esp + 0x1a5c]
mov eax, dword [esi + 0x274]
movzx ecx, word [esi + 0x270]
mov bl, byte [esp + 0x1a60]
mov edx, dword [esp + 0x1a68]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
mov byte [edi], bl
mov byte [edi + 1], dl
mov word [edi + 2], cx
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebp
mov dword [edi + 0x10], ebp
mov dword [edi + 0x14], ebp
mov dword [edi + 0x18], ebp
mov dword [edi + 0x1c], ebp
mov dword [edi + 0x20], ebp
mov ecx, dword [esi + 4]
mov dword [edi + 0x10], ecx
mov dword [esp + 0x18], edi
cmp dword [esi], ebp
jne 0x426d4c
mov dword [esi], edi
jmp 0x426d52
mov esi, dword [esp + 0x1a68]
mov eax, esi
shl eax, 4
call fcn.0047cfc0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x42623e
push 0x4b0cf8
push 0x4b3980
mov ecx, ebx
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
xor eax, eax
mov dword [esp + 0x10], eax
test esi, esi
jle 0x426147
lea esp, [esp]
mov ecx, dword [esp + 0x1a64]
mov esi, dword [ecx + eax*4]
test edi, edi
je 0x426263
mov ebp, dword [edi + eax*4]
jmp 0x426265
xor ebp, ebp
mov eax, dword [esp + 0x10]
mov bl, byte [esp + 0x1a60]
mov edi, eax
shl edi, 4
add edi, dword [esp + 0x20]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], edi
mov byte [edi + 1], 0
cmp bl, 0x69
jne 0x4262ae
cmp eax, 1
jne 0x4262ae
mov edx, ecx
mov eax, dword [edx]
test eax, eax
je 0x4262ae
push 0x4b74c4
push eax
call fcn.00499c29
add esp, 8
test eax, eax
jne 0x4262ae
mov byte [edi], 1
jmp 0x4262bb
mov ecx, dword [esp + 0x10]
mov al, bl
call fcn.0041ac40
mov byte [edi], al
movzx ecx, word [esi]
cmp cx, word [0x4d5a3c]
jne 0x426414
test ebp, ebp
je 0x4262da
cmp word [ebp], 0
jne 0x426414
movzx eax, word [esi + 2]
cmp eax, 0x20
je 0x4262ec
cmp eax, 9
jne 0x426414
mov al, byte [edi]
cmp al, 2
je 0x426c55
cmp al, 1
jne 0x426311
cmp bl, 0x38
je 0x426c55
cmp bl, 9
jb 0x426311
cmp bl, 0x20
jbe 0x426c55
add esi, 4
mov word [edi], 0x100
test ebp, ebp
je 0x426324
add ebp, 4
mov dword [esp + 0x2c], ebp
cmp bl, 1
jne 0x426331
mov byte [esp + 0x1a60], 2
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x426336
sub eax, edx
sar eax, 1
movzx ecx, ax
push esi
mov word [edi + 2], ax
call fcn.0047cf40
add esp, 4
mov dword [edi + 4], eax
test eax, eax
je 0x42770c
cmp word [eax], 0
mov dword [esp + 0x14], 0
je 0x4264d6
mov eax, dword [esp + 0x1a68]
mov bl, byte [esp + 0x1a60]
mov edi, dword [esp + 0x1a64]
push eax
movzx eax, bl
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x14]
lea ecx, [ecx*2 + 0x4d5b2f]
call fcn.00425fd0
add esp, 4
test al, al
je 0x4264d6
mov al, bl
cmp al, 2
je 0x4264ce
cmp al, 0x6a
jb 0x4263c5
cmp al, 0x6c
jbe 0x4264ce
cmp al, 0x72
jb 0x4263d1
cmp al, 0x74
jbe 0x4264ce
mov edi, dword [esp + 0x1c]
mov esi, dword [edi + 4]
mov ebx, 0x4b7538
mov eax, esi
call fcn.0040558a
test eax, eax
jne 0x4264ce
cmp byte [esp + 0x1a60], 0x2b
jne 0x4263ff
cmp byte [edi + 1], al
jne 0x4264d6
mov edi, ebp
mov ecx, esi
call fcn.00426070
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 1], al
jmp 0x4264d6
cmp byte [edi], 0
je 0x426331
test cx, cx
jne 0x426429
mov byte [edi], cl
jmp 0x426331
xor edx, edx
mov eax, ecx
xor ecx, ecx
nop
cmp ax, word [0x4d5a3c]
jne 0x426444
test ebp, ebp
je 0x426451
cmp word [ecx + ebp], 0
je 0x426451
inc edx
lea ecx, [edx + edx]
movzx eax, word [ecx + esi]
test ax, ax
jne 0x426430
cmp word [esi + edx*2], 0
jne 0x426331
mov ebx, dword [esp + 0x1a5c]
lea eax, [esp + 0x33]
push eax
push 3
lea ecx, [esp + 0x3c]
push ecx
push 0
push esi
mov ecx, ebx
call fcn.0042d170
test eax, eax
jne 0x42649e
mov eax, dword [esp + 0x34]
xor edx, edx
cmp byte [esp + 0x33], dl
setne dl
xor ecx, ecx
inc edx
push edx
push eax
push esi
push ebx
call fcn.0042d420
test eax, eax
je 0x42770c
cmp byte [edi], 2
jne 0x4264b9
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4264b0
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 2
ja 0x426c74
xor edx, edx
mov dword [edi + 4], 0x4b0cf8
mov word [edi + 2], dx
mov dword [edi + 8], eax
jmp 0x426c2d
mov edx, dword [esp + 0x1c]
mov byte [edx + 1], 1
mov esi, dword [esp + 0x1c]
cmp byte [esi + 1], 0
je 0x426b50
mov eax, dword [esi + 4]
push 0
push 1
push 1
push 1
call fcn.0047fe10
add esp, 0x10
test eax, eax
je 0x42651a
mov al, byte [esp + 0x1a60]
cmp al, 2
je 0x42651a
cmp al, 0x6a
jb 0x42650e
cmp al, 0x6c
jbe 0x42651a
cmp al, 0x72
jb 0x426516
cmp al, 0x74
jbe 0x42651a
mov byte [esi + 1], 0
cmp byte [esi + 1], 0
je 0x426b50
mov ebx, dword [esi + 4]
cmp word [ebx], 0
je 0x426c22
cmp word [ebx], 0x2e
mov ebp, dword [esp + 0x1c]
mov esi, 0x3d
jne 0x426549
cmp word [ebx + 2], si
jne 0x426549
add ebx, 4
cmp word [ebx], 0
je 0x426a83
movzx eax, word [ebx]
push eax
push 0x4b7564
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x426571
add ebx, 2
cmp word [ebx], 0
jne 0x426553
movzx eax, word [ebx]
test ax, ax
je 0x426a83
cmp eax, 0x22
jne 0x4265b6
lea ecx, [ebx + 2]
jmp 0x426590
movzx eax, word [ecx]
test ax, ax
je 0x426c8e
cmp eax, 0x22
jne 0x4265b1
add ecx, 2
mov dword [esp + 0x18], ecx
cmp word [ecx], ax
jne 0x426a71
add ecx, 2
jmp 0x426590
movzx ecx, word [ebx + 2]
lea edi, [ebx + 2]
push ecx
push 0x4b7564
mov dword [esp + 0x20], edi
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x4265f0
movzx edx, word [edi + 2]
add edi, 2
push edx
push 0x4b7564
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x4265d3
mov dword [esp + 0x18], edi
cmp word [edi], si
jne 0x426603
cmp word [edi - 2], 0x2e
jne 0x426603
add edi, 0xfffffffe
mov dword [esp + 0x18], edi
cmp word [ebx], 0x2e
jne 0x426623
movzx eax, word [ebx + 2]
push eax
push 0x4b75bc
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x426a71
mov ecx, edi
movzx eax, word [ecx]
cmp eax, 0x20
je 0x426632
cmp eax, 9
jne 0x426637
add ecx, 2
jmp 0x426625
cmp word [ecx], 0x3a
jne 0x4266db
cmp word [ecx + 2], si
je 0x4266db
lea eax, [ebx - 2]
cmp eax, dword [ebp + 4]
jbe 0x426668
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x426660
cmp ecx, 9
jne 0x426668
sub eax, 2
cmp eax, dword [ebp + 4]
ja 0x426653
movzx eax, word [eax]
cmp eax, 0x2c
je 0x426675
cmp eax, 0x7b
jne 0x4266db
mov esi, ebx
jmp 0x426680
movzx eax, word [esi]
test eax, 0xffffff80
jne 0x42669c
push 0x107
push eax
call fcn.0049b90c
add esp, 8
test eax, eax
jne 0x4266a9
movzx eax, word [esi]
cmp eax, 0x5f
je 0x4266a9
cmp eax, 0x7f
jbe 0x4266ae
add esi, 2
jmp 0x426680
cmp word [esi], 0x2e
je 0x4266db
cmp esi, edi
je 0x426a71
mov ecx, dword [esp + 0x1a5c]
push ebx
push 0x4b75c8
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov edi, dword [esp + 0x18]
mov ebp, edi
sub ebp, ebx
sar ebp, 1
lea ecx, [ebp - 2]
cmp ecx, 1
ja case.0x426737.66
movzx eax, word [ebx]
cmp ebp, 2
jne 0x426724
cmp eax, 0x6f
je 0x426707
cmp eax, 0x4f
jne case.0x426737.66
movzx eax, word [ebx + 2]
cmp eax, 0x72
je 0x426719
cmp eax, 0x52
jne case.0x426737.66
mov dword [ebx], 0x7c007c
jmp 0x426a71
add eax, 0xffffffbf
cmp eax, 0x2d
ja case.0x426737.66
movzx ecx, byte [eax + 0x429298]
jmp dword [ecx*4 + 0x42928c]
movzx eax, word [ebx + 2]
cmp eax, 0x6e
je 0x426750
cmp eax, 0x4e
jne case.0x426737.66
movzx eax, word [ebx + 4]
cmp eax, 0x64
je 0x426762
cmp eax, 0x44
jne case.0x426737.66
mov ecx, 0x20
mov dword [ebx], 0x260026
mov word [ebx + 4], cx
jmp 0x426a71
movzx eax, word [ebx + 2]
cmp eax, 0x6f
je 0x426784
cmp eax, 0x4f
jne 0x42679e
movzx ecx, word [ebx + 4]
cmp ecx, 0x74
je 0x426a71
cmp ecx, 0x54
je 0x426a71
mov edi, dword [esp + 0x18]
cmp eax, 0x65
je 0x4267ac
cmp eax, 0x45
jne case.0x426737.66
movzx eax, word [ebx + 4]
cmp eax, 0x77
je 0x4267ba
cmp eax, 0x57
jne case.0x426737.66
movzx eax, word [ebx + 6]
cmp eax, 0x20
je 0x4267c8
cmp eax, 9
jne case.0x426737.66
lea eax, [ebx + 8]
call fcn.00403ff0
mov esi, eax
movzx edx, word [esi]
push edx
push 0x4b761c
call fcn.0049a90e
add esp, 8
test eax, eax
jne case.0x426737.66
movzx eax, word [esi]
cmp eax, 0x22
je case.0x426737.66
push eax
push 0x4b761c
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x42681a
movzx eax, word [esi + 2]
add esi, 2
push eax
push 0x4b761c
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x426801
cmp word [esi], 0x28
sete byte [esp + 0x27]
jmp 0x426a71
movzx ecx, word [edi]
xor edx, edx
mov word [edi], dx
mov dword [esp + 0x28], ecx
mov esi, ebx
cmp word [ebx], dx
je 0x426871
movzx eax, word [ebx]
test ax, ax
je 0x426871
movzx edx, ax
mov ecx, 0x4b7650
mov eax, 0x27
cmp dx, ax
je 0x426cad
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x426850
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x426843
push 0
push 1
push 0
push 1
mov eax, ebx
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne 0x426a65
cmp word [ebx], 0x2e
jne 0x4268bb
movzx eax, word [0x4d5a3c]
push eax
push ebx
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x426ccc
mov cx, word [esp + 0x28]
mov edx, dword [esp + 0x18]
mov word [edx], cx
jmp 0x426a71
lea eax, [ebx + 2]
push 0x2e
push eax
call fcn.0049a90e
mov edi, eax
add esp, 8
test edi, edi
je 0x426971
mov ebp, dword [esp + 0x18]
movzx esi, word [ebp - 2]
test esi, 0xffffff80
jne 0x4268f5
push 2
push esi
call fcn.0049b90c
add esp, 8
test eax, eax
je 0x4268f5
and esi, 0xffffffdf
cmp si, 0x45
jne 0x426950
mov eax, dword [esp + 0x28]
cmp ax, 0x2b
je 0x42690b
cmp ax, 0x2d
jne 0x426950
mov word [ebp], ax
nop
movzx eax, word [ebp + 2]
add ebp, 2
cmp eax, 0x30
jb 0x426921
cmp eax, 0x39
jbe 0x426910
movzx esi, word [ebp]
xor eax, eax
push eax
push 1
push eax
mov word [ebp], ax
push 1
mov eax, ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
je 0x426950
mov word [ebp], si
jmp 0x426a71
movzx ecx, word [0x4d5a3c]
push ecx
push edi
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x426ceb
sub edi, ebx
sar edi, 1
mov ebp, edi
jmp 0x42698e
cmp word [esp + 0x28], 0x28
sete al
mov byte [esp + 0x25], al
test al, al
je 0x426993
cmp byte [esp + 0x27], 0
je 0x426993
mov byte [esp + 0x27], 0
mov byte [esp + 0x25], 0
movzx edx, word [0x4d5a3c]
push edx
push ebx
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x4269fd
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x4269c4
mov edx, dword [esp + 0x1c]
mov ecx, ebx
sub ecx, dword [edx + 4]
sar ecx, 1
lea eax, [eax + ecx*2]
jmp 0x4269c6
xor eax, eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x25c]
push edx
push eax
mov eax, dword [esp + 0x1a68]
push eax
call fcn.00429620
test eax, eax
je 0x42770c
cmp byte [esp + 0x25], 0
je 0x426a65
lea ecx, [esi + esi*2]
mov byte [esp + ecx*4 + 0x261], 0
jmp 0x426a65
cmp dword [esp + 0x14], 0x200
jge 0x426d0a
mov edi, dword [esp + 0x14]
mov al, byte [esp + 0x25]
lea esi, [edi + edi*2]
add esi, esi
add esi, esi
mov dword [esp + esi + 0x258], ebx
mov word [esp + esi + 0x262], bp
mov byte [esp + esi + 0x260], al
test al, al
je 0x426a41
mov dword [esp + esi + 0x25c], 0
jmp 0x426a60
mov ecx, dword [esp + 0x1a5c]
push 3
push ebp
push ebx
call fcn.0042d110
mov dword [esp + esi + 0x25c], eax
test eax, eax
je 0x42770c
inc edi
mov dword [esp + 0x14], edi
mov dx, word [esp + 0x28]
mov eax, dword [esp + 0x18]
mov word [eax], dx
mov ebx, dword [esp + 0x18]
cmp word [ebx], 0
jne 0x426531
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x426ac6
mov ecx, dword [ebp + 4]
push 0
push ecx
call fcn.00483e10
add esp, 8
test eax, eax
je 0x426ad2
mov al, byte [esp + 0x1a60]
cmp al, 0x6a
jb 0x426ab1
cmp al, 0x6c
jbe 0x426b85
cmp al, 0x72
jb 0x426abd
cmp al, 0x74
jbe 0x426b85
mov byte [ebp + 1], 0
jmp 0x426b85
test eax, eax
je 0x426c22
mov ebp, dword [esp + 0x1c]
mov esi, dword [ebp + 4]
test esi, esi
je 0x426b11
movzx eax, word [esi]
test ax, ax
je 0x426b11
movzx edx, ax
mov ecx, 0x4b761c
mov eax, 0x20
mov edi, edi
cmp dx, ax
je 0x426b76
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x426af0
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x426ae1
cmp byte [esp + 0x260], 0
jne 0x426b76
mov edx, dword [esp + 0x258]
mov ax, word [edx]
cmp ax, word [0x4d5a3c]
jne 0x426b76
mov al, byte [esp + 0x1a60]
cmp al, 0x6a
jb 0x426b3d
cmp al, 0x6c
jbe 0x426b76
cmp al, 0x72
jb 0x426b45
cmp al, 0x74
jbe 0x426b76
mov eax, dword [esp + 0x1c]
mov word [eax], 1
jmp 0x426b76
mov eax, dword [esp + 0x1a5c]
mov ebx, dword [esi + 4]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x25c]
push edx
push ebp
push eax
call fcn.00429620
test eax, eax
je 0x42770c
cmp dword [esp + 0x14], 0
je 0x426c22
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
lea edi, [edi + edi*2]
add edi, edi
add edi, edi
lea esi, [edi + 0xc]
lea ecx, [esi - 1]
cmp ecx, 0xffff
ja 0x426bf1
cmp dword [0x4da650], 0
jne 0x426bb5
call fcn.0047d030
mov dword [0x4da650], eax
test eax, eax
je 0x426bf1
mov ebx, dword [0x4da654]
cmp esi, dword [ebx + 8]
jbe 0x426bd2
call fcn.0047d030
mov ebx, dword [0x4da654]
mov dword [ebx + 0xc], eax
test eax, eax
je 0x426bf7
mov eax, dword [ebx + 4]
mov ecx, esi
and ecx, 3
mov dword [0x4da658], eax
je 0x426be6
sub esi, ecx
add esi, 4
sub dword [ebx + 8], esi
lea edx, [eax + esi]
mov dword [ebx + 4], edx
jmp 0x426bf9
mov ebx, dword [0x4da654]
xor eax, eax
mov dword [ebp + 8], eax
test eax, eax
je 0x426d29
push edi
lea ecx, [esp + 0x25c]
push ecx
push eax
call fcn.004a3c00
mov edx, dword [ebp + 8]
add esp, 0xc
mov dword [edi + edx], 0
jmp 0x426c33
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], 0
mov ebx, dword [0x4da654]
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x1a68]
jge 0x42614d
mov edi, dword [esp + 0x1a6c]
jmp 0x426250
mov ecx, dword [esp + 0x1a5c]
push esi
push 0x4b74d0
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
push esi
push 0x4b74f0
mov ecx, ebx
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov ecx, dword [esp + 0x1a5c]
push ebx
push 0x4b7594
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov ecx, dword [esp + 0x1a5c]
push esi
push 0x4b7660
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov ecx, dword [esp + 0x1a5c]
push ebx
push 0x4b76d8
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov ecx, dword [esp + 0x1a5c]
push edi
push 0x4b76d8
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov ecx, dword [esp + 0x1a5c]
push ebx
push 0x4b7718
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov ecx, dword [esp + 0x1a5c]
push 0x4b0cf8
push 0x4b3980
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov eax, dword [esi + 4]
mov dword [eax + 0x14], edi
mov eax, dword [esp + 0x20]
mov dword [esi + 4], edi
mov dword [esi + 0x634], edi
cmp edx, ebp
jle 0x426d68
mov ebp, dword [eax + 4]
jmp 0x426d6d
mov ebp, 0x4b0cf8
cmp edx, 1
jle 0x426d80
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x10], ecx
mov ecx, 0x4b0cf8
jmp 0x426d89
mov ecx, 0x4b0cf8
mov dword [esp + 0x10], ecx
cmp edx, 2
jle 0x426d97
mov esi, dword [eax + 0x24]
mov dword [esp + 0x14], esi
jmp 0x426d9b
mov dword [esp + 0x14], ecx
cmp edx, 3
jle 0x426da9
mov edx, dword [eax + 0x34]
mov dword [esp + 0x1c], edx
jmp 0x426dad
mov dword [esp + 0x1c], ecx
movzx eax, bl
dec eax
cmp eax, 0xe1
ja case.0x426dc3.3
movzx eax, byte [eax + 0x4293d4]
jmp dword [eax*4 + 0x4292c8]
cmp dword [esp + 0x1a68], 2
jl 0x428124
mov eax, 2
cmp dword [esp + 0x1a68], eax
jle 0x426eec
mov ebx, dword [esp + 0x14]
movzx esi, word [ebx]
test si, si
je 0x426e3c
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x426e3c
mov eax, esi
call fcn.0040ef10
movzx ecx, ax
push ecx
push 0x4b7774
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x426e3c
mov ecx, dword [esp + 0x1a5c]
push ebx
push 0x4b3ddc
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
cmp byte [esp + 0x1a60], 5
jne 0x426e95
mov edi, dword [esp + 0x10]
cmp word [edi], 0
je 0x426e95
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne 0x426e95
push 1
lea esi, [esp + 0x3c]
mov eax, edi
call fcn.0047fa90
add esp, 4
test eax, eax
jne 0x426e95
mov ecx, dword [esp + 0x1a5c]
push edi
push 0x4b3db0
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov edx, dword [esp + 0x20]
mov dword [edx + 0x1c], 0
mov esi, dword [esp + 0x1a5c]
cmp byte [esi + 0x48], 0
je 0x429137
cmp byte [esp + 0x26], 0
je 0x429137
mov ecx, dword [0x4d5b14]
mov eax, dword [ecx + 0xb4]
mov ebp, dword [esp + 0x18]
mov dword [eax + 8], ebp
mov byte [esi + 0x48], 0
mov eax, dword [ecx + 0xb4]
cmp byte [eax + 0x3c], 0
jne 0x429141
mov byte [eax + 0x3c], 0x42
jmp 0x429141
cmp byte [esp + 0x1a60], 7
jne case.0x426dc3.1
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.1
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x11], 0
jne case.0x426dc3.1
mov esi, dword [esp + 0x10]
call fcn.0041a3c0
fldz
fucompp
fnstsw ax
test ah, 0x44
jp case.0x426dc3.1
mov ecx, dword [esp + 0x1a5c]
push esi
push 0x4b7780
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov ebp, 1
cmp dword [esp + 0x1a68], ebp
jle case.0x426dc3.3
mov edi, dword [esp + 0x20]
add edi, 0x14
xor ebx, ebx
mov edi, edi
mov esi, dword [edi]
cmp word [esi], bx
je 0x426fe3
mov ecx, dword [esp + 0x18]
mov eax, ebp
call fcn.0041af90
test al, al
jne 0x426fe3
cmp byte [edi - 3], bl
jne 0x426fe3
push ebx
push ebx
push ebx
push 1
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
je 0x426fe3
mov al, byte [esp + 0x1a60]
cmp al, 1
je 0x426fa1
cmp al, 2
jne 0x426fbd
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx]
cmp eax, 0x30
je 0x426fe3
cmp eax, 0x2b
je 0x426fe3
mov edx, dword [esp + 0x20]
cmp word [edx + 0x12], 0x12
ja 0x426fe3
mov eax, 8
call fcn.0047cfc0
mov dword [edi + 8], eax
cmp eax, ebx
je 0x426d29
mov esi, dword [edi]
call fcn.00404070
mov ecx, dword [edi + 8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x426fe6
mov dword [edi + 8], ebx
inc ebp
add edi, 0x10
cmp ebp, dword [esp + 0x1a68]
jl 0x426f60
jmp case.0x426dc3.3
mov eax, dword [esp + 0x1a68]
sub eax, 0
je 0x427273
mov esi, 1
sub eax, esi
mov ecx, edi
je 0x42720e
xor eax, eax
call fcn.0041af90
test al, al
je 0x42702e
mov dword [edi + 0xc], esi
jmp case.0x426dc3.3
push 0x4b77a0
push ebp
call fcn.00499c29
add esp, 8
test eax, eax
jne 0x427050
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], 5
jmp case.0x426dc3.3
push 0x4b74c4
push ebp
call fcn.00499c29
add esp, 8
test eax, eax
jne 0x427072
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xc], 6
jmp case.0x426dc3.3
push 0x4b77ac
push ebp
call fcn.00499c29
add esp, 8
test eax, eax
jne 0x427094
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], 9
jmp case.0x426dc3.3
push 0x4b77b4
push ebp
call fcn.00499c29
add esp, 8
test eax, eax
jne 0x4270b6
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], 0xa
jmp case.0x426dc3.3
push 0
push 0
push ebp
xor eax, eax
call fcn.0041afd0
mov ecx, dword [esp + 0x24]
add esp, 0xc
neg eax
sbb eax, eax
neg eax
add eax, 3
mov dword [ecx + 0xc], eax
cmp eax, 3
jne 0x427170
mov eax, esi
call fcn.0041af90
test al, al
jne 0x4270fa
mov esi, dword [esp + 0x10]
call fcn.0041cea0
test eax, eax
je 0x427612
mov ecx, dword [esp + 0x14]
movzx esi, word [ecx]
test si, si
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 2
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x427127
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x42714d
cmp esi, 0x30
je case.0x426dc3.3
cmp esi, 0x31
je case.0x426dc3.3
mov edx, dword [esp + 0x14]
push edx
push 0x4b3ddc
mov ecx, dword [esp + 0x1a64]
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov eax, 2
cmp dword [esp + 0x1a68], eax
jle 0x427198
call fcn.0041af90
test al, al
jne 0x427198
mov esi, dword [esp + 0x14]
call fcn.0041cea0
test eax, eax
je 0x4281e1
mov eax, dword [esp + 0x1c]
movzx esi, word [eax]
test si, si
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 3
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x1c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4271c5
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x4271eb
cmp esi, 0x30
je case.0x426dc3.3
cmp esi, 0x31
je case.0x426dc3.3
mov ecx, dword [esp + 0x1c]
push ecx
push 0x4b77c0
mov ecx, dword [esp + 0x1a64]
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
xor eax, eax
call fcn.0041af90
test al, al
jne 0x427026
mov edx, dword [esp + 0x20]
cmp byte [edx + 1], al
jne 0x427026
push 0
push 0
push esi
push 0
mov eax, ebp
call fcn.0047fe10
add esp, 0x10
test eax, eax
je 0x42724f
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], 2
jmp case.0x426dc3.3
push 0
push 0
push ebp
xor eax, eax
call fcn.0041afd0
mov ecx, dword [esp + 0x24]
add esp, 0xc
neg eax
sbb eax, eax
neg eax
add eax, 3
mov dword [ecx + 0xc], eax
jmp case.0x426dc3.3
mov dword [edi + 0xc], 2
jmp case.0x426dc3.3
mov dword [edi + 0xc], 7
jmp case.0x426dc3.3
mov dword [edi + 0xc], 8
jmp case.0x426dc3.3
cmp dword [esp + 0x1a68], 0
mov byte [0x4d984a], 1
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
push 0
lea edx, [esp + 0x30]
push edx
push ebp
xor ecx, ecx
lea edx, [esp + 0x34]
call fcn.00466c70
add esp, 0xc
cmp dword [esp + 0x2c], 0
jne 0x4272f9
mov ecx, dword [esp + 0x1a5c]
push ebp
push 0x4b77ec
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov esi, dword [esp + 0x28]
call fcn.0041bce0
cmp eax, 0x12
ja case.0x426dc3.3
movzx eax, byte [eax + 0x4294cc]
jmp dword [eax*4 + 0x4294b8]
mov ecx, dword [esp + 0x1a5c]
push ebp
push 0x4b3d84
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.0041c120
test al, al
je 0x427612
cmp al, 0xb
jne case.0x426dc3.3
cmp dword [esp + 0x1a68], 3
jle case.0x426dc3.3
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1a60]
push 0x4b7810
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1a5c]
push edx
push 0x4b7868
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
cmp dword [esp + 0x1a68], 2
jle case.0x426dc3.3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1a5c]
push eax
push 0x4b78d8
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x427435
mov ecx, dword [esp + 0x1a5c]
push 1
push ecx
mov edi, ebp
call fcn.0042d9c0
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
test eax, eax
je 0x42770c
mov al, byte [esp + 0x1a60]
cmp al, 0x97
je 0x4274d8
cmp al, 0x98
je 0x4274d8
cmp al, 0x99
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
movzx esi, word [eax]
test si, si
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x427481
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x4274b5
mov eax, esi
call fcn.0040ef10
movzx ecx, ax
push ecx
push 0x4b7948
call fcn.0049a90e
add esp, 8
test eax, eax
jne case.0x426dc3.3
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1a5c]
push edx
push 0x4b3db0
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov eax, dword [esp + 0x10]
movzx esi, word [eax]
test si, si
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x427505
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x42752a
mov eax, esi
call fcn.0040ef10
cmp ax, 0x52
je case.0x426dc3.3
mov ecx, dword [esp + 0x10]
push ecx
push 0x4b3db0
mov ecx, dword [esp + 0x1a64]
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
cmp dword [esp + 0x1a68], 1
jl case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
je 0x42757c
mov eax, 1
mov dword [0x4d9870], eax
mov dword [0x4d9874], eax
jmp case.0x426dc3.3
push 5
push 0x4b600c
push ebp
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x427631
push 0x4b7950
add ebp, 0xa
push ebp
call fcn.00499c29
add esp, 8
test eax, eax
je 0x4275b3
mov dword [0x4d9874], 1
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
push 1
push 1
push 0
push 1
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
je 0x427612
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4275f6
sub eax, edx
sar eax, 1
cmp eax, 0x1e
jb case.0x426dc3.3
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1a5c]
push esi
push 0x4b3db0
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
push 7
push 0x4b5ffc
push ebp
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne case.0x427312.0
push 0x4b7950
add ebp, 0xe
push ebp
call fcn.00499c29
add esp, 8
test eax, eax
je 0x427668
mov dword [0x4d9870], 1
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov edx, dword [esp + 0x10]
mov ax, word [edx]
call fcn.0040ef10
cmp ax, 0x48
je case.0x426dc3.3
mov eax, dword [esp + 0x10]
mov ax, word [eax]
call fcn.0040ef10
cmp ax, 0x44
jmp 0x427524
cmp word [ebp], 0
je case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
push ebp
push 0x4b795c
mov esi, 0x107
lea edi, [esp + 0x50]
call fcn.0047ffb0
mov ecx, dword [esp + 0x1a64]
add esp, 8
push 3
push 0
mov edx, edi
push edx
call fcn.0042d110
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
test eax, eax
jne case.0x426dc3.3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
mov edx, dword [0x4d5b14]
cmp dword [edx + 0xb4], 0
jne case.0x426dc3.3
push 0x4b0cf8
push 0x4b7968
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
push 0
mov esi, ebp
call fcn.0040efc0
add esp, 4
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041cc70
cmp eax, 4
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, 0x4b79e4
mov ecx, ebp
call fcn.00480360
test eax, eax
jne case.0x426dc3.3
push eax
push eax
push eax
push 1
mov eax, ebp
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041cd30
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, ebp
call fcn.0041cd60
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
push 4
mov eax, ebp
call fcn.0041ce10
add esp, 4
cmp eax, 4
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.004142c0
cmp eax, 0x64
jbe case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, ebp
call fcn.0040f080
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427534
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
push 0
mov eax, ebp
call fcn.0041cc20
jmp 0x427773
cmp dword [esp + 0x1a68], 4
jle case.0x426dc3.3
mov eax, 4
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x44]
push 0x4b4128
push eax
call fcn.00499c29
add esp, 8
test eax, eax
je case.0x426dc3.3
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x44]
push eax
push 0x4b79ec
jmp 0x427534
mov edx, dword [esp + 0x1c]
movzx esi, word [edx]
test si, si
je case.0x426dc3.3
mov eax, 3
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, esi
call fcn.0040ef10
movzx eax, ax
push eax
push 0x4b7a18
call fcn.0049a90e
add esp, 8
test eax, eax
jne case.0x426dc3.3
jmp 0x4271eb
mov edx, dword [esp + 0x10]
cmp word [edx], 0
je case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
push 0
push 0
push eax
mov eax, 2
call fcn.0041afd0
add esp, 0xc
test eax, eax
jne case.0x426dc3.3
mov ecx, dword [esp + 0x10]
push ecx
push 0x4b3db0
jmp 0x4271f5
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041b220
cmp eax, 0xffffffff
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x4271f5
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
cmp word [ebp], 0
je 0x427aab
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x427aab
mov esi, ebp
call fcn.0041b1a0
test eax, eax
je 0x427a73
mov edx, dword [esp + 0x10]
cmp word [edx], 0
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
push 0
push 0
push eax
mov eax, 2
call fcn.0041afd0
add esp, 0xc
test eax, eax
jne case.0x426dc3.3
mov ecx, dword [esp + 0x10]
push ecx
push 0x4b3db0
jmp 0x4271f5
cmp word [ebp], 0
je case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
push 0
push 0
push ebp
mov eax, 2
call fcn.0041afd0
add esp, 0xc
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x4271f5
cmp byte [esp + 0x1a60], 0x9e
jne 0x427b89
cmp dword [esp + 0x1a68], 0
jle 0x427b89
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x427b89
mov esi, ebp
call fcn.0041a3c0
fld qword [0x4cee48]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x427bfa
fcomp qword [0x4cede8]
fnstsw ax
test ah, 0x41
je 0x427bfc
mov edi, dword [esp + 0x10]
cmp word [edi], 0
je 0x427bb7
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne 0x427bb7
push 0
call fcn.0041b2d0
add esp, 4
test eax, eax
je 0x426e76
mov edx, dword [esp + 0x14]
cmp word [edx], 0
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 2
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x14]
call fcn.0041b4f0
cmp eax, 0xffffffff
jne case.0x426dc3.3
mov eax, esi
push eax
push 0x4b3ddc
jmp 0x4271f5
fstp st(0)
push ebp
push 0x4b3d84
jmp 0x4271f5
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041a3c0
fld qword [0x4cee48]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x427bfa
fcomp qword [0x4cede8]
fnstsw ax
test ah, 0x41
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x4271f5
mov ecx, dword [esp + 0x10]
cmp word [ecx], 0
je case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov edx, dword [esp + 0x10]
push 0x4b7a20
push edx
call fcn.00499c29
add esp, 8
test eax, eax
je case.0x426dc3.3
mov eax, dword [esp + 0x10]
push 0x4b35d4
push eax
call fcn.00499c29
add esp, 8
test eax, eax
je case.0x426dc3.3
mov ecx, dword [esp + 0x10]
push ecx
push 0x4b3db0
jmp 0x4271f5
mov edx, dword [esp + 0x14]
cmp word [edx], 0
je 0x427d7f
mov eax, dword [esp + 0x1c]
cmp word [eax], 0
je 0x427d7f
mov edx, dword [esp + 0x1a68]
cmp edx, 4
jle 0x427d7f
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x44]
cmp word [ecx], 0
je 0x427d7f
cmp edx, 5
jle 0x427d7f
mov ecx, dword [eax + 0x54]
cmp word [ecx], 0
je 0x427d7f
cmp edx, 6
jle 0x427d7f
mov eax, dword [eax + 0x64]
cmp word [eax], 0
je 0x427d7f
cmp byte [esp + 0x1a60], 0x95
je case.0x426dc3.3
mov eax, 7
cmp edx, eax
jle case.0x426dc3.3
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 0x74]
cmp word [esi], 0
je case.0x426dc3.3
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
call fcn.004142c0
test eax, eax
js 0x427d6d
cmp eax, 0xff
jle case.0x426dc3.3
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x74]
push eax
push 0x4b7a84
jmp 0x4271f5
push 0x4b0cf8
push 0x4b7a30
jmp 0x4271f5
cmp word [ebp], 0
je 0x427db5
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x427db5
mov esi, ebp
call fcn.0041d1a0
movzx eax, ax
cmp eax, 0xffffffff
je 0x427a73
mov ecx, dword [esp + 0x10]
cmp word [ecx], 0
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.0041d130
movzx edx, ax
cmp edx, 0xffffffff
jne case.0x426dc3.3
mov eax, esi
push eax
push 0x4b3db0
jmp 0x4271f5
cmp word [ebp], 0
je case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.004142c0
test eax, eax
js 0x427e2b
cmp eax, 0x64
jle case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x4271f5
mov esi, dword [esp + 0x14]
cmp word [esi], 0
je 0x427e66
mov eax, 2
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x427e66
call fcn.004142c0
test eax, eax
js 0x4281e1
cmp eax, 0x64
jg 0x4281e1
mov edi, dword [esp + 0x1c]
movzx esi, word [edi]
test si, si
je 0x427e97
mov ecx, dword [esp + 0x18]
mov eax, 3
call fcn.0041af90
test al, al
jne 0x427e97
mov eax, esi
call fcn.0040ef10
cmp ax, 0x52
je 0x427e97
push edi
jmp 0x4271f0
mov eax, dword [esp + 0x10]
mov ecx, ebp
call fcn.0041d420
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b7ab0
jmp 0x4271f5
mov ebx, dword [esp + 0x20]
mov eax, 4
cmp dword [esp + 0x1a68], eax
jle 0x427ef7
mov esi, dword [ebx + 0x44]
cmp word [esi], 0
je 0x427ef7
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x427ef7
call fcn.004142c0
test eax, eax
js 0x427ee9
cmp eax, 0x64
jle 0x427ef7
mov eax, dword [ebx + 0x44]
push eax
push 0x4b79ec
jmp 0x4271f5
cmp dword [esp + 0x1a68], 5
jle 0x427f64
mov esi, dword [ebx + 0x54]
cmp word [esi], 0
je 0x427f64
mov ecx, dword [esp + 0x18]
mov eax, 5
call fcn.0041af90
test al, al
jne 0x427f64
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x427f25
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x427f56
mov ax, word [esi]
call fcn.0040ef10
movzx ecx, ax
push ecx
push 0x4b7b14
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x427f64
mov eax, dword [ebx + 0x54]
push eax
push 0x4b7b1c
jmp 0x4271f5
mov eax, 6
cmp dword [esp + 0x1a68], eax
jle 0x427fa4
mov esi, dword [ebx + 0x64]
cmp word [esi], 0
je 0x427fa4
mov ecx, dword [esp + 0x18]
call fcn.0041af90
test al, al
jne 0x427fa4
mov ax, word [esi]
call fcn.0040ef10
cmp ax, 0x52
je 0x427fa4
mov eax, dword [ebx + 0x64]
push eax
push 0x4b7b48
jmp 0x4271f5
cmp word [ebp], 0
je 0x427fd0
mov ecx, dword [esp + 0x18]
xor eax, eax
call fcn.0041af90
test al, al
jne 0x427fd0
push 1
xor bl, bl
mov esi, ebp
call fcn.004142f0
add esp, 4
test eax, eax
je 0x427a73
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.0041d420
test eax, eax
jne case.0x426dc3.3
mov edx, dword [esp + 0x10]
push edx
push 0x4b7ab0
jmp 0x4271f5
mov eax, dword [esp + 0x1c]
cmp word [eax], 0
je 0x428107
mov ecx, dword [esp + 0x1a68]
cmp ecx, 4
jle 0x428107
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + 0x44]
cmp word [eax], 0
je 0x428107
cmp ecx, 5
jle 0x42805d
mov esi, dword [ebx + 0x54]
cmp word [esi], 0
je 0x42805d
mov eax, 5
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x42805d
call fcn.004142c0
test eax, eax
js 0x42804f
cmp eax, 0x64
jle 0x42805d
mov ebx, dword [ebx + 0x54]
push ebx
push 0x4b7b1c
jmp 0x4271f5
mov eax, 6
cmp dword [esp + 0x1a68], eax
jle 0x42809d
mov esi, dword [ebx + 0x64]
cmp word [esi], 0
je 0x42809d
mov ecx, dword [esp + 0x18]
call fcn.0041af90
test al, al
jne 0x42809d
mov ax, word [esi]
call fcn.0040ef10
cmp ax, 0x52
je 0x42809d
mov ebx, dword [ebx + 0x64]
push ebx
push 0x4b7b48
jmp 0x4271f5
mov ecx, dword [esp + 0x18]
xor eax, eax
call fcn.0041af90
test al, al
jne 0x4280c2
push 0
xor bl, bl
mov esi, ebp
call fcn.004142f0
add esp, 4
test eax, eax
je 0x427a73
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, esi
call fcn.0041d420
test eax, eax
jne 0x4280e0
push esi
push 0x4b7ab0
jmp 0x4271f5
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x44]
mov ecx, dword [esp + 0x1c]
call fcn.0041d420
test eax, eax
jne case.0x426dc3.3
mov edx, dword [esp + 0x1c]
push edx
push 0x4b7ab0
jmp 0x4271f5
push 0x4b0cf8
push 0x4b7b74
jmp 0x4271f5
mov eax, dword [esp + 0x10]
cmp word [eax], 0
jne case.0x426dc3.3
push 0x4b0cf8
push 0x4b7748
jmp 0x4271f5
mov ecx, dword [esp + 0x1c]
cmp word [ecx], 0
je case.0x426dc3.3
mov eax, 3
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x1c]
push 1
xor bl, bl
call fcn.004142f0
add esp, 4
test eax, eax
jne case.0x426dc3.3
push esi
jmp 0x4271f0
mov esi, dword [esp + 0x14]
cmp word [esi], 0
je 0x4281f5
mov eax, 2
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x4281f5
call fcn.004142c0
push 0
push 0
mov edi, eax
push 1
push 0
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
setne al
cmp byte [esp + 0x1a60], 0xad
jne 0x4281ec
test al, al
jne 0x4281d4
mov ax, word [esi]
call fcn.0040ef10
cmp ax, 0x52
jne 0x4281e1
jmp case.0x426dc3.3
cmp edi, 2
jle case.0x426dc3.3
mov esi, dword [esp + 0x14]
push esi
push 0x4b3ddc
jmp 0x4271f5
test al, al
je 0x4281e1
cmp edi, 1
jg 0x4281e1
cmp byte [esp + 0x1a60], 0xa9
jne case.0x426dc3.3
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
mov ecx, dword [esp + 0x18]
xor eax, eax
call fcn.0041af90
test al, al
je case.0x426dc3.3
push ebp
push 0x4b7bb0
jmp 0x4271f5
mov edx, dword [esp + 0x10]
cmp word [edx], 0
je case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.004142c0
push 0
push 0
mov edi, eax
push 1
push 0
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
je 0x42827b
cmp edi, 1
jle case.0x426dc3.3
push esi
push 0x4b3db0
jmp 0x4271f5
cmp word [ebp], 0
je 0x4282ca
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x4282ca
mov esi, ebp
lea esp, [esp]
mov ax, word [esi]
call fcn.0040ef10
movzx eax, ax
push eax
push 0x4b7be8
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x427a73
add esi, 2
cmp word [esi], 0
jne 0x4282a0
mov eax, 2
cmp dword [esp + 0x1a68], eax
jle 0x4282f6
mov ecx, dword [esp + 0x18]
call fcn.0041af90
test al, al
jne 0x4282f6
mov esi, dword [esp + 0x14]
call fcn.0041cea0
test eax, eax
je 0x4281e1
mov ecx, dword [esp + 0x1c]
movzx esi, word [ecx]
test si, si
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 3
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x1c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x428323
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x428349
cmp esi, 0x30
je case.0x426dc3.3
cmp esi, 0x31
je case.0x426dc3.3
mov edx, dword [esp + 0x1c]
push edx
jmp 0x4271f0
mov eax, dword [esp + 0x14]
movzx esi, word [eax]
test si, si
je case.0x426dc3.3
mov eax, 2
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x428380
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x42714d
mov eax, esi
call fcn.0040ef10
movzx ecx, ax
push ecx
push 0x4b7c00
call fcn.0049a90e
add esp, 8
test eax, eax
jne case.0x426dc3.3
jmp 0x42714d
cmp word [ebp], 0
je 0x4283e9
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne 0x4283e9
push 1
lea esi, [esp + 0x3c]
mov eax, ebp
call fcn.0047fa90
add esp, 4
test eax, eax
je case.0x4289ed.0
mov esi, dword [esp + 0x14]
movzx edi, word [esi]
test di, di
je 0x428448
mov ecx, dword [esp + 0x18]
mov eax, 2
call fcn.0041af90
test al, al
jne 0x428448
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x428410
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x428816
mov eax, edi
call fcn.0040ef10
movzx eax, ax
push eax
push 0x4b7c00
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x428816
mov edi, dword [esp + 0x1a68]
cmp edi, 3
jle 0x42847e
mov ecx, dword [esp + 0x18]
mov eax, 3
call fcn.0041af90
test al, al
jne 0x42847e
mov esi, dword [esp + 0x1c]
call fcn.0041cea0
test eax, eax
jne 0x42847e
push esi
push 0x4b77c0
jmp 0x427157
cmp edi, 4
jle case.0x426dc3.3
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 0x44]
cmp word [esi], 0
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 4
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4284b3
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x4284db
cmp word [esi], 0x30
je case.0x426dc3.3
cmp word [esi], 0x31
je case.0x426dc3.3
push esi
push 0x4b79ec
jmp 0x427157
mov edx, dword [esp + 0x14]
movzx esi, word [edx]
test si, si
je case.0x426dc3.3
mov eax, 2
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x428511
sub eax, edx
sar eax, 1
cmp eax, 1
ja 0x428545
mov eax, esi
call fcn.0040ef10
movzx eax, ax
push eax
push 0x4b7c08
call fcn.0049a90e
add esp, 8
test eax, eax
jne case.0x426dc3.3
mov ecx, dword [esp + 0x14]
push ecx
jmp 0x427152
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041b6a0
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427157
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.0041b7f0
mov edi, eax
test edi, edi
jne 0x4285c4
push esi
push 0x4b3db0
jmp 0x427157
mov ebx, dword [esp + 0x18]
mov eax, 2
mov ecx, ebx
call fcn.0041af90
test al, al
jne case.0x4285ef.3
lea eax, [edi - 2]
cmp eax, 0x19
ja case.0x4285ef.3
movzx edx, byte [eax + 0x4294f0]
jmp dword [edx*4 + 0x4294e0]
mov esi, dword [esp + 0x14]
push 0
push 0
push 0
push 1
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x4285ef.3
push esi
push 0x4b7c10
jmp 0x427157
mov esi, dword [esp + 0x14]
push 0
push 1
push 0
push 1
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x4285ef.3
push esi
push 0x4b7c70
jmp 0x427157
mov esi, dword [esp + 0x14]
push 0
push 1
push 0
push 0
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x4285ef.3
push esi
push 0x4b7cc8
jmp 0x427157
lea eax, [edi - 1]
cmp eax, 0x1a
ja case.0x428678.4
movzx eax, byte [eax + 0x429524]
jmp dword [eax*4 + 0x42950c]
mov eax, dword [esp + 0x1c]
cmp word [eax], 0
je case.0x428678.4
push eax
push 0x4b7810
jmp 0x427157
mov eax, 3
mov ecx, ebx
call fcn.0041af90
test al, al
jne case.0x428678.4
mov esi, dword [esp + 0x1c]
push 0
push 0
push 0
push 1
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x428678.4
push esi
push 0x4b7d38
jmp 0x427157
mov eax, 3
mov ecx, ebx
call fcn.0041af90
test al, al
jne case.0x428678.4
mov esi, dword [esp + 0x1c]
push 0
push 0
push 0
push 0
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x428678.4
push esi
push 0x4b7d98
jmp 0x427157
mov esi, dword [esp + 0x1c]
cmp word [esi], 0
je case.0x428678.4
mov eax, 3
mov ecx, ebx
call fcn.0041af90
test al, al
jne case.0x428678.4
push 0
push 0
push 0
push 1
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x428678.4
push esi
push 0x4b7e08
jmp 0x427157
mov eax, 3
mov ecx, ebx
call fcn.0041af90
test al, al
jne case.0x428678.4
mov esi, dword [esp + 0x1c]
push 0
push 1
push 0
push 1
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x428678.4
push esi
push 0x4b7e78
jmp 0x427157
mov eax, edi
sub eax, 2
je 0x4287d5
sub eax, 4
jne case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 3
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x1c]
call fcn.0041a3c0
fldz
fucompp
fnstsw ax
test ah, 0x44
jp case.0x426dc3.3
mov ecx, esi
push ecx
push 0x4b7780
jmp 0x427157
mov eax, 2
mov ecx, ebx
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x14]
call fcn.004142c0
push 0
push 0
mov edi, eax
push 0
push 0
mov eax, esi
call fcn.0047fe10
add esp, 0x10
test eax, eax
je 0x428816
cmp edi, 0xff
jle case.0x426dc3.3
push esi
jmp 0x427152
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.0041ba80
mov esi, eax
cmp esi, 0x13
je 0x428858
cmp esi, 0x15
jle 0x42888e
cmp esi, 0x18
jg 0x428891
cmp dword [esp + 0x1a68], 0
jle 0x42888e
mov ecx, dword [esp + 0x18]
xor eax, eax
call fcn.0041af90
test al, al
jne 0x42888e
push 0x4b7ed0
push ebp
call fcn.00499c29
add esp, 8
test eax, eax
je 0x42888e
push ebp
push 0x4b7ee0
jmp 0x427157
cmp esi, 0x18
ja case.0x426dc3.3
movzx edx, byte [esi + 0x429550]
jmp dword [edx*4 + 0x429540]
mov eax, dword [esp + 0x10]
push eax
push 0x4b3db0
jmp 0x427157
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0
jne 0x4288fb
mov edx, dword [esp + 0x1c]
cmp word [edx], 0
jne 0x4288fb
mov ecx, dword [esp + 0x1a68]
cmp ecx, 4
jle 0x4288e1
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x44]
cmp word [eax], 0
jne 0x4288fb
cmp ecx, 5
jle case.0x426dc3.3
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x54]
cmp word [eax], 0
je case.0x426dc3.3
mov edx, dword [esp + 0x14]
push edx
push 0x4b78d8
jmp 0x427157
cmp esi, 4
je 0x42894f
mov edx, dword [esp + 0x1c]
cmp word [edx], 0
jne 0x428944
mov ecx, dword [esp + 0x1a68]
cmp ecx, 4
jle 0x428932
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x44]
cmp word [eax], 0
jne 0x428944
cmp ecx, 5
jle 0x42894f
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x54]
cmp word [eax], 0
je 0x42894f
push edx
push 0x4b7f28
jmp 0x427157
lea eax, [esi - 2]
cmp eax, 0x13
ja case.0x42895e.3
movzx edx, byte [eax + 0x429574]
jmp dword [edx*4 + 0x42956c]
mov eax, dword [esp + 0x14]
cmp word [eax], 0
jne case.0x426dc3.3
push 0x4b0cf8
push 0x4b7f98
jmp 0x427157
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041c380
test eax, eax
jne case.0x426dc3.3
push ebp
push 0x4b3d84
jmp 0x427157
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041c470
cmp eax, 0x11
ja case.0x4289ed.1
movzx ecx, byte [eax + 0x429594]
jmp dword [ecx*4 + 0x429588]
cmp eax, 0xb
je case.0x426dc3.3
cmp eax, 0xc
je case.0x426dc3.3
mov edx, dword [esp + 0x10]
cmp word [edx], 0
jne case.0x426dc3.3
push 0x4b0cf8
push 0x4b3e08
jmp 0x427157
mov eax, dword [esp + 0x10]
cmp word [eax], 0
je case.0x426dc3.3
mov ecx, eax
push ecx
push 0x4b7ff8
jmp 0x427157
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.0041c620
cmp eax, 0xb
ja case.0x428a79.1
movzx edx, byte [eax + 0x4295b8]
jmp dword [edx*4 + 0x4295a8]
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0
jmp 0x42896d
mov ecx, dword [esp + 0x10]
cmp word [ecx], 0
jne 0x428aa6
push 0x4b0cf8
push 0x4b7748
jmp 0x427157
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
push 0
lea edx, [esp + 0x30]
push edx
push ebp
xor ecx, ecx
lea edx, [esp + 0x34]
call fcn.00466c70
add esp, 0xc
cmp dword [esp + 0x2c], 0
jne 0x428aed
push ebp
push 0x4b77ec
jmp 0x427157
mov edi, dword [esp + 0x28]
call fcn.0041bed0
cmp eax, 0xc
ja case.0x428a79.1
movzx eax, byte [eax + 0x4295d4]
jmp dword [eax*4 + 0x4295c4]
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov edi, dword [esp + 0x10]
push 0
lea ecx, [esp + 0x30]
push ecx
push edi
xor ecx, ecx
lea edx, [esp + 0x34]
call fcn.00466c70
add esp, 0xc
cmp dword [esp + 0x2c], 0
jne 0x428b5b
push edi
push 0x4b77ec
jmp 0x427157
mov esi, dword [esp + 0x28]
call fcn.0041c060
mov ecx, eax
sub ecx, 0
je 0x426e76
dec ecx
je 0x428b87
mov ecx, dword [esp + 0x1c]
cmp word [ecx], 0
je 0x428b87
push ecx
push 0x4b7810
jmp 0x427157
cmp eax, 3
je case.0x428a79.1
cmp eax, 4
jne case.0x426dc3.3
mov edx, dword [esp + 0x14]
cmp word [edx], 0
je case.0x426dc3.3
mov eax, edx
push eax
push 0x4b3798
jmp 0x427157
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041c7a0
test eax, eax
je case.0x4289ed.0
cmp eax, 1
je case.0x426dc3.3
mov ecx, dword [esp + 0x10]
cmp word [ecx], 0
jmp 0x428a0e
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.0041c810
test eax, eax
je 0x4285b9
cmp eax, 1
je 0x428c31
cmp eax, 8
je 0x428c31
mov edx, dword [esp + 0x14]
cmp word [edx], 0
je 0x428973
cmp eax, 4
je case.0x426dc3.3
cmp dword [esp + 0x1a68], 1
jl 0x428c54
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
cmp byte [ecx], 0
jne case.0x426dc3.3
push 0x4b0cf8
push 0x4b8050
jmp 0x427157
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041c3e0
cmp eax, 3
je 0x428ca1
cmp eax, 1
je 0x428ca1
mov edx, dword [esp + 0x10]
cmp word [edx], 0
je 0x428a14
cmp eax, 5
ja case.0x426dc3.3
jmp dword [eax*4 + 0x4295e4]
mov eax, dword [esp + 0x14]
cmp word [eax], 0
je case.0x426dc3.3
mov ecx, eax
push ecx
push 0x4b3798
jmp 0x427157
mov edx, dword [esp + 0x14]
movzx esi, word [edx]
test si, si
je 0x428545
mov ecx, dword [esp + 0x18]
mov eax, 2
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, esi
call fcn.0040ef10
movzx eax, ax
push eax
push 0x4b80ac
call fcn.0049a90e
add esp, 8
test eax, eax
jne case.0x426dc3.3
mov ecx, dword [esp + 0x14]
push ecx
jmp 0x427152
mov edx, dword [esp + 0x14]
cmp word [edx], 0
je case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 2
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x14]
push 0
push 1
push 1
push 0
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne case.0x426dc3.3
mov eax, dword [esp + 0x14]
push eax
push 0x4b80c0
jmp 0x427157
cmp word [ebp], 0
jne case.0x426dc3.3
mov ecx, dword [esp + 0x10]
cmp word [ecx], 0
jne case.0x426dc3.3
mov edx, dword [esp + 0x14]
cmp word [edx], 0
jne case.0x426dc3.3
mov eax, dword [esp + 0x1c]
cmp word [eax], 0
jne case.0x426dc3.3
push 0x4b0cf8
push 0x4b8148
jmp 0x427157
cmp word [ebp], 0
jne case.0x426dc3.3
mov ecx, dword [esp + 0x10]
cmp word [ecx], 0
jne case.0x426dc3.3
mov edx, dword [esp + 0x1c]
cmp word [edx], 0
jne case.0x426dc3.3
cmp dword [esp + 0x1a68], 4
jle 0x428df1
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x44]
cmp word [eax], 0
jne case.0x426dc3.3
push 0x4b0cf8
push 0x4b8148
jmp 0x427157
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0
jne case.0x426dc3.3
push 0x4b0cf8
push 0x4b81a8
jmp 0x427157
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041c930
cmp eax, 0xa
ja case.0x426dc3.3
movzx edx, byte [eax + 0x429614]
jmp dword [edx*4 + 0x4295fc]
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.004142c0
test eax, eax
js case.0x428a79.0
cmp eax, 0xff
jle case.0x426dc3.3
mov eax, esi
push eax
push 0x4b3db0
jmp 0x427157
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov ecx, dword [esp + 0x18]
mov eax, 1
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
call fcn.0040f080
test eax, eax
jne case.0x426dc3.3
mov edx, dword [esp + 0x10]
push edx
push 0x4b3db0
jmp 0x427157
mov eax, dword [esp + 0x10]
cmp word [eax], 0
je case.0x426dc3.3
push 0x4b0cf8
push 0x4b7ff8
jmp 0x427157
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
call fcn.0041ca90
test eax, eax
jne case.0x426dc3.3
mov ecx, dword [esp + 0x10]
push ecx
push 0x4b3db0
jmp 0x427157
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.0041b740
test eax, eax
jne case.0x426dc3.3
mov edx, esi
push edx
push 0x4b3db0
jmp 0x427157
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, ebp
call fcn.0041cfd0
jmp 0x428575
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov esi, dword [esp + 0x10]
call fcn.0041d230
test eax, eax
jne case.0x426dc3.3
mov eax, esi
push eax
push 0x4b3db0
jmp 0x427157
cmp dword [esp + 0x1a68], 1
jle case.0x426dc3.3
mov eax, 1
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x429002
sub eax, edx
sar eax, 1
cmp eax, 1
jbe case.0x426dc3.3
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
mov eax, dword [esp + 0x14]
push 0
push 0
call fcn.004193d0
add esp, 0xc
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x10]
push 0
xor ebx, ebx
call fcn.0045b320
add esp, 4
test eax, eax
jne case.0x426dc3.3
mov ecx, dword [esp + 0x10]
push ecx
push 0x4b3db0
jmp 0x427157
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x429086
sub eax, edx
sar eax, 1
cmp eax, 1
jbe case.0x426dc3.3
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0
mov eax, ebp
call fcn.004193d0
add esp, 0xc
test al, al
jne case.0x426dc3.3
push 0
xor ebx, ebx
mov eax, ebp
call fcn.0045b320
add esp, 4
jmp 0x428575
cmp dword [esp + 0x1a68], 2
jle case.0x426dc3.3
mov eax, 2
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, dword [esp + 0x14]
call fcn.0041d360
cmp eax, 0xffffffff
jne case.0x426dc3.3
jmp 0x42714d
cmp dword [esp + 0x1a68], 0
jle case.0x426dc3.3
xor eax, eax
mov ecx, edi
call fcn.0041af90
test al, al
jne case.0x426dc3.3
mov eax, ebp
call fcn.0041d360
cmp eax, 0xffffffff
jmp 0x428577
mov ebp, dword [esp + 0x18]
mov ecx, dword [0x4d5b14]
mov al, byte [esp + 0x1a60]
cmp al, 0x75
jne 0x429180
mov eax, dword [esi + 0x40]
mov edx, 1
add dword [esi + 0x44], edx
mov dword [ebp + 0x1c], eax
mov dword [esi + 0x40], ebp
mov eax, dword [ecx + 0xb4]
test eax, eax
je 0x429229
cmp dword [eax + 8], 0
jne 0x429229
mov dword [ebp + 0xc], edx
mov byte [esi + 0x48], dl
jmp 0x429229
cmp al, 0x76
jne 0x429229
dec dword [esi + 0x44]
mov edi, dword [ecx + 0xb4]
mov eax, dword [esi + 0x44]
xor ecx, ecx
cmp edi, ecx
je 0x42921c
cmp eax, ecx
jne 0x42921c
mov eax, dword [edi + 0x34]
cmp eax, ecx
je 0x429204
test byte [edi + 0x3c], 4
je 0x429204
add eax, eax
add eax, eax
call fcn.0047cfc0
mov ebx, eax
test ebx, ebx
jne 0x4291e8
push 0x4b0cf8
push 0x4b3980
mov ecx, esi
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
mov ecx, dword [edi + 0x34]
mov edx, dword [edi + 0x24]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push ebx
call fcn.004a3c00
add esp, 0xc
mov dword [edi + 0x24], ebx
xor ecx, ecx
jmp 0x42920a
mov dword [edi + 0x34], ecx
mov dword [edi + 0x24], ecx
mov eax, dword [0x4d5b14]
mov dword [ebp + 0xc], 1
mov dword [eax + 0xb4], ecx
mov eax, dword [esi + 0x40]
cmp eax, ecx
je 0x429229
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x40], ecx
cmp byte [esp + 0x26], 0
je 0x429259
mov eax, dword [esi + 0x14]
test eax, eax
je 0x429259
cmp dword [eax + 8], 0
jne 0x429259
mov cl, byte [ebp]
cmp cl, 0x21
je 0x42926b
cmp cl, 0x6c
je 0x42926b
cmp cl, 0x70
je 0x42926b
mov dword [eax + 8], ebp
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x429237
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14
push 0x4b0cf8
push 0x4b81d8
mov ecx, esi
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a48
ret 0x14