Function at 0x4b9cd9
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a4bfc
mov eax, dword fs:[0]
push eax
mov eax, 0x20b0
call fcn.0059f510
mov eax, dword [0x5f300c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x1ff8]
mov ebx, dword [ebp + 8]
push eax
mov dword [ebp - 0x203c], ebx
call fcn.00472850
cmp byte [ebx + 0x15], 0
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x8c], 0
je 0x4b9a96
mov ebx, 0x76
test esi, esi
je 0x4b9a99
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x1ff8]
push esi
push ecx
mov dword [ebp - 0x2000], ebx
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov dword [ebp - 0x94], esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0
call fcn.0040b8e0
lea ecx, [ebp - 0x58]
call fcn.0040ae30
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 2
call fcn.0040b8e0
lea ecx, [ebp - 0x28]
call fcn.0040ae30
lea eax, [ebx - 0x69]
cmp eax, 0xc
jbe 0x4b9afd
lea eax, [ebx - 0x50]
cmp eax, 7
ja 0x4b9af5
add ebx, 0xfffffff6
jmp 0x4b9b00
lea eax, [ebx - 0x37]
cmp eax, 0xc
ja 0x4b9b06
add ebx, 0xfffffff1
mov dword [ebp - 0x2000], ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.0040b8e0
lea ecx, [ebp - 0x40]
call fcn.0040ae30
xor eax, eax
mov dword [ebp - 0x206c], eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 6
call fcn.0040b8e0
lea ecx, [ebp - 0x70]
call fcn.0040ae30
mov byte [ebp - 4], 7
cmp ebx, 1
je 0x4b9c2c
cmp ebx, 2
je 0x4b9c2c
cmp ebx, 0xe
je 0x4b9c2c
cmp ebx, 3
je 0x4b9c2c
cmp ebx, 4
je 0x4b9c2c
cmp ebx, 5
je 0x4b9c2c
cmp ebx, 8
je 0x4b9c2c
cmp ebx, 6
je 0x4b9c2c
cmp ebx, 7
je 0x4b9c2c
cmp ebx, 0x77
je 0x4b9baa
cmp ebx, 0x78
je 0x4b9baa
cmp ebx, 0x7e
je 0x4b9baa
cmp ebx, 0x68
je 0x4b9baa
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
jmp 0x4b9cad
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
test edx, edx
je 0x4b9c22
lea esi, [edx - 1]
cmp ebx, 0x77
je 0x4b9c05
cmp ebx, 0x78
je 0x4b9c05
cmp ebx, 0x7e
je 0x4b9c05
cmp ebx, 0x68
je 0x4b9c05
mov ecx, dword [ebp - 0x1050]
cmp esi, ecx
jl 0x4b9bdd
cmp esi, dword [ebp - 0x104c]
jl 0x4b9bf2
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov ecx, dword [ebp - 0x1050]
mov edx, dword [ebp + 0xc]
mov eax, esi
sub eax, ecx
mov al, byte [ebp + eax - 0x1ff4]
cmp al, 0xd
je 0x4b9c22
cmp al, 0xa
je 0x4b9c22
mov ecx, dword [ebp - 0x1ff8]
dec edx
push edx
push ecx
mov dword [ebp + 0xc], edx
dec esi
mov eax, dword [ecx]
inc edi
call dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
movsx ebx, al
test edx, edx
jne 0x4b9bb7
mov eax, edx
neg eax
sbb eax, eax
and ebx, eax
jmp 0x4b9ca7
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
test edx, edx
je 0x4b9ca5
mov ecx, dword [ebp - 0x1ff8]
lea esi, [edx - 1]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
movsx eax, al
cmp eax, 1
je 0x4b9c76
cmp eax, 2
je 0x4b9c76
cmp eax, 0xe
je 0x4b9c76
cmp eax, 3
je 0x4b9c76
cmp eax, 4
je 0x4b9c76
cmp eax, 5
je 0x4b9c76
cmp eax, 8
je 0x4b9c76
cmp eax, 6
je 0x4b9c76
cmp eax, 7
jne 0x4b9ca2
mov ecx, dword [ebp - 0x1ff8]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edx, dword [ebp - 0x1ff8]
push eax
push edx
mov ecx, dword [edx]
call dword [ecx + 0x18]
mov edx, dword [ebp + 0xc]
sub edx, eax
add edi, edx
mov edx, eax
mov dword [ebp + 0xc], edx
test eax, eax
jne 0x4b9c36
jmp 0x4b9ca5
mov edx, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
mov ecx, dword [ebp - 0x1ff8]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov esi, dword [ebp + 0xc]
lea eax, [ebx - 0xc]
mov dword [ebp - 0x94], esi
cmp eax, 6
ja case.0x4b9cd2.14
movzx eax, byte [eax + 0x4bdb38]
jmp dword [eax*4 + 0x4bdb30]
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
mov ecx, dword [ebp - 0x1ff8]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov dword [ebp - 0x2068], eax
test eax, eax
jle 0x4b9d0f
mov esi, dword [ebp - 0x1ff8]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x24]
lea ecx, [eax - 1]
push ecx
push esi
call edx
mov esi, dword [ebp + 0xc]
jmp 0x4b9d21
mov eax, dword [ebp - 0x203c]
mov eax, dword [eax + 0x1878]
or eax, 0x10
shl eax, 4
mov edx, eax
mov byte [ebp - 0x2036], 0
sar edx, 2
mov ecx, eax
and edx, 0xffffff01
and ecx, 3
mov dword [ebp - 0x205c], edx
mov edx, eax
sar edx, 3
and edx, 0xffffff01
mov dword [ebp - 0x2008], ecx
mov dword [ebp - 0x2048], edx
mov edx, eax
sar edx, 4
and edx, 0xf
mov dword [ebp - 0x2058], edx
mov edx, eax
sar edx, 8
and edx, 0xf
sar eax, 0xc
mov dword [ebp - 0x2078], edx
movzx edx, al
lea eax, [ebx - 0x5a]
mov dword [ebp - 0x204c], edx
cmp eax, 0xc
ja 0x4b9d91
mov dword [ebp - 0x2018], 3
jmp 0x4b9df9
lea eax, [ebx - 0x46]
cmp eax, 7
ja 0x4b9da5
mov dword [ebp - 0x2018], 2
jmp 0x4b9df9
lea eax, [ebx - 0x28]
cmp eax, 0xc
ja 0x4b9db9
mov dword [ebp - 0x2018], 1
jmp 0x4b9df9
lea eax, [ebx - 0x76]
cmp eax, 7
ja 0x4b9dcd
mov dword [ebp - 0x2018], 4
jmp 0x4b9df9
lea eax, [ebx - 0x15]
cmp eax, 9
ja 0x4b9de1
mov dword [ebp - 0x2018], 6
jmp 0x4b9df9
xor edx, edx
cmp ebx, 0x1f
setne dl
dec edx
and edx, 7
mov dword [ebp - 0x2018], edx
mov edx, dword [ebp - 0x204c]
cmp ecx, 1
jne 0x4b9e0d
cmp ebx, 9
jne 0x4b9e0d
mov dword [ebp - 0x2018], 8
lea eax, [edx - 0x5a]
cmp eax, 0xc
ja 0x4b9e21
mov dword [ebp - 0x2050], 3
jmp 0x4b9e86
lea eax, [edx - 0x46]
cmp eax, 7
ja 0x4b9e35
mov dword [ebp - 0x2050], 2
jmp 0x4b9e86
lea eax, [edx - 0x28]
cmp eax, 0xc
ja 0x4b9e49
mov dword [ebp - 0x2050], 1
jmp 0x4b9e86
lea eax, [edx - 0x76]
cmp eax, 7
ja 0x4b9e5d
mov dword [ebp - 0x2050], 4
jmp 0x4b9e86
lea eax, [edx - 0x15]
cmp eax, 9
ja 0x4b9e71
mov dword [ebp - 0x2050], 6
jmp 0x4b9e86
cmp edx, 0x1f
mov edx, 0
setne dl
dec edx
and edx, 7
mov dword [ebp - 0x2050], edx
mov ecx, dword [ebp - 0x203c]
mov al, byte [ecx + 0x1881]
test al, al
je 0x4b9ea3
cmp byte [ecx + 0x1880], 0
je 0x4b9ea3
mov dl, 1
jmp 0x4b9ea5
xor dl, dl
mov byte [ebp - 0x2038], dl
test al, al
je 0x4b9ebf
cmp byte [ecx + 0x1882], 0
mov byte [ebp - 0x2035], 1
jne 0x4b9ec6
mov byte [ebp - 0x2035], 0
mov al, byte [ecx + 0x1883]
mov byte [ebp - 0x205d], al
test dl, dl
je 0x4b9ee6
cmp byte [ecx + 0x1884], 0
mov byte [ebp - 0x2042], 1
jne 0x4b9eed
mov byte [ebp - 0x2042], 0
test dl, dl
je 0x4b9f01
cmp byte [ecx + 0x1885], 0
mov byte [ebp - 0x2037], 1
jne 0x4b9f08
mov byte [ebp - 0x2037], 0
cmp byte [ecx + 0x14], 0
je 0x4b9f22
test dl, dl
je 0x4b9f22
cmp byte [ecx + 0x1886], 0
mov byte [ebp - 0x201d], 1
jne 0x4b9f29
mov byte [ebp - 0x201d], 0
mov al, byte [ecx + 0x187c]
mov byte [ebp - 0x2094], al
mov al, byte [ecx + 0x187d]
push 1
mov byte [ebp - 0x2090], al
mov al, byte [ecx + 0x187e]
push 0x80
mov byte [ebp - 0x202c], al
mov al, byte [ecx + 0x187f]
lea ecx, [ebp - 0x208c]
push str..__:_
push 7
mov byte [ebp - 0x202d], al
call fcn.0047c3f0
push 1
push 0x80
push 0x5b9b3c
push 7
lea ecx, [ebp - 0x20b0]
mov byte [ebp - 4], 8
call fcn.0047c3f0
push 1
push 0x80
push str..__:__
push 7
lea ecx, [ebp - 0x20a4]
mov byte [ebp - 4], 9
call fcn.0047c3f0
push 0
push 0x80
push str.___:____
push 0
lea ecx, [ebp - 0x20bc]
mov byte [ebp - 4], 0xa
call fcn.0047c3f0
push dword [ebp - 0x2068]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x1ff8]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
and eax, 0xfff
mov dword [ebp - 0x2028], 0
cmp dword [ebp - 0x2018], 1
mov ecx, 0x20
mov dword [ebp - 0x2080], eax
mov dword [ebp - 0x200c], eax
mov eax, ecx
mov dword [ebp - 0x2074], 0
mov dword [ebp - 0x207c], eax
jne 0x4ba090
test esi, esi
je 0x4ba090
add esi, 0xffffffff
je 0x4ba090
mov ecx, dword [ebp - 0x1ff8]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
movsx ecx, al
lea eax, [ecx - 0x29]
cmp eax, 3
ja 0x4ba040
sub esi, 1
jne 0x4ba023
cmp ecx, 0x32
jne 0x4ba08b
cmp esi, dword [ebp - 0x1050]
jl 0x4ba055
cmp esi, dword [ebp - 0x104c]
jl 0x4ba071
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
cmp esi, dword [ebp - 0x1050]
jl 0x4ba080
cmp esi, dword [ebp - 0x104c]
jge 0x4ba080
sub esi, dword [ebp - 0x1050]
mov al, byte [ebp + esi - 0x1ff4]
jmp 0x4ba082
mov al, 0x20
movzx eax, al
mov dword [ebp - 0x207c], eax
mov ecx, 0x20
mov esi, dword [ebp + 0xc]
add edi, esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x2064], edi
cmp esi, edi
jge 0x4bb071
mov eax, dword [ebp - 0x2008]
mov edi, 0x20
jmp 0x4ba0c0
mov dword [ebp - 0x2098], eax
mov eax, edi
mov dword [ebp - 0x2070], ecx
mov dword [ebp - 0x2010], eax
cmp eax, 0x20
je 0x4ba0f8
cmp eax, 9
jl 0x4ba0e3
cmp eax, 0xd
jle 0x4ba0f8
cmp ebx, 0x2a
je 0x4ba0f8
cmp ebx, 0x2b
je 0x4ba0f8
cmp ebx, 0x2c
je 0x4ba0f8
mov dword [ebp - 0x207c], eax
cmp esi, dword [ebp - 0x1050]
jl 0x4ba108
cmp esi, dword [ebp - 0x104c]
jl 0x4ba114
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov eax, esi
lea edi, [esi + 1]
sub eax, dword [ebp - 0x1050]
mov dword [ebp - 0x2024], edi
mov al, byte [ebp + eax - 0x1ff4]
movzx eax, al
mov dword [ebp - 0x1ffc], eax
cmp edi, dword [ebp - 0x1050]
jl 0x4ba145
cmp edi, dword [ebp - 0x104c]
jl 0x4ba161
push edi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
cmp edi, dword [ebp - 0x1050]
jl 0x4ba172
cmp edi, dword [ebp - 0x104c]
jge 0x4ba172
mov eax, edi
sub eax, dword [ebp - 0x1050]
mov al, byte [ebp + eax - 0x1ff4]
jmp 0x4ba174
mov al, 0x20
movzx eax, al
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp + 0xc]
lea esi, [eax + 2]
mov dword [ebp - 0x2040], esi
cmp esi, dword [ebp - 0x1050]
jl 0x4ba199
cmp esi, dword [ebp - 0x104c]
jl 0x4ba1b5
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
cmp esi, dword [ebp - 0x1050]
jl 0x4ba1c6
cmp esi, dword [ebp - 0x104c]
jge 0x4ba1c6
mov eax, esi
sub eax, dword [ebp - 0x1050]
mov al, byte [ebp + eax - 0x1ff4]
jmp 0x4ba1c8
mov al, 0x20
mov ecx, dword [ebp - 0x1ff8]
mov esi, dword [ebp - 0x1ffc]
movzx eax, al
mov dword [ebp - 0x2034], eax
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x48]
test al, al
je 0x4ba1fa
mov esi, edi
mov ecx, 0x20
mov edi, dword [ebp - 0x1ffc]
jmp 0x4bb055
cmp esi, 0x20
je 0x4ba209
cmp esi, 9
jl 0x4ba212
cmp esi, 0xd
jg 0x4ba212
cmp byte [ebp - 0x205d], 0
jne 0x4ba224
mov cl, byte [ebp - 0x2038]
test cl, cl
je 0x4ba22a
inc dword [ebp - 0x2028]
jmp 0x4ba22a
mov cl, byte [ebp - 0x2038]
cmp esi, 0x20
je 0x4ba23f
cmp esi, 9
jl 0x4ba239
cmp esi, 0xd
jle 0x4ba23f
inc dword [ebp - 0x2074]
mov dword [ebp - 0x2004], ebx
cmp ebx, 0x28
jl 0x4ba285
lea eax, [ebx - 0x5a]
cmp eax, 0xc
jbe 0x4ba26f
lea eax, [ebx - 0x46]
cmp eax, 7
ja 0x4ba26a
mov eax, dword [ebp - 0x2008]
dec eax
neg eax
sbb eax, eax
and eax, 0xa
jmp 0x4ba27d
cmp ebx, 0x34
jg 0x4ba285
mov eax, dword [ebp - 0x2008]
dec eax
neg eax
sbb eax, eax
and eax, 0xf
add eax, ebx
mov dword [ebp - 0x2004], eax
test cl, cl
je 0x4ba2a6
mov eax, dword [ebp - 0x2018]
sub eax, 1
je 0x4ba4e2
sub eax, 2
je 0x4ba2cf
sub eax, 1
je 0x4ba4e2
mov ecx, dword [ebp - 0x200c]
mov al, byte [ebp - 0x202c]
mov edi, dword [ebp - 0x201c]
cmp esi, 0xd
jne 0x4ba701
cmp edi, 0xa
jne 0x4ba3bf
jmp 0x4ba5fa
mov al, byte [ebp - 0x202c]
cmp ebx, 0x5c
je 0x4ba6f6
test al, al
jne 0x4ba6f6
cmp esi, 0x3a
jne 0x4ba317
mov edi, dword [ebp - 0x201c]
cmp edi, 0xa
je 0x4ba30c
cmp edi, 0xd
jne 0x4ba7b8
cmp dword [ebp - 0x2034], 0xa
jne 0x4ba7b8
inc dword [ebp - 0x200c]
jmp 0x4ba7b8
cmp esi, 0xa
jne 0x4ba6f6
mov edi, dword [ebp - 0x201c]
cmp edi, 0xd
jne 0x4ba333
cmp dword [ebp - 0x2034], esi
jmp 0x4ba336
cmp edi, 0xa
je 0x4ba3b9
mov ecx, dword [ebp - 0x200c]
mov edi, ecx
and edi, 0xfffffbff
shl edi, 3
test edi, edi
jle 0x4ba70f
mov esi, dword [ebp - 0x2024]
mov ecx, dword [ebp - 0x1050]
cmp esi, ecx
jl 0x4ba36d
cmp esi, dword [ebp - 0x104c]
jl 0x4ba38b
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov ecx, dword [ebp - 0x1050]
cmp esi, ecx
jl 0x4ba3a9
cmp esi, dword [ebp - 0x104c]
jge 0x4ba3a9
mov eax, esi
sub eax, ecx
mov al, byte [ebp + eax - 0x1ff4]
cmp al, 9
jne 0x4ba3a1
mov eax, 0xfffffff8
jmp 0x4ba3ac
cmp al, 0x20
jne 0x4ba498
or eax, 0xffffffff
add edi, eax
inc esi
test edi, edi
jg 0x4ba361
mov edi, dword [ebp - 0x201c]
mov ecx, dword [ebp - 0x200c]
cmp byte [ebp - 0x2038], 0
je 0x4ba417
mov eax, dword [ebp - 0x2028]
mov esi, dword [ebp - 0x2080]
mov edx, esi
test eax, eax
jne 0x4ba3e0
or edx, 0x1000
cmp ecx, esi
jle 0x4ba3ee
test eax, eax
jle 0x4ba3ee
or edx, 0x2000
mov ecx, dword [ebp - 0x1ff8]
push edx
push dword [ebp - 0x2068]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x20]
mov eax, dword [ebp - 0x200c]
mov dword [ebp - 0x2028], 0
mov dword [ebp - 0x2080], eax
mov esi, dword [ebp - 0x1ff8]
mov eax, dword [esi]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x204c]
movzx ecx, al
mov eax, dword [ebp - 0x2078]
and eax, 0xf
shl ecx, 4
or ecx, eax
mov eax, dword [ebp - 0x2058]
and eax, 0xf
shl ecx, 4
or ecx, eax
mov eax, dword [ebp - 0x2048]
movzx eax, al
shl ecx, 4
neg eax
sbb eax, eax
and eax, 8
or ecx, eax
mov eax, dword [ebp - 0x205c]
movzx eax, al
neg eax
sbb eax, eax
and eax, 4
or ecx, eax
mov eax, dword [ebp - 0x2008]
and eax, 3
or ecx, eax
push ecx
push dword [ebp - 0x2068]
push esi
call edx
inc dword [ebp - 0x2068]
mov dword [ebp - 0x2074], 0
jmp 0x4ba5ee
mov ecx, dword [ebp - 0x200c]
test edi, edi
jle 0x4ba70f
mov eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
neg eax
add ecx, eax
mov dword [ebp - 0x200c], ecx
and edi, 0x80000007
jns 0x4ba4ca
dec edi
or edi, 0xfffffff8
add edi, 1
mov edi, dword [ebp - 0x201c]
je 0x4ba3bf
dec ecx
mov dword [ebp - 0x200c], ecx
jmp 0x4ba3bf
cmp ebx, 0x7c
je 0x4ba6be
cmp ebx, 0x7d
je case.0x4ba51e.48
cmp ebx, 0x2a
je 0x4ba6be
cmp ebx, 0x2b
je case.0x4ba51e.48
cmp ebx, 0x2c
je case.0x4ba51e.48
lea eax, [ebx - 0x30]
cmp eax, 0x4e
ja case.0x4ba51e.50
movzx eax, byte [eax + 0x4bdb48]
jmp dword [eax*4 + 0x4bdb40]
cmp esi, 0x23
jne 0x4ba658
mov esi, edi
mov edi, dword [ebp - 0x2064]
cmp esi, edi
jge 0x4ba582
mov ecx, dword [ebp - 0x1050]
cmp esi, ecx
jl 0x4ba54c
cmp esi, dword [ebp - 0x104c]
jl 0x4ba56a
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov ecx, dword [ebp - 0x1050]
cmp esi, ecx
jl 0x4ba57d
cmp esi, dword [ebp - 0x104c]
jge 0x4ba57d
mov eax, esi
sub eax, ecx
mov al, byte [ebp + eax - 0x1ff4]
cmp al, 0x20
je 0x4ba57d
cmp al, 9
jne 0x4ba582
inc esi
cmp esi, edi
jl 0x4ba540
mov edi, 0x5b9b44
mov eax, esi
sub eax, edi
mov dword [ebp - 0x2054], eax
push 0x20
add eax, edi
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.00474ec0
cmp byte [edi], al
jne 0x4ba5b3
mov eax, dword [ebp - 0x2054]
inc edi
cmp byte [edi], 0
jne 0x4ba591
jmp 0x4ba5e2
mov edi, 0x5b9b4c
mov eax, esi
sub eax, edi
mov dword [ebp - 0x2054], eax
push 0x20
add eax, edi
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.00474ec0
cmp byte [edi], al
jne 0x4ba62e
mov eax, dword [ebp - 0x2054]
inc edi
cmp byte [edi], 0
jne 0x4ba5c2
inc dword [ebp - 0x200c]
mov edi, dword [ebp - 0x201c]
mov esi, dword [ebp - 0x1ffc]
mov al, byte [ebp - 0x202c]
test al, al
je 0x4ba76c
cmp esi, 0x23
jne 0x4ba71a
cmp edi, esi
jne 0x4ba71a
mov ecx, 1
mov ebx, 0x5c
mov dword [ebp - 0x206c], ecx
mov dword [ebp - 0x2000], ebx
jmp 0x4ba7ac
mov edi, 0x5b9b78
sub esi, edi
push 0x20
lea eax, [edi + esi]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00474ec0
cmp byte [edi], al
jne 0x4ba5e8
inc edi
cmp byte [edi], 0
jne 0x4ba635
dec dword [ebp - 0x200c]
jmp 0x4ba5e8
cmp esi, 0x7b
je 0x4ba687
cmp esi, 0x7d
je 0x4ba69f
cmp byte [ebp - 0x2042], 0
je 0x4ba2a6
cmp esi, 0x2f
jne 0x4ba2a6
mov edi, dword [ebp - 0x201c]
cmp edi, 0x2a
jne 0x4ba5f4
mov ecx, dword [ebp - 0x200c]
mov eax, 1
add ecx, eax
mov dword [ebp - 0x200c], ecx
jmp 0x4ba2ac
mov ecx, dword [ebp - 0x200c]
or eax, 0xffffffff
add ecx, eax
mov dword [ebp - 0x200c], ecx
jmp 0x4ba2ac
cmp ebx, 0x2a
jne 0x4ba2a6
cmp byte [ebp - 0x2042], 0
je 0x4ba6f0
cmp esi, 0x2a
jne 0x4ba2a6
mov edi, dword [ebp - 0x201c]
mov al, byte [ebp - 0x202c]
cmp edi, 0x2f
jne 0x4ba5fa
dec dword [ebp - 0x200c]
jmp 0x4ba5fa
mov al, byte [ebp - 0x202c]
mov ecx, dword [ebp - 0x200c]
jmp 0x4ba2b2
cmp esi, 0xa
jne 0x4ba5fa
jmp 0x4ba3bf
mov edi, dword [ebp - 0x201c]
jmp 0x4ba3bf
mov ecx, dword [ebp - 0x206c]
test ecx, ecx
je 0x4ba772
cmp esi, 0xd
je 0x4ba72e
cmp esi, 0xa
jne 0x4ba772
push dword [ebp - 0x2004]
xor eax, eax
lea ecx, [ebp - 0x1ff8]
mov dword [ebp - 0x206c], eax
mov eax, dword [ebp + 0xc]
dec eax
push eax
call fcn.00475ef0
mov al, byte [ebp - 0x202c]
xor ebx, ebx
cmp dword [ebp - 0x2018], 3
setne bl
dec ebx
and ebx, 0x5b
xor ecx, ecx
mov dword [ebp - 0x2000], ebx
jmp 0x4ba772
mov ecx, dword [ebp - 0x206c]
cmp esi, 0xd
jne 0x4ba77e
cmp edi, 0xa
jne 0x4ba783
jmp 0x4ba7ac
cmp esi, 0xa
jne 0x4ba7ac
test al, al
je 0x4bb78a
push 0x5b9b7c
lea ecx, [ebp - 0x40]
call fcn.0045cd00
test al, al
je 0x4bb78a
mov al, byte [ebp - 0x202c]
mov ecx, dword [ebp - 0x206c]
test al, al
je 0x4ba7b8
test ecx, ecx
jne 0x4bb78a
mov edx, dword [ebp - 0x2008]
cmp edx, 1
jne 0x4ba925
cmp esi, 0x3c
jne 0x4ba925
cmp edi, 0x2f
jne 0x4ba925
lea eax, [ebx - 6]
cmp eax, 0x77
ja case.0x4ba7e8.8
movzx eax, byte [eax + 0x4bdba0]
jmp dword [eax*4 + 0x4bdb98]
cmp ebx, 0x2b
je 0x4ba81c
mov eax, dword [ebp - 0x203c]
cmp byte [eax + 0x14], 0
jne 0x4ba81c
xor eax, eax
cmp ebx, 9
setne al
dec eax
and eax, 0x5b9b70
mov dword [ebp - 0x2054], eax
je 0x4ba8b6
jmp 0x4ba827
mov eax, str.script
mov dword [ebp - 0x2054], eax
mov ecx, dword [ebp - 0x2040]
mov edi, dword [ebp - 0x104c]
mov edx, dword [ebp - 0x1050]
mov ebx, dword [ebp - 0x2054]
nop
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [ebp - 0x2011], al
test al, al
je 0x4ba8aa
mov esi, ecx
inc ecx
mov dword [ebp - 0x2054], ecx
cmp esi, edx
jl 0x4ba860
cmp esi, edi
jl 0x4ba880
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov edx, dword [ebp - 0x1050]
mov edi, dword [ebp - 0x104c]
cmp esi, edx
jl 0x4ba896
cmp esi, edi
jge 0x4ba896
sub esi, edx
mov cl, byte [ebp + esi - 0x1ff4]
mov al, cl
sub al, 0x41
cmp al, 0x19
ja 0x4ba898
add cl, 0x20
jmp 0x4ba898
mov cl, 0x20
mov al, byte [ebp - 0x2011]
cmp al, cl
mov ecx, dword [ebp - 0x2054]
je 0x4ba840
test al, al
mov ebx, dword [ebp - 0x2000]
jne 0x4bb77e
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov esi, dword [ebp - 0x2040]
mov ebx, 2
add dword [ebp - 0x2028], ebx
xor eax, eax
mov edi, dword [ebp - 0x1ffc]
mov ecx, dword [ebp - 0x2010]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2008], eax
mov dword [ebp - 0x2018], eax
mov dword [ebp - 0x2078], 1
mov byte [ebp - 0x2048], 1
cmp byte [ebp - 0x201d], al
je 0x4bb05b
dec dword [ebp - 0x200c]
jmp 0x4bb05b
cmp ebx, 0x10
je 0x4bab42
lea esi, [ebx - 0x30]
cmp esi, 0x4e
ja case.0x4ba93d.50
movzx eax, byte [esi + 0x4bdc20]
jmp dword [eax*4 + 0x4bdc18]
cmp ebx, 0x7c
je case.0x4ba93d.48
mov ecx, dword [ebp - 0x201c]
cmp ebx, 0x7d
je 0x4bab34
mov edi, dword [ebp - 0x1ffc]
cmp edi, 0x3c
jne 0x4bab34
cmp ecx, 0x3f
jne 0x4bab34
cmp ebx, 0x2a
je 0x4bab34
cmp ebx, 0x2b
je 0x4bab34
cmp ebx, 0x39
je 0x4bab34
cmp ebx, 0x3a
je 0x4bab34
cmp ebx, 0x48
je 0x4bab34
cmp ebx, 0x52
je 0x4bab34
mov ecx, dword [ebp - 0x203c]
mov eax, dword [ebp - 0x2018]
mov edx, dword [ebp - 0x2040]
mov dword [ebp - 0x2050], eax
xor eax, eax
cmp byte [ecx + 0x14], al
lea ecx, [ebp - 0x1ff8]
setne al
add eax, 4
push eax
mov eax, dword [ebp + 0xc]
add eax, 6
push eax
call fcn.004b75d0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x2018], ecx
cmp ecx, 4
je 0x4baa0c
cmp esi, 0x4e
ja case.0x4ba9fc.2
movzx eax, byte [esi + 0x4bdc78]
jmp dword [eax*4 + 0x4bdc70]
cmp ebx, 9
je case.0x4ba9fc.0
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0x1ff8]
inc dword [ebp - 0x2028]
mov dword [ebp - 0x204c], ebx
mov ebx, dword [ebp - 0x2024]
lea edx, [edx + 2]
lea eax, [ebx + 6]
push eax
call fcn.004b77a0
mov esi, dword [ebp - 0x2018]
lea ecx, [ebp - 0x1ff8]
add ebx, eax
add esp, 4
mov dword [ebp + 0xc], ebx
cmp esi, 5
jne 0x4baa69
push 0xc
jmp 0x4baa6b
push 0x12
push ebx
call fcn.00475ef0
lea eax, [esi - 2]
cmp eax, 6
ja case.0x4baa79.7
jmp dword [eax*4 + 0x4bdcc8]
mov ebx, 0x46
jmp 0x4baaaf
mov ebx, 0x5a
jmp 0x4baaaf
mov ebx, 0x76
jmp 0x4baaaf
mov ebx, 2
jmp 0x4baaaf
mov ebx, 0x15
jmp 0x4baaaf
mov ebx, 9
jmp 0x4baaaf
mov ebx, 0x28
mov eax, dword [ebp - 0x2008]
dec eax
mov dword [ebp - 0x2000], ebx
neg eax
sbb eax, eax
add eax, 3
cmp byte [ebp - 0x2035], 0
mov dword [ebp - 0x2008], eax
je 0x4baadd
cmp esi, 5
je 0x4baadd
inc dword [ebp - 0x200c]
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x1050]
jl 0x4baaf0
cmp eax, dword [ebp - 0x104c]
jl 0x4bab0f
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x1050]
jl 0x4bab27
cmp eax, dword [ebp - 0x104c]
jge 0x4bab27
sub eax, dword [ebp - 0x1050]
mov esi, dword [ebp + 0xc]
mov al, byte [ebp + eax - 0x1ff4]
movzx edi, al
jmp 0x4bb04f
mov al, 0x20
movzx edi, al
mov esi, dword [ebp + 0xc]
jmp 0x4bb04f
mov esi, dword [ebp - 0x1ffc]
jmp 0x4bab48
mov esi, dword [ebp - 0x1ffc]
mov ecx, dword [ebp - 0x201c]
cmp byte [ebp - 0x202c], 0
mov eax, dword [ebp - 0x2018]
je 0x4bad5b
test eax, eax
jne 0x4bad5b
cmp esi, 0x3c
jne 0x4bab71
cmp ecx, 0x25
je 0x4babf0
cmp dword [ebp - 0x2074], 1
jne 0x4baba7
cmp esi, 0x25
je 0x4bab8d
cmp esi, 0x2f
jne 0x4baba7
cmp ecx, 0x25
jne 0x4bad5b
push 1
push 0x5b9b88
lea ecx, [ebp - 0x40]
call fcn.0040af10
mov edi, dword [ebp - 0x2040]
jmp 0x4bac5f
cmp esi, 0x24
jne 0x4babcf
cmp ecx, 0x7b
jne 0x4bad5b
push 1
push 0x5b9b8c
lea ecx, [ebp - 0x40]
call fcn.0040af10
mov edi, dword [ebp - 0x2040]
jmp 0x4bac5f
mov edi, dword [ebp - 0x2034]
cmp esi, 0x3c
jne 0x4bad61
cmp ecx, 0x2f
jne 0x4bad61
cmp edi, 0x25
jne 0x4bad61
cmp ecx, 0x2f
lea edx, [ebp - 0x1ff8]
lea ecx, [ebp - 0x88]
jne 0x4bac34
mov esi, dword [ebp + 0xc]
lea eax, [esi + 3]
push eax
call fcn.004b74a0
add esp, 4
lea ecx, [ebp - 0x40]
push eax
call fcn.00414620
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call fcn.0040a8e0
mov edi, dword [ebp - 0x2040]
mov byte [ebp - 4], 0xb
jmp 0x4bac62
mov edi, dword [ebp - 0x2040]
push edi
call fcn.004b74a0
add esp, 4
lea ecx, [ebp - 0x40]
push eax
call fcn.00414620
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xd
call fcn.0040a8e0
mov byte [ebp - 4], 0xb
mov esi, dword [ebp + 0xc]
push dword [ebp - 0x2004]
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov eax, dword [ebp - 0x2008]
dec eax
mov dword [ebp - 0x204c], ebx
neg eax
sbb eax, eax
add eax, 3
cmp dword [ebp - 0x201c], 0x2f
mov dword [ebp - 0x2008], eax
jne 0x4baca7
mov esi, edi
mov edi, dword [ebp - 0x2028]
add edi, 2
jmp 0x4bacbd
cmp dword [ebp - 0x1ffc], 0x25
mov edi, dword [ebp - 0x2028]
je 0x4bacc6
mov esi, dword [ebp - 0x2024]
inc edi
mov dword [ebp - 0x2028], edi
mov dword [ebp + 0xc], esi
push 0xf
mov ebx, 0x5a
mov dword [ebp - 0x2018], 3
push esi
lea ecx, [ebp - 0x1ff8]
mov dword [ebp - 0x2000], ebx
call fcn.00475ef0
mov eax, dword [ebp - 0x1ffc]
cmp eax, 0x25
je 0x4baadd
cmp eax, 0x24
je 0x4baadd
cmp eax, 0x2f
je 0x4baadd
mov ecx, dword [ebp - 0x203c]
lea eax, [ebp - 0x40]
add esi, dword [ebp - 0x30]
add edi, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp + 0xc], esi
lea ecx, [ecx + 0xc48]
mov dword [ebp - 0x2028], edi
jb 0x4bad31
mov eax, dword [ebp - 0x40]
push eax
call fcn.00475500
lea ecx, [ebp - 0x1ff8]
test al, al
je 0x4bad4e
push 0x60
push esi
call fcn.00475ef0
jmp 0x4baadd
push 2
push esi
call fcn.00475ef0
jmp 0x4baadd
mov edi, dword [ebp - 0x2034]
cmp byte [ebp - 0x202d], 0
je 0x4baf2c
cmp ebx, 9
je 0x4badfc
cmp esi, 0x7b
jne 0x4bae77
cmp ecx, 0x23
jne 0x4bae77
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov eax, dword [ebp - 0x2018]
lea ecx, [ebp - 0x1ff8]
mov dword [ebp - 0x2050], eax
mov eax, dword [ebp - 0x2008]
dec eax
mov dword [ebp - 0x204c], ebx
neg eax
mov dword [ebp - 0x2018], 8
push 0xf
sbb eax, eax
mov ebx, 9
inc dword [ebp - 0x2028]
add eax, 3
mov dword [ebp - 0x2008], eax
mov eax, dword [ebp - 0x2024]
push eax
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x2000], ebx
call fcn.00475ef0
jmp 0x4baadd
cmp esi, 0x23
jne 0x4bae77
cmp ecx, 0x7d
jne 0x4bae77
mov eax, dword [ebp + 0xc]
push dword [ebp - 0x2004]
dec eax
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov eax, dword [ebp - 0x2024]
lea ecx, [ebp - 0x1ff8]
inc dword [ebp - 0x2028]
push 0xf
push eax
mov dword [ebp + 0xc], eax
call fcn.00475ef0
mov eax, dword [ebp - 0x2050]
mov ebx, dword [ebp - 0x204c]
mov edi, dword [ebp - 0x1ffc]
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2010]
mov dword [ebp - 0x2018], eax
xor eax, eax
cmp dword [ebp - 0x2008], 3
mov dword [ebp - 0x2000], ebx
sete al
mov dword [ebp - 0x2008], eax
jmp 0x4bb05b
cmp eax, 3
je 0x4baf2c
cmp eax, 8
je 0x4baf2c
cmp esi, 0x7b
jne 0x4baf2c
cmp ecx, 0x25
je 0x4baea8
cmp ecx, esi
jne 0x4baf2c
push 1
push 0x5b9b84
jmp 0x4baeaf
push 1
push 0x5b9b80
lea ecx, [ebp - 0x70]
call fcn.0040af10
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov eax, dword [ebp - 0x2008]
lea ecx, [ebp - 0x1ff8]
dec eax
mov dword [ebp - 0x204c], ebx
neg eax
mov ebx, 0x5a
push 0xf
sbb eax, eax
mov dword [ebp - 0x2000], ebx
inc dword [ebp - 0x2028]
add eax, 3
mov dword [ebp - 0x2008], eax
mov eax, dword [ebp - 0x2024]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2018]
push dword [ebp + 0xc]
mov dword [ebp - 0x2050], eax
mov dword [ebp - 0x2018], 3
call fcn.00475ef0
jmp 0x4baadd
cmp byte [ebp - 0x202c], 0
jne case.0x4baf55.42
cmp byte [ebp - 0x202d], 0
jne case.0x4baf55.42
lea eax, [ebx - 0x2a]
cmp eax, 0x53
ja case.0x4baf55.45
movzx eax, byte [eax + 0x4bdcec]
jmp dword [eax*4 + 0x4bdce4]
cmp esi, 0x3c
jne case.0x4baf55.42
cmp ecx, 0x25
jne case.0x4baf55.42
cmp ebx, 0x77
je case.0x4baf55.42
cmp ebx, 0x78
je case.0x4baf55.42
cmp ebx, 0x7e
je case.0x4baf55.42
cmp ebx, 0x68
je case.0x4baf55.42
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
lea eax, [esi - 1]
push eax
call fcn.00475ef0
mov eax, dword [ebp - 0x2008]
dec eax
mov dword [ebp - 0x204c], ebx
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x2008], eax
cmp edi, 0x40
jne 0x4bafd4
lea ebx, [edi - 0x30]
lea eax, [edi - 0x3e]
jmp 0x4bb0db
cmp edi, 0x2d
jne 0x4bb08e
mov ecx, dword [ebp - 0x1050]
add esi, 3
cmp esi, ecx
jl 0x4baff2
cmp esi, dword [ebp - 0x104c]
jl 0x4bb014
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov ecx, dword [ebp - 0x1050]
cmp esi, ecx
jl 0x4bb08b
cmp esi, dword [ebp - 0x104c]
jge 0x4bb08b
mov eax, esi
sub eax, ecx
mov al, byte [ebp + eax - 0x1ff4]
cmp al, 0x2d
jne 0x4bb08b
push 0xf
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov esi, dword [ebp + 0xc]
mov ebx, 0x14
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2018], 2
mov edi, dword [ebp - 0x1ffc]
mov ecx, dword [ebp - 0x2010]
mov eax, dword [ebp - 0x2008]
inc esi
mov dword [ebp + 0xc], esi
cmp esi, dword [ebp - 0x2064]
jl 0x4ba0c0
mov edi, dword [ebp - 0x2064]
lea eax, [ebx - 0x2e]
cmp eax, 0x4b
ja case.0x4bb084.47
movzx eax, byte [eax + 0x4bdd54]
jmp dword [eax*4 + 0x4bdd40]
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2058]
xor eax, eax
cmp edi, 0x3d
sete al
add ecx, 0xfffffffe
inc eax
cmp ecx, 6
ja case.0x4bb0a5.7
jmp dword [ecx*4 + 0x4bdda0]
mov ebx, 0x46
jmp 0x4bb0db
mov ebx, 0x5a
jmp 0x4bb0db
mov ebx, 0x76
jmp 0x4bb0db
mov ebx, 2
jmp 0x4bb0db
mov ebx, 0x15
jmp 0x4bb0db
mov ebx, 9
jmp 0x4bb0db
mov ebx, 0x28
add dword [ebp - 0x2028], eax
lea ecx, [ebp - 0x1ff8]
add esi, eax
mov dword [ebp - 0x2000], ebx
push 0xf
push esi
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x2018], 2
call fcn.00475ef0
cmp byte [ebp - 0x2035], 0
je 0x4bb113
inc dword [ebp - 0x200c]
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x1050]
jl 0x4bb126
cmp eax, dword [ebp - 0x104c]
jl 0x4bb145
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x1050]
jl 0x4bb171
cmp eax, dword [ebp - 0x104c]
jge 0x4bb171
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff4]
sub eax, dword [ebp - 0x1050]
mov ecx, dword [ebp - 0x2010]
mov al, byte [eax + esi]
movzx edi, al
mov eax, dword [ebp - 0x2008]
mov dword [ebp - 0x2008], eax
jmp 0x4bb05b
mov esi, dword [ebp + 0xc]
mov al, 0x20
mov ecx, dword [ebp - 0x2010]
movzx edi, al
mov eax, dword [ebp - 0x2008]
mov dword [ebp - 0x2008], eax
jmp 0x4bb05b
mov eax, dword [ebp - 0x2018]
test eax, eax
je 0x4bb1a3
cmp eax, 5
jne 0x4bb2c6
cmp dword [ebp - 0x2010], 0x3c
mov edi, dword [ebp - 0x2004]
jne 0x4bb2cc
cmp esi, 0x21
jne 0x4bb2cc
cmp edi, 0x11
je 0x4bb2cc
cmp edi, 9
je 0x4bb2cc
cmp edi, 0x1d
je 0x4bb2cc
cmp edi, 0x2a
je 0x4bb2cc
cmp edi, 0x2b
je 0x4bb2cc
cmp edi, 0x39
je 0x4bb2cc
cmp edi, 0x3a
je 0x4bb2cc
cmp edi, 0x48
je 0x4bb2cc
cmp edi, 0x52
je 0x4bb2cc
mov dword [ebp - 0x204c], ebx
lea ecx, [ebp - 0x1ff8]
mov ebx, dword [ebp + 0xc]
push edi
lea eax, [ebx - 2]
push eax
call fcn.00475ef0
cmp dword [ebp - 0x201c], 0x2d
jne 0x4bb25b
cmp dword [ebp - 0x2034], 0x2d
jne 0x4bb25b
mov esi, dword [ebp - 0x2040]
lea ecx, [ebp - 0x1ff8]
mov ebx, 9
push ebx
push esi
mov dword [ebp - 0x2000], ebx
call fcn.00475ef0
jmp 0x4bb2a4
mov ecx, dword [ebp - 0x2024]
lea eax, [ebp - 0x1ff8]
push eax
lea edx, [ebx + 7]
call fcn.004b84e0
add esp, 4
test al, al
je 0x4bb27e
mov ebx, 0x11
jmp 0x4bb29b
push 0x15
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov dword [ebp - 0x2018], 6
mov ebx, 0x16
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x2000], ebx
cmp byte [ebp - 0x2035], 0
jne 0x4bb2bb
cmp ebx, 9
je 0x4bb2bb
cmp ebx, 0x11
jne 0x4bb049
inc dword [ebp - 0x200c]
jmp 0x4bb049
mov edi, dword [ebp - 0x2004]
cmp byte [ebp - 0x202c], 0
je case.0x4bb314.72
cmp edx, 2
je 0x4bb2e7
cmp edx, 3
jne case.0x4bb314.72
test eax, eax
je case.0x4bb314.72
lea eax, [ebx - 0x30]
cmp eax, 0x4e
ja case.0x4bb2fe.50
movzx eax, byte [eax + 0x4bddc4]
jmp dword [eax*4 + 0x4bddbc]
lea eax, [ebx - 0x48]
cmp eax, 0x34
ja case.0x4bb314.73
movzx eax, byte [eax + 0x4bde1c]
jmp dword [eax*4 + 0x4bde14]
lea eax, [ebp - 0x40]
mov edx, ecx
push eax
mov ecx, esi
call fcn.004b8750
add esp, 4
test al, al
je 0x4bb46c
mov esi, dword [ebp + 0xc]
dec esi
cmp ebx, 0x10
jne 0x4bb35d
push dword [ebp - 0x2058]
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.004b75d0
add esp, 8
mov dword [ebp - 0x2058], eax
cmp ebx, 0x60
jne 0x4bb397
push dword [ebp - 0x202c]
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x58]
push dword [ebp - 0x2008]
mov edx, esi
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
add eax, 0xc48
push eax
call fcn.004b7fb0
add esp, 0x14
jmp 0x4bb3a4
push edi
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
push 0x5b9b98
lea ecx, [ebp - 0x40]
call fcn.0045cd00
test al, al
jne 0x4bb3e2
push 0x5b9b9c
lea ecx, [ebp - 0x40]
call fcn.0045cd00
mov edi, dword [ebp - 0x1ffc]
test al, al
jne 0x4bb3e8
cmp edi, 0x3e
je 0x4bb3e8
mov ebx, dword [ebp - 0x2024]
inc dword [ebp - 0x2028]
mov dword [ebp + 0xc], ebx
jmp 0x4bb412
mov edi, dword [ebp - 0x1ffc]
push 0x5b9b90
lea ecx, [ebp - 0x40]
call fcn.0045cd00
test al, al
je 0x4bb40f
cmp edi, 0x2f
jne 0x4bb40f
mov ebx, dword [ebp - 0x2024]
inc dword [ebp - 0x2028]
mov dword [ebp + 0xc], ebx
jmp 0x4bb412
mov ebx, dword [ebp + 0xc]
push 0x5b9b94
lea ecx, [ebp - 0x40]
call fcn.0045cd00
test al, al
je 0x4bb428
cmp edi, 0x2f
jne 0x4bb436
push 0xf
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, dword [ebp - 0x204c]
xor eax, eax
cmp dword [ebp - 0x2008], 3
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2010]
sete al
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2018], 0
mov dword [ebp - 0x2008], eax
jmp 0x4bb05b
mov edx, dword [ebp - 0x2008]
mov al, byte [ebp - 0x202d]
test al, al
je 0x4bb591
cmp edx, 2
je 0x4bb48e
cmp edx, 3
jne 0x4bb591
mov ecx, dword [ebp - 0x2018]
test ecx, ecx
je 0x4bb55a
lea eax, [ebx - 0x30]
cmp eax, 0x4e
ja case.0x4bb4ab.50
movzx eax, byte [eax + 0x4bde5c]
jmp dword [eax*4 + 0x4bde54]
lea eax, [ebx - 0x48]
cmp eax, 0x34
ja case.0x4bb4c1.73
movzx eax, byte [eax + 0x4bdeb4]
jmp dword [eax*4 + 0x4bdeac]
mov edx, dword [ebp - 0x201c]
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
call fcn.004b8890
add esp, 4
test al, al
je 0x4bb54e
mov esi, dword [ebp + 0xc]
dec esi
cmp ebx, 0x10
jne 0x4bb511
push dword [ebp - 0x2058]
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.004b75d0
add esp, 8
mov dword [ebp - 0x2058], eax
push edi
push esi
jmp 0x4bae11
cmp ebx, 0x60
jne 0x4bb50a
push dword [ebp - 0x202c]
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x58]
push dword [ebp - 0x2008]
mov edx, esi
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
add eax, 0xc48
push eax
call fcn.004b7fb0
add esp, 0x14
jmp 0x4bae1c
mov ecx, dword [ebp - 0x2018]
mov al, byte [ebp - 0x202d]
cmp byte [ebp - 0x202c], 0
mov edx, dword [ebp - 0x2008]
jne case.0x4bb5a8.72
test al, al
jne case.0x4bb5a8.72
cmp edx, 2
je 0x4bb577
cmp edx, 3
jne case.0x4bb5a8.72
test ecx, ecx
je case.0x4bb5a8.72
lea eax, [ebx - 0x30]
cmp eax, 0x4e
ja case.0x4bb58a.50
movzx eax, byte [eax + 0x4bdef4]
jmp dword [eax*4 + 0x4bdeec]
mov ecx, dword [ebp - 0x2018]
jmp 0x4bb55a
lea eax, [ebx - 0x48]
cmp eax, 0x34
ja case.0x4bb5a8.73
movzx eax, byte [eax + 0x4bdf4c]
jmp dword [eax*4 + 0x4bdf44]
cmp esi, 0x25
je 0x4bb5b9
cmp esi, 0x3f
jne case.0x4bb5a8.72
cmp dword [ebp - 0x201c], 0x3e
je 0x4bb5dd
cmp ecx, 6
jne 0x4bb7ad
cmp esi, 0x3e
jne 0x4bb7ad
cmp ebx, 0x1d
je 0x4bb7ad
mov esi, dword [ebp + 0xc]
dec esi
cmp ebx, 0x10
jne 0x4bb607
push dword [ebp - 0x2058]
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.004b75d0
add esp, 8
mov dword [ebp - 0x2058], eax
lea eax, [ebx - 0x14]
cmp eax, 0x65
ja case.0x4bb61a.21
movzx eax, byte [eax + 0x4bdf9c]
jmp dword [eax*4 + 0x4bdf84]
push dword [ebp - 0x2008]
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
mov edx, esi
add eax, 0x428
push eax
call fcn.004b7d60
add esp, 0xc
jmp 0x4bb6e4
push dword [ebp - 0x2008]
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
mov edx, esi
add eax, 0x838
push eax
call fcn.004b7e50
add esp, 0xc
jmp 0x4bb6e4
push dword [ebp - 0x202c]
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x58]
push dword [ebp - 0x2008]
mov edx, esi
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
add eax, 0xc48
push eax
call fcn.004b7fb0
add esp, 0x14
jmp 0x4bb6e4
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
mov edx, esi
add eax, 0x1058
push eax
call fcn.004b8230
add esp, 8
jmp 0x4bb6e4
push ebx
jmp 0x4bb6d8
push edi
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov esi, dword [ebp - 0x2018]
cmp esi, 6
je 0x4bb700
mov eax, dword [ebp - 0x2024]
inc dword [ebp - 0x2028]
mov dword [ebp + 0xc], eax
jmp 0x4bb703
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x1ffc]
cmp edi, 0x25
jne 0x4bb712
push 0xf
jmp 0x4bb726
cmp esi, 5
jne 0x4bb71b
push 0xd
jmp 0x4bb726
cmp esi, 6
jne 0x4bb724
push 0x15
jmp 0x4bb726
push 0x12
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, dword [ebp - 0x204c]
xor eax, eax
cmp dword [ebp - 0x2098], 3
mov dword [ebp - 0x2000], ebx
sete al
cmp byte [ebp - 0x2035], 0
mov dword [ebp - 0x2008], eax
je 0x4bb764
cmp esi, 5
je 0x4bb764
dec dword [ebp - 0x200c]
mov ecx, dword [ebp - 0x2050]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x2018], ecx
mov ecx, dword [ebp - 0x2010]
jmp 0x4bb05b
mov esi, dword [ebp - 0x1ffc]
mov edi, dword [ebp - 0x201c]
mov edx, dword [ebp - 0x2008]
mov ecx, dword [ebp - 0x2018]
cmp ebx, 0x7f
ja case.0x4bb7a6.1
movzx eax, byte [ebx + 0x4be0d0]
jmp dword [eax*4 + 0x4be004]
mov edi, dword [ebp - 0x201c]
jmp 0x4bb796
cmp esi, 0x3c
jne 0x4bb832
cmp edi, 0x2f
mov byte [ebp - 0x205c], 1
sete al
cmp byte [ebp - 0x201d], 0
mov byte [ebp - 0x2048], al
je 0x4bb7fd
cmp edi, 0x2f
je 0x4bb7f7
cmp edi, 0x3f
je 0x4bb7fd
cmp edi, 0x21
je 0x4bb7fd
cmp edi, 0x2d
je 0x4bb7fd
cmp edi, 0x25
je 0x4bb7fd
inc dword [ebp - 0x200c]
jmp 0x4bb7fd
dec dword [ebp - 0x200c]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
cmp edi, 0x21
mov edi, dword [ebp - 0x1ffc]
je 0x4bd7a5
mov ebx, 2
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp esi, 0x26
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
dec eax
push 0
push eax
call fcn.00475ef0
lea ebx, [esi - 0x1c]
jmp 0x4bd799
cmp esi, 0x22
jne 0x4bb878
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
lea ebx, [esi - 0xa]
jmp 0x4bd799
cmp esi, 0x27
jne 0x4bb89b
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
lea ebx, [esi - 0xe]
jmp 0x4bd799
cmp esi, 0x2d
jne 0x4bb8d5
cmp dword [ebp - 0x2010], esi
jne 0x4bb8e1
mov ecx, dword [ebp + 0xc]
lea eax, [ecx - 2]
cmp dword [ebp - 0x98], eax
jg 0x4bb8cb
lea eax, [ecx - 2]
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.00475ef0
mov ebx, 0x1d
jmp 0x4bd799
test esi, esi
js 0x4bb91c
cmp esi, 0x80
jge 0x4bb91c
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x2010]
je 0x4bb922
cmp eax, 0x25
jne 0x4bb922
push dword [ebp - 0x2004]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
add eax, 0xfffffffe
push eax
call fcn.00475ef0
mov ebx, 0x1c
jmp 0x4bd799
mov eax, dword [ebp - 0x2010]
cmp esi, 0x23
jne 0x4bb945
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
lea ebx, [esi - 8]
jmp 0x4bd799
cmp esi, 0x5b
jne 0x4bb972
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov dword [ebp - 0x2018], 7
lea ebx, [esi - 0x3c]
jmp 0x4bd799
cmp esi, 0x5d
jne 0x4bb9ca
cmp dword [ebp - 0x2018], 7
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
jne 0x4bb9a6
push dword [ebp + 0xc]
call fcn.00475ef0
mov dword [ebp - 0x2018], 6
lea ebx, [esi - 0x48]
jmp 0x4bd799
mov ebx, dword [ebp + 0xc]
lea eax, [ebx - 1]
push eax
call fcn.00475ef0
push 0x1a
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 0x15
jmp 0x4bd799
cmp dword [ebp - 0x2018], 7
jne case.0x4bb7a6.1
cmp esi, 0x21
jne 0x4bba13
cmp eax, 0x3c
jne case.0x4bb7a6.1
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
lea eax, [ebx - 2]
push eax
call fcn.00475ef0
push 0x15
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
lea ebx, [esi - 0xb]
jmp 0x4bd799
cmp esi, 0x3e
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
push 0x15
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
jmp case.0x4bb7a6.1
cmp esi, 0x2d
jne 0x4bba5f
cmp dword [ebp - 0x2010], esi
jne 0x4bba5f
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffe
jmp 0x4bb8b9
mov ecx, esi
call fcn.004b86a0
test al, al
jne case.0x4bb7a6.1
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x98]
dec esi
push eax
mov eax, dword [ebp - 0x203c]
mov edx, esi
add eax, 0x1468
push eax
call fcn.004b8380
add esp, 8
test al, al
je 0x4bbab5
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.00475ef0
mov ebx, 0x17
jmp 0x4bd799
mov ebx, 0x1a
jmp 0x4bd799
cmp esi, 0x2d
jne 0x4bbaff
cmp dword [ebp - 0x2010], esi
jne 0x4bbaff
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffe
cmp ecx, 7
lea ecx, [ebp - 0x1ff8]
jne 0x4bbaed
push 0x1f
push eax
call fcn.00475ef0
lea ebx, [esi - 0xf]
jmp 0x4bd799
push 0x15
push eax
call fcn.00475ef0
mov ebx, 0x1e
jmp 0x4bd799
mov ecx, esi
call fcn.004b86a0
test al, al
je case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
dec eax
cmp dword [ebp - 0x2018], 7
jne 0x4bbb25
push 0x1f
jmp 0x4bbb27
push 0x15
push eax
call fcn.00475ef0
mov esi, dword [ebp - 0x104c]
mov edi, 1
mov edx, dword [ebp - 0x1050]
mov ebx, dword [ebp - 0x2024]
cmp ebx, edx
jl 0x4bbb4c
cmp ebx, esi
jl 0x4bbb6c
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
mov edx, dword [ebp - 0x1050]
mov esi, dword [ebp - 0x104c]
cmp ebx, edx
jl 0x4bbb79
cmp ebx, esi
jge 0x4bbb79
mov eax, ebx
sub eax, edx
mov al, byte [ebp + eax - 0x1ff4]
jmp 0x4bbb7b
mov al, 0x20
movzx ecx, al
cmp ecx, dword [ebp - 0x208c]
jge 0x4bbb91
mov eax, dword [ebp - 0x2084]
mov al, byte [eax + ecx]
jmp 0x4bbb97
mov al, byte [ebp - 0x2088]
test al, al
je 0x4bbb9f
inc edi
inc ebx
jmp 0x4bbb44
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
mov dword [ebp - 0x2024], ebx
add eax, edi
push eax
call fcn.00475ef0
mov eax, dword [ebp - 0x2028]
dec ebx
dec eax
mov dword [ebp + 0xc], ebx
add eax, edi
mov dword [ebp - 0x2028], eax
cmp ebx, dword [ebp - 0x1050]
jl 0x4bbbe0
cmp ebx, dword [ebp - 0x104c]
jl 0x4bbbfc
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.004727c0
cmp ebx, dword [ebp - 0x1050]
jl 0x4bbc0d
cmp ebx, dword [ebp - 0x104c]
jge 0x4bbc0d
mov eax, ebx
sub eax, dword [ebp - 0x1050]
mov al, byte [ebp + eax - 0x1ff4]
jmp 0x4bbc0f
mov al, 0x20
mov ebx, dword [ebp - 0x2018]
mov esi, dword [ebp + 0xc]
sub ebx, 7
neg ebx
movzx edi, al
sbb ebx, ebx
and ebx, 0xfffffff6
add ebx, 0x1f
ret
pop ds
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
cmp esi, 0x2d
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], esi
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffe
jmp 0x4bb8b9
cmp esi, 0x22
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 0x15
jmp 0x4bd799
cmp esi, 0x27
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi - 0x12]
jmp 0x4bd799
cmp esi, 0x2d
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], esi
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi - 0x18]
jmp 0x4bd799
cmp dword [ebp - 0x2070], 0x5d
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], 0x5d
jne case.0x4bb7a6.1
cmp esi, 0x3e
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
xor ebx, ebx
dec dword [ebp - 0x200c]
jmp 0x4bd799
cmp ecx, 8
je case.0x4bb7a6.1
cmp dword [ebp - 0x2070], 0x2d
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], 0x2d
jmp 0x4bbce4
cmp esi, 0x2d
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], esi
jne case.0x4bb7a6.1
push 0x1d
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
lea ebx, [esi - 0x16]
jmp 0x4bd799
cmp esi, 0x7f
ja 0x4bbd77
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
add esp, 4
test eax, eax
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 5
add ebx, 0x15
jmp 0x4bd799
cmp esi, 0x3b
je 0x4bbc5c
cmp esi, 0x7f
ja 0x4bbdc8
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
test eax, eax
jne case.0x4bb7a6.1
cmp esi, 0x2d
je case.0x4bb7a6.1
cmp esi, 0x2e
je case.0x4bb7a6.1
push 0x1a
jmp 0x4bbc62
cmp esi, 0x3b
jne 0x4bbe04
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
jmp 0x4bbe19
cmp esi, 0x23
je case.0x4bb7a6.1
test esi, esi
js 0x4bbe2b
cmp esi, 0x80
jge 0x4bbe2b
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
test eax, eax
jne case.0x4bb7a6.1
cmp esi, 0x2e
je case.0x4bb7a6.1
cmp esi, 0x2d
je case.0x4bb7a6.1
cmp esi, 0x5f
je case.0x4bb7a6.1
cmp esi, 0x3a
je case.0x4bb7a6.1
lea ecx, [ebp - 0x1ff8]
push 2
cmp esi, 0x7f
jbe 0x4bbe6d
mov eax, dword [ebp + 0xc]
dec eax
push eax
call fcn.00475ef0
xor ebx, ebx
jmp 0x4bd799
push dword [ebp + 0xc]
call fcn.00475ef0
xor ebx, ebx
jmp 0x4bd799
test esi, esi
js 0x4bbea1
cmp esi, dword [ebp - 0x20b0]
jge 0x4bbe93
mov eax, dword [ebp - 0x20a8]
mov al, byte [eax + esi]
jmp 0x4bbe99
mov al, byte [ebp - 0x20ac]
test al, al
jne case.0x4bb7a6.1
cmp esi, 0x2f
jne 0x4bbeb3
cmp dword [ebp - 0x2010], 0x3c
je case.0x4bb7a6.1
mov edx, dword [ebp - 0x203c]
mov esi, dword [ebp + 0xc]
dec esi
mov cl, byte [edx + 0x14]
lea eax, [edx + 0x18c0]
push eax
push dword [ebp - 0x2090]
lea eax, [ebp - 0x2036]
push ecx
push dword [ebp - 0x2094]
mov ecx, dword [ebp - 0x98]
push eax
lea eax, [ebp - 0x1ff8]
push eax
lea eax, [edx + 0x18]
mov edx, esi
push eax
call fcn.004b7a10
add esp, 0x1c
cmp eax, 0xe
je 0x4bbf00
cmp eax, 9
jne 0x4bbf41
cmp byte [ebp - 0x2048], 0
jne 0x4bbf32
mov dword [ebp - 0x2008], 1
cmp eax, 0xe
jne 0x4bbf26
mov eax, dword [ebp - 0x2078]
mov dword [ebp - 0x2018], eax
jmp 0x4bbf3c
mov dword [ebp - 0x2018], 8
jmp 0x4bbf3c
mov dword [ebp - 0x2018], 0
mov eax, 1
mov edi, dword [ebp - 0x1ffc]
cmp edi, 0x3e
jne 0x4bbffc
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
cmp dword [ebp - 0x2008], 1
jne 0x4bbfae
mov eax, dword [ebp - 0x2018]
add eax, 0xfffffffe
cmp eax, 6
ja case.0x4bbf76.7
jmp dword [eax*4 + 0x4be150]
mov ebx, 0x46
jmp 0x4bbfb0
mov ebx, 0x5a
jmp 0x4bbfb0
mov ebx, 0x76
jmp 0x4bbfb0
mov ebx, 2
jmp 0x4bbfb0
mov ebx, 0x15
jmp 0x4bbfb0
mov ebx, 9
jmp 0x4bbfb0
mov ebx, 0x28
jmp 0x4bbfb0
xor ebx, ebx
cmp byte [ebp - 0x201d], 0
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x205c], 0
jne 0x4bbff0
cmp byte [ebp - 0x2036], 0
jne 0x4bbff0
cmp byte [ebp - 0x2048], 0
je 0x4bbfea
dec dword [ebp - 0x200c]
mov byte [ebp - 0x2048], 0
jmp 0x4bd7a5
inc dword [ebp - 0x200c]
mov byte [ebp - 0x2048], 0
jmp 0x4bd7a5
cmp edi, 0x2f
jne 0x4bc059
cmp dword [ebp - 0x201c], 0x3e
jne 0x4bc059
lea ecx, [ebp - 0x1ff8]
cmp eax, 2
jne 0x4bc018
push eax
jmp 0x4bc02c
push dword [ebp - 0x2004]
push esi
call fcn.00475ef0
push 0xb
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2024]
call fcn.00475ef0
mov eax, dword [ebp - 0x2024]
xor ebx, ebx
mov edi, dword [ebp - 0x201c]
cmp byte [ebp - 0x201d], bl
mov dword [ebp + 0xc], eax
mov byte [ebp - 0x205c], bl
jmp 0x4bd526
cmp eax, 2
je 0x4bd7a5
lea ebx, [eax - 0x15]
neg ebx
sbb ebx, ebx
and ebx, 0xfffffff3
add ebx, 0x15
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
test esi, esi
js 0x4bc09f
cmp esi, dword [ebp - 0x20a4]
jge 0x4bc091
mov eax, dword [ebp - 0x209c]
mov al, byte [eax + esi]
jmp 0x4bc097
mov al, byte [ebp - 0x20a0]
test al, al
jne case.0x4bb7a6.1
mov ebx, dword [ebp + 0xc]
cmp edx, 1
jne 0x4bc0ee
mov edx, dword [ebp - 0x98]
lea eax, [ebx - 1]
push ecx
mov esi, ecx
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.004b75d0
add esp, 8
mov dword [ebp - 0x2078], eax
cmp esi, eax
mov dword [ebp - 0x2018], eax
mov esi, dword [ebp - 0x1ffc]
je 0x4bc0ee
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, dword [ebp - 0x2008]
mov edi, ecx
mov dword [ebp - 0x2008], edi
jmp 0x4bc0f4
mov edi, dword [ebp - 0x2008]
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
lea edx, [ebx - 1]
add eax, 0x18
push eax
call fcn.004b7930
add esp, 8
cmp esi, 0x3e
jne 0x4bc1bf
push 1
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
cmp edi, 1
jne 0x4bc171
mov eax, dword [ebp - 0x2018]
add eax, 0xfffffffe
cmp eax, 6
ja case.0x4bc140.7
jmp dword [eax*4 + 0x4be16c]
mov ebx, 0x46
jmp 0x4bc173
mov ebx, 0x76
jmp 0x4bc173
mov ebx, 2
jmp 0x4bc173
mov ebx, 0x15
jmp 0x4bc173
mov ebx, 9
jmp 0x4bc173
mov ebx, 0x28
jmp 0x4bc173
xor ebx, ebx
cmp byte [ebp - 0x201d], 0
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x205c], 0
jne 0x4bc1b3
cmp byte [ebp - 0x2036], 0
jne 0x4bc1b3
cmp byte [ebp - 0x2048], 0
je 0x4bc1ad
dec dword [ebp - 0x200c]
mov byte [ebp - 0x2048], 0
jmp case.0x4bb7a6.1
inc dword [ebp - 0x200c]
mov byte [ebp - 0x2048], 0
jmp case.0x4bb7a6.1
cmp esi, 0x3d
jne 0x4bc3b7
push 8
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
lea ebx, [esi - 0x2a]
jmp 0x4bd799
cmp esi, 0x3e
jne 0x4bc239
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
lea eax, [ebx - 1]
push eax
call fcn.00475ef0
push 1
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
cmp dword [ebp - 0x2008], 1
jne 0x4bc171
mov eax, dword [ebp - 0x2018]
add eax, 0xfffffffe
cmp eax, 6
ja case.0x4bc140.7
jmp dword [eax*4 + 0x4be188]
mov ebx, 0x5a
jmp 0x4bc173
cmp esi, 0x22
jne 0x4bc25c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
lea ebx, [esi - 0x1c]
jmp 0x4bd799
cmp esi, 0x27
jne 0x4bc27f
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
lea ebx, [esi - 0x20]
jmp 0x4bd799
cmp esi, 0x3d
jne 0x4bc2a0
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi - 0x2a]
jmp 0x4bd799
cmp esi, 0x2f
jne 0x4bc2ee
cmp edi, 0x3e
jne 0x4bc33a
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, dword [ebp - 0x2024]
lea ecx, [ebp - 0x1ff8]
push 0xb
push ebx
call fcn.00475ef0
mov dword [ebp + 0xc], ebx
xor ebx, ebx
cmp byte [ebp - 0x201d], bl
mov byte [ebp - 0x205c], bl
jmp 0x4bd526
cmp esi, 0x3f
jne 0x4bc332
cmp edi, 0x3e
jne 0x4bc33a
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, dword [ebp - 0x2024]
lea ecx, [ebp - 0x1ff8]
push 0xd
push ebx
call fcn.00475ef0
mov dword [ebp + 0xc], ebx
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
test esi, esi
js case.0x4bb7a6.1
cmp esi, dword [ebp - 0x208c]
jge 0x4bc34d
mov eax, dword [ebp - 0x2084]
mov al, byte [eax + esi]
jmp 0x4bc353
mov al, byte [ebp - 0x2088]
test al, al
je case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 3
jmp 0x4bd799
cmp esi, 0x22
jne case.0x4bb7a6.1
cmp edx, 1
jne 0x4bc3a7
mov edx, dword [ebp - 0x98]
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.004b75d0
add esp, 8
mov dword [ebp - 0x2018], eax
push 6
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 8
jmp 0x4bd799
cmp esi, 0x27
jne case.0x4bb7a6.1
cmp edx, 1
jne 0x4bc3ed
mov edx, dword [ebp - 0x98]
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.004b75d0
add esp, 8
mov dword [ebp - 0x2018], eax
push 7
jmp 0x4bc3a9
test esi, esi
js 0x4bc416
cmp esi, dword [ebp - 0x208c]
jge 0x4bc408
mov eax, dword [ebp - 0x2084]
mov al, byte [eax + esi]
jmp 0x4bc40e
mov al, byte [ebp - 0x2088]
test al, al
jne case.0x4bb7a6.1
cmp esi, 0x22
jne 0x4bc42c
cmp dword [ebp - 0x2010], 0x3d
jne 0x4bc442
lea ebx, [esi - 0x1c]
jmp 0x4bd799
cmp esi, 0x27
jne 0x4bc442
cmp dword [ebp - 0x2010], 0x3d
jne 0x4bc442
lea ebx, [esi - 0x20]
jmp 0x4bd799
mov ecx, dword [ebp - 0x98]
lea edx, [ebp - 0x1ff8]
call fcn.004b7880
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
test al, al
lea eax, [ebx - 1]
je 0x4bc467
push 5
jmp 0x4bc46d
push dword [ebp - 0x2004]
push eax
call fcn.00475ef0
cmp esi, 0x3e
jne 0x4bc3b7
push 1
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
cmp dword [ebp - 0x2008], 1
jne 0x4bc4a2
mov ecx, dword [ebp - 0x2018]
call fcn.004b8640
mov ebx, eax
jmp 0x4bc4a4
xor ebx, ebx
cmp byte [ebp - 0x2036], 0
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x205c], 0
jne 0x4bc1b3
cmp byte [ebp - 0x2048], 0
je 0x4bc1ad
dec dword [ebp - 0x200c]
mov byte [ebp - 0x2048], 0
jmp case.0x4bb7a6.1
mov ecx, esi
call fcn.004b72c0
test al, al
je 0x4bc508
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x2e
jmp 0x4bd799
cmp esi, 0x2f
jne 0x4bc5bc
cmp edi, 0x2a
jne 0x4bc55e
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
xor ebx, ebx
cmp dword [ebp - 0x2034], edi
sete bl
lea ebx, [ebx*2 + 0x2a]
mov dword [ebp - 0x2000], ebx
cmp dword [ebp - 0x2034], esi
jne case.0x4bb7a6.1
mov eax, dword [ebp - 0x2024]
mov dword [ebp + 0xc], eax
jmp case.0x4bb7a6.1
cmp edi, 0x2f
jne 0x4bc583
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x2b
jmp 0x4bd799
push dword [ebp - 0x207c]
lea ecx, [ebp - 0x20bc]
call fcn.0047c4d0
test al, al
je 0x4bc631
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x34
jmp 0x4bd799
cmp esi, 0x22
jne 0x4bc5df
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
lea ebx, [esi + 0xe]
jmp 0x4bd799
cmp esi, 0x27
jne 0x4bc602
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
lea ebx, [esi + 0xa]
jmp 0x4bd799
cmp esi, 0x3c
jne 0x4bc67f
cmp edi, 0x21
jne 0x4bc631
cmp dword [ebp - 0x2034], 0x2d
jne 0x4bc631
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push 0x20
add eax, 3
push eax
call fcn.00474ec0
cmp al, 0x2d
je 0x4bc563
mov ecx, esi
call fcn.004b72f0
test al, al
je 0x4bc6c0
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
lea eax, [ebx - 1]
push eax
call fcn.00475ef0
mov edx, dword [ebp - 0x2008]
mov ecx, 0x32
call fcn.004b7840
push eax
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 0x29
jmp 0x4bd799
cmp esi, 0x2d
jne 0x4bc631
cmp edi, esi
jne 0x4bc631
cmp dword [ebp - 0x2034], 0x3e
jne 0x4bc631
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov eax, dword [ebp - 0x2040]
mov ebx, 0x2b
mov dword [ebp - 0x2000], ebx
mov dword [ebp + 0xc], eax
jmp case.0x4bb7a6.1
cmp esi, 0x20
je 0x4bc6ce
cmp esi, 9
jne case.0x4bb7a6.1
cmp ebx, 0x28
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x29
jmp 0x4bd799
mov ecx, esi
call fcn.004b7290
test al, al
jne case.0x4bb7a6.1
push dword [ebp - 0x2008]
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
lea ecx, [ebp - 0x1ff8]
add eax, 0x428
dec esi
push eax
call fcn.00474f10
mov edx, esi
mov ecx, eax
call fcn.004b7d60
mov edi, dword [ebp - 0x1ffc]
add esp, 0xc
mov ebx, 0x29
mov dword [ebp - 0x2000], ebx
cmp edi, 0x2f
jne 0x4bc78d
mov eax, dword [ebp - 0x201c]
cmp eax, 0x2a
jne 0x4bc778
xor ebx, ebx
cmp dword [ebp - 0x2034], eax
sete bl
ret
lea ebx, [ebx*2 + 0x2a]
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp eax, 0x2f
jne 0x4bc7f8
mov ebx, 0x2b
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp edi, 0x22
jne 0x4bc7a2
mov ebx, 0x30
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp edi, 0x27
jne 0x4bc7b7
mov ebx, 0x31
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp edi, 0x2d
jne 0x4bc7f8
cmp dword [ebp - 0x201c], edi
jne 0x4bc7f8
cmp dword [ebp - 0x2034], 0x3e
jne 0x4bc7f8
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.00475ef0
mov eax, dword [ebp - 0x2040]
mov ebx, 0x2b
mov dword [ebp - 0x2000], ebx
mov dword [ebp + 0xc], eax
jmp 0x4bd7a5
mov ecx, edi
call fcn.004b72f0
test al, al
je 0x4bd7a5
mov edx, dword [ebp - 0x2008]
mov ecx, 0x32
call fcn.004b7840
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp esi, 0x2f
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], 0x2a
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 0x29
mov dword [ebp - 0x2000], ebx
lea edi, [ebx - 9]
jmp 0x4bd7a5
cmp esi, 0xd
je 0x4bc87c
cmp esi, 0xa
jne case.0x4bb7a6.1
mov esi, dword [ebp + 0xc]
mov ecx, 0x2b
dec esi
call fcn.004b7840
push eax
push esi
jmp 0x4bc850
cmp esi, 0x5c
jne 0x4bc8b3
cmp edi, 0x22
je 0x4bc8a5
cmp edi, 0x27
je 0x4bc8a5
cmp edi, esi
jne case.0x4bb7a6.1
mov eax, dword [ebp - 0x2024]
mov dword [ebp + 0xc], eax
jmp case.0x4bb7a6.1
cmp esi, 0x22
jne 0x4bc8d9
lea ecx, [esi + 0xe]
call fcn.004b7840
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 0x29
jmp 0x4bd799
cmp edx, 1
jne 0x4bc8f4
cmp esi, 0x2d
jne 0x4bc8f4
cmp edi, esi
jne 0x4bc8f4
cmp dword [ebp - 0x2034], 0x3e
je 0x4bc691
mov ecx, esi
call fcn.004b8740
test al, al
je case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x33
jmp 0x4bd799
cmp esi, 0x5c
jne 0x4bc948
cmp edi, 0x22
je 0x4bc93a
cmp edi, 0x27
je 0x4bc93a
cmp edi, esi
jne case.0x4bb7a6.1
mov eax, dword [ebp - 0x2024]
mov dword [ebp + 0xc], eax
jmp case.0x4bb7a6.1
cmp esi, 0x27
jne 0x4bc955
lea ecx, [esi + 0xa]
jmp 0x4bc8bb
cmp edx, 1
jne 0x4bc970
cmp esi, 0x2d
jne 0x4bc970
cmp edi, esi
jne 0x4bc970
cmp dword [ebp - 0x2034], 0x3e
je 0x4bc691
mov ecx, esi
call fcn.004b8740
test al, al
je case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov eax, dword [ebp - 0x2010]
cmp eax, 0x5c
je case.0x4bb7a6.1
cmp dword [ebp - 0x2070], 0x5c
jne 0x4bc9bb
cmp eax, 0xd
jne 0x4bc9bb
cmp esi, 0xa
je case.0x4bb7a6.1
mov ebx, 0x33
jmp 0x4bd799
mov ecx, esi
call fcn.004b8740
test al, al
je 0x4bc6d7
mov ecx, edi
call fcn.004b8740
test al, al
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
mov ebx, 0x29
jmp 0x4bd799
cmp esi, 0xd
je 0x4bca4c
cmp esi, 0xa
je 0x4bca4c
cmp esi, 0x2f
je 0x4bca51
cmp esi, 0x5c
jne case.0x4bb7a6.1
cmp edi, esi
je 0x4bca26
cmp edi, 0x2f
jne case.0x4bb7a6.1
mov eax, dword [ebp - 0x2024]
mov dword [ebp + 0xc], eax
lea ecx, [ebp - 0x1ff8]
push 0x20
inc eax
push eax
call fcn.00474ec0
movzx eax, al
mov dword [ebp - 0x201c], eax
jmp 0x4bd7a5
cmp esi, 0x2f
jne 0x4bcaa6
mov ecx, edi
call fcn.004200c0
test al, al
je 0x4bcaa6
lea esp, [esp]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
add esp, 4
test eax, eax
je 0x4bcaa0
mov eax, dword [ebp - 0x2024]
lea ecx, [ebp - 0x1ff8]
mov dword [ebp + 0xc], eax
inc eax
push 0x20
push eax
mov dword [ebp - 0x1ffc], edi
mov dword [ebp - 0x2024], eax
call fcn.00474ec0
movzx edi, al
mov ecx, edi
call fcn.004200c0
test al, al
jne 0x4bca60
mov dword [ebp - 0x201c], edi
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
mov ebx, 0x29
jmp 0x4bd799
mov ecx, esi
call fcn.004b72c0
test al, al
je 0x4bcaef
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x4a
jmp 0x4bd799
cmp esi, 0x27
jne 0x4bcb14
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x48
jmp 0x4bd799
cmp esi, 0x22
jne 0x4bcb37
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
lea ebx, [esi + 0x29]
jmp 0x4bd799
cmp esi, 0x3c
jne 0x4bcb62
cmp edi, 0x21
jne 0x4bcb62
cmp dword [ebp - 0x2034], 0x2d
jne 0x4bcb62
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push 0x20
add eax, 3
push eax
call fcn.00474ec0
cmp al, 0x2d
je 0x4bcaf4
mov ecx, esi
call fcn.004b72f0
test al, al
je 0x4bcbac
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
lea eax, [ebx - 1]
push eax
call fcn.00475ef0
mov edx, dword [ebp - 0x2008]
mov ecx, 0x47
call fcn.004b7840
push eax
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 0x47
jmp 0x4bd799
cmp esi, 0x20
je 0x4bcbba
cmp esi, 9
jne case.0x4bb7a6.1
cmp ebx, 0x46
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x47
jmp 0x4bd799
mov ecx, esi
call fcn.004b7290
test al, al
jne case.0x4bb7a6.1
push dword [ebp - 0x2008]
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
lea ecx, [ebp - 0x1ff8]
add eax, 0x838
push eax
call fcn.00474f10
lea edx, [esi - 1]
mov ecx, eax
call fcn.004b7e50
mov edi, dword [ebp - 0x1ffc]
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x2000], ebx
cmp ebx, 0x47
jne 0x4bd7a5
cmp edi, 0x22
jne 0x4bcc52
mov ebx, 0x4b
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp edi, 0x27
jne 0x4bcc67
mov ebx, 0x48
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
mov ecx, edi
call fcn.004b72f0
test al, al
je 0x4bd7a5
mov edx, dword [ebp - 0x2008]
mov ecx, 0x47
call fcn.004b7840
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 0x47
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp esi, 0x22
jne 0x4bccc6
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi + 0x25]
jmp 0x4bd799
cmp esi, 0xd
je 0x4bccd4
cmp esi, 0xa
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x4d
jmp 0x4bd799
cmp esi, 0xd
je 0x4bcbc3
cmp esi, 0xa
jmp 0x4bcbbd
mov ecx, esi
call fcn.004b8740
test al, al
je 0x4bcbc3
mov ecx, edi
call fcn.004b8740
test al, al
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
mov ebx, 0x47
jmp 0x4bd799
mov ecx, esi
call fcn.004b72c0
test al, al
je 0x4bcd6c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x60
jmp 0x4bd799
cmp esi, 0x3c
jne 0x4bcdc3
cmp edi, 0x21
jne 0x4bce6c
cmp dword [ebp - 0x2034], 0x2d
jne 0x4bce6c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push 0x20
add eax, 3
push eax
call fcn.00474ec0
cmp al, 0x2d
jne 0x4bce6c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x5c
jmp 0x4bd799
cmp esi, 0x23
je 0x4bcda3
cmp esi, 0x22
jne 0x4bce1a
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
cmp edi, esi
jne 0x4bce10
cmp dword [ebp - 0x2034], esi
jne 0x4bce10
mov eax, dword [ebp - 0x2040]
mov ebx, 0x62
mov edi, 0x20
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2010], edi
jmp 0x4bca2c
mov ebx, 0x5e
jmp 0x4bd799
cmp esi, 0x27
jne 0x4bce6c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
cmp edi, esi
jne 0x4bce62
cmp dword [ebp - 0x2034], esi
jne 0x4bce62
mov eax, dword [ebp - 0x2040]
mov ebx, 0x61
mov edi, 0x20
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2010], edi
jmp 0x4bca2c
mov ebx, 0x5f
jmp 0x4bd799
mov ecx, esi
call fcn.004b72f0
test al, al
je 0x4bceb1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov edx, dword [ebp - 0x2008]
mov ecx, 0x65
call fcn.004b7840
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
jmp case.0x4bb7a6.1
cmp esi, 0x20
je 0x4bcebf
cmp esi, 9
jne case.0x4bb7a6.1
cmp ebx, 0x5a
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x5b
jmp 0x4bd799
mov ecx, esi
call fcn.004b7290
test al, al
jne case.0x4bb7a6.1
push dword [ebp - 0x202c]
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x58]
push dword [ebp - 0x2008]
lea ecx, [ebp - 0x1ff8]
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
add eax, 0xc48
push eax
call fcn.00474f10
lea edx, [esi - 1]
mov ecx, eax
call fcn.004b7fb0
mov edi, dword [ebp - 0x1ffc]
add esp, 0x14
mov ebx, 0x5b
mov dword [ebp - 0x2000], ebx
cmp edi, 0x23
jne 0x4bcf5b
mov ebx, 0x5c
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp edi, 0x22
jne 0x4bcfa1
cmp dword [ebp - 0x201c], edi
jne 0x4bcf91
cmp dword [ebp - 0x2034], edi
jne 0x4bcf91
mov eax, dword [ebp - 0x2040]
mov ebx, 0x62
mov edi, 0x20
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2010], edi
jmp 0x4bca2c
mov ebx, 0x5e
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp edi, 0x27
jne 0x4bcfca
cmp dword [ebp - 0x201c], edi
jne 0x4bcfba
cmp dword [ebp - 0x2034], edi
je 0x4bce41
mov ebx, 0x5f
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
mov ecx, edi
call fcn.004b72f0
test al, al
je 0x4bd7a5
mov edx, dword [ebp - 0x2008]
mov ecx, 0x65
call fcn.004b7840
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
jmp 0x4bd7a5
cmp esi, 0xd
je 0x4bcec8
cmp esi, 0xa
jmp 0x4bcec2
cmp esi, 0x5c
jne 0x4bd02d
cmp edi, 0x22
je 0x4bca26
cmp edi, 0x27
je 0x4bca26
cmp edi, 0x5c
jmp 0x4bca20
cmp esi, 0x22
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi + 0x39]
jmp 0x4bd799
cmp esi, 0x5c
je 0x4bd013
cmp esi, 0x27
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi + 0x34]
jmp 0x4bd799
cmp esi, 0x27
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], esi
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2070], esi
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi + 0x34]
jmp 0x4bd799
cmp esi, 0x22
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], esi
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2070], esi
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi + 0x39]
jmp 0x4bd799
mov ecx, esi
call fcn.004b7290
test al, al
jne case.0x4bb7a6.1
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
lea ecx, [ebp - 0x1ff8]
add eax, 0x1058
push eax
call fcn.00474f10
lea edx, [esi - 1]
mov ecx, eax
call fcn.004b8230
mov edi, dword [ebp - 0x1ffc]
add esp, 8
cmp edi, 0x2f
jne 0x4bd180
mov esi, dword [ebp - 0x201c]
cmp esi, 0x2a
jne 0x4bd162
mov eax, dword [ebp - 0x2024]
mov ebx, 0x7c
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp esi, 0x2f
jne 0x4bd1bd
mov eax, dword [ebp - 0x2024]
mov ebx, 0x7d
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp edi, 0x23
jne 0x4bd195
mov ebx, 0x7d
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
cmp edi, 0x22
jne 0x4bd1b7
mov ebx, 0x77
lea ecx, [ebp - 0x28]
push 0x5b9bb4
mov dword [ebp - 0x2000], ebx
call fcn.00415bc0
jmp 0x4bd7a5
mov esi, dword [ebp - 0x201c]
push 0x5b9bb8
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00479100
test al, al
je 0x4bd23e
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x2011]
push eax
lea eax, [ebp - 0x1ff8]
mov byte [ebp - 0x2011], 0
push eax
push dword [ebp - 0x2064]
lea edx, [edx + 3]
lea ecx, [ebp - 0x28]
call fcn.004b8910
add esp, 0xc
mov dword [ebp + 0xc], eax
lea ecx, [ebp - 0x28]
call fcn.004145e0
test al, al
jne 0x4bd7a5
xor ebx, ebx
cmp byte [ebp - 0x2011], bl
setne bl
ret
add ebx, 0x77
mov dword [ebp - 0x2000], ebx
cmp byte [ebp - 0x2037], al
je 0x4bd7a5
inc dword [ebp - 0x200c]
jmp 0x4bd7a5
cmp edi, 0x27
jne 0x4bd260
mov ebx, 0x78
lea ecx, [ebp - 0x28]
push 0x5b9ba0
mov dword [ebp - 0x2000], ebx
call fcn.00415bc0
jmp 0x4bd7a5
cmp edi, 0x24
jne 0x4bd280
mov ecx, esi
call fcn.004b86e0
test al, al
je 0x4bd280
mov ebx, 0x7b
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
mov ecx, edi
call fcn.004b72f0
movzx ebx, al
neg ebx
sbb ebx, ebx
and ebx, 9
add ebx, 0x76
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
mov ecx, esi
call fcn.004200b0
test al, al
jne case.0x4bb7a6.1
push esi
push 0x5b9ba4
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 8
test eax, eax
jne case.0x4bb7a6.1
cmp esi, 0x2d
je 0x4bd2cf
cmp esi, 0x2b
jne 0x4bd2e7
mov eax, dword [ebp - 0x2010]
cmp eax, 0x65
je case.0x4bb7a6.1
cmp eax, 0x45
je case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
dec eax
push 0x7a
push eax
call fcn.00475ef0
mov ecx, esi
call fcn.004b72f0
movzx ebx, al
neg ebx
sbb ebx, ebx
and ebx, 9
add ebx, 0x76
jmp 0x4bd799
mov ecx, edi
call fcn.004b8710
test al, al
jne case.0x4bb7a6.1
push 0x7b
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov ebx, 0x76
jmp 0x4bd799
cmp esi, 0x2f
jne case.0x4bb7a6.1
cmp dword [ebp - 0x2010], 0x2a
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
jmp 0x4bd323
cmp esi, 0xd
je 0x4bd367
cmp esi, 0xa
jne case.0x4bb7a6.1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x76
jmp 0x4bd799
cmp esi, 0x5c
jne 0x4bd3bd
mov edx, 0x5b9bc4
lea ecx, [ebp - 0x28]
call fcn.0045c870
test al, al
jne 0x4bc93a
cmp edi, 0x24
je 0x4bc93a
cmp edi, 0x7b
jne 0x4bd3c7
mov eax, dword [ebp - 0x2024]
mov dword [ebp + 0xc], eax
jmp case.0x4bb7a6.1
cmp esi, 0x7b
jne 0x4bd402
cmp edi, 0x24
je 0x4bd40c
lea ecx, [ebp - 0x28]
call fcn.004145f0
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00479100
test al, al
je case.0x4bb7a6.1
mov edx, 0x5b9bc8
lea ecx, [ebp - 0x28]
call fcn.0045c870
test al, al
je 0x4bd46f
push dword [ebp - 0x2004]
jmp 0x4bd323
cmp esi, 0x24
jne 0x4bd3c7
cmp edi, 0x7b
jne 0x4bd440
mov ecx, dword [ebp - 0x2034]
call fcn.004b86e0
test al, al
je 0x4bd43b
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x68
jmp 0x4bd799
cmp esi, 0x24
jne 0x4bd3c7
mov ecx, edi
call fcn.004b86e0
test al, al
je 0x4bd3c7
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ebx, 0x7e
jmp 0x4bd799
mov ecx, dword [ebp - 0x2010]
call fcn.004b8740
test al, al
je case.0x4bb7a6.1
lea ecx, [ebp - 0x28]
call fcn.0040a7f0
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
mov esi, eax
push 0x20
add edi, esi
push edi
call fcn.00474ec0
push 0x20
lea ecx, [edi + 1]
mov byte [ebp - 0x2011], al
push ecx
lea ecx, [ebp - 0x1ff8]
call fcn.00474ec0
movsx ecx, byte [ebp - 0x2011]
mov byte [ebp - 0x2041], al
call fcn.004b8740
test al, al
jne 0x4bd4ed
cmp byte [ebp - 0x2011], 0x3b
jne case.0x4bb7a6.1
movsx ecx, byte [ebp - 0x2041]
call fcn.004b8740
test al, al
je case.0x4bb7a6.1
mov eax, dword [ebp - 0x2064]
cmp edi, eax
jl 0x4bd4f9
mov esi, eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
add eax, esi
push eax
mov dword [ebp + 0xc], eax
call fcn.00475ef0
mov edi, dword [ebp - 0x1ffc]
mov ebx, 0x76
cmp byte [ebp - 0x2037], 0
mov dword [ebp - 0x2000], ebx
je 0x4bd7a5
dec dword [ebp - 0x200c]
jmp 0x4bd7a5
mov edx, 0x5b9bbc
lea ecx, [ebp - 0x28]
call fcn.0045c870
test al, al
je 0x4bd575
cmp esi, 0x5c
jne 0x4bd561
mov eax, dword [ebp - 0x2024]
mov dword [ebp + 0xc], eax
jmp case.0x4bb7a6.1
cmp esi, 0x27
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
jmp 0x4bd323
mov ecx, dword [ebp - 0x2010]
call fcn.004b8740
test al, al
je case.0x4bb7a6.1
lea ecx, [ebp - 0x28]
call fcn.004145f0
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00479100
jmp 0x4bd47a
mov ecx, edi
call fcn.004b8710
test al, al
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
mov ebx, 0x77
jmp 0x4bd799
cmp esi, 0x7d
jne case.0x4bb7a6.1
push dword [ebp - 0x2004]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00475ef0
lea ebx, [esi - 6]
jmp 0x4bd799
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2004]
dec eax
push eax
call fcn.00475ef0
mov ecx, esi
call fcn.004200b0
test al, al
jne 0x4bd794
cmp esi, 0x2e
jne 0x4bd62f
mov ecx, edi
call fcn.004200b0
test al, al
jne 0x4bd794
mov ecx, esi
call fcn.004b72c0
test al, al
je 0x4bd644
mov ebx, 0x79
jmp 0x4bd799
cmp esi, 0x2f
jne 0x4bd675
cmp edi, 0x2a
jne 0x4bd65f
mov eax, dword [ebp - 0x2024]
lea ebx, [esi + 0x4d]
mov dword [ebp + 0xc], eax
jmp 0x4bd799
cmp edi, 0x2f
jne 0x4bd6a4
mov eax, dword [ebp - 0x2024]
lea ebx, [edi + 0x4e]
mov dword [ebp + 0xc], eax
jmp 0x4bd799
cmp esi, 0x23
jne 0x4bd682
lea ebx, [esi + 0x5a]
jmp 0x4bd799
cmp esi, 0x22
jne 0x4bd6a4
mov ebx, 0x77
lea ecx, [ebp - 0x28]
push 0x5b9bc0
mov dword [ebp - 0x2000], ebx
call fcn.00415bc0
jmp case.0x4bb7a6.1
push 0x5b9bdc
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00479100
test al, al
je 0x4bd72b
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x2011]
push eax
lea eax, [ebp - 0x1ff8]
mov byte [ebp - 0x2011], 0
push eax
push dword [ebp - 0x2064]
lea edx, [edx + 3]
lea ecx, [ebp - 0x28]
call fcn.004b8910
add esp, 0xc
mov dword [ebp + 0xc], eax
lea ecx, [ebp - 0x28]
call fcn.004145e0
test al, al
jne case.0x4bb7a6.1
mov edi, dword [ebp - 0x1ffc]
xor ebx, ebx
cmp byte [ebp - 0x2011], bl
setne bl
add ebx, 0x77
mov dword [ebp - 0x2000], ebx
cmp byte [ebp - 0x2037], al
je 0x4bd7a5
inc dword [ebp - 0x200c]
jmp 0x4bd7a5
cmp esi, 0x27
jne 0x4bd74a
mov ebx, 0x78
lea ecx, [ebp - 0x28]
push 0x5b9be0
mov dword [ebp - 0x2000], ebx
call fcn.00415bc0
jmp case.0x4bb7a6.1
cmp esi, 0x24
jne 0x4bd75f
mov ecx, edi
call fcn.004b86e0
test al, al
je 0x4bd75f
lea ebx, [esi + 0x57]
jmp 0x4bd799
mov ecx, esi
call fcn.004b72f0
test al, al
je 0x4bd771
mov ebx, 0x7f
jmp 0x4bd799
cmp ebx, 0x7f
jne case.0x4bb7a6.1
mov ecx, esi
call fcn.004200d0
mov edi, dword [ebp - 0x1ffc]
test al, al
je 0x4bd7a5
mov ebx, 0x76
mov dword [ebp - 0x2000], ebx
jmp 0x4bd7a5
mov ebx, 0x7a
mov dword [ebp - 0x2000], ebx
mov edi, dword [ebp - 0x1ffc]
lea ecx, [ebp - 0x1ff8]
call fcn.00474f10
mov esi, dword [ebp + 0xc]
cmp esi, eax
setge al
cmp ebx, 0x47
jne 0x4bd82d
cmp edi, 0x22
jne 0x4bd7d6
test al, al
je 0x4bd7eb
mov ebx, 0x4b
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
cmp edi, 0x27
jne 0x4bd7eb
mov ebx, 0x48
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
mov ecx, edi
call fcn.004b72c0
test al, al
je 0x4bd806
mov ebx, 0x4a
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
mov ecx, edi
call fcn.004b72f0
test al, al
je 0x4bb04f
push 0x47
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov esi, dword [ebp + 0xc]
jmp 0x4bb04f
cmp ebx, 0x51
jne 0x4bd8a2
cmp edi, 0x22
jne 0x4bd84b
test al, al
je 0x4bd860
mov ebx, 0x55
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
cmp edi, 0x27
jne 0x4bd860
mov ebx, 0x52
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
mov ecx, edi
call fcn.004b72c0
test al, al
je 0x4bd87b
mov ebx, 0x54
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
mov ecx, edi
call fcn.004b72f0
test al, al
je 0x4bb04f
push 0x51
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov esi, dword [ebp + 0xc]
jmp 0x4bb04f
cmp ebx, 0x29
jne 0x4bb04f
cmp edi, 0x2f
jne 0x4bd900
mov eax, dword [ebp - 0x201c]
cmp eax, 0x2a
jne 0x4bd8eb
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push 0x20
add eax, 2
push eax
call fcn.00474ec0
mov esi, dword [ebp + 0xc]
xor ebx, ebx
cmp al, 0x2a
sete bl
lea ebx, [ebx*2 + 0x2a]
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
cmp eax, 0x2f
jne 0x4bd932
mov ebx, 0x2b
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
cmp edi, 0x22
jne 0x4bd919
test al, al
je 0x4bd932
mov ebx, 0x30
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
cmp edi, 0x27
jne 0x4bd932
test al, al
je 0x4bd932
mov ebx, 0x31
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
mov ecx, edi
call fcn.004b72c0
test al, al
je 0x4bd94d
mov ebx, 0x2e
mov dword [ebp - 0x2000], ebx
jmp 0x4bb04f
mov ecx, edi
call fcn.004b72f0
test al, al
je 0x4bb04f
mov edx, dword [ebp - 0x2008]
mov ecx, 0x32
call fcn.004b7840
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
mov esi, dword [ebp + 0xc]
jmp 0x4bb04f
push dword [ebp - 0x2008]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
lea ecx, [ebp - 0x1ff8]
add eax, 0x428
push eax
call fcn.00474f10
lea edx, [edi - 1]
mov ecx, eax
call fcn.004b7d60
add esp, 0xc
jmp 0x4bda87
push dword [ebp - 0x2008]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
lea ecx, [ebp - 0x1ff8]
add eax, 0x838
push eax
call fcn.00474f10
lea edx, [edi - 1]
mov ecx, eax
call fcn.004b7e50
add esp, 0xc
jmp 0x4bda87
push dword [ebp - 0x202c]
lea eax, [ebp - 0x58]
push dword [ebp - 0x2008]
lea ecx, [ebp - 0x1ff8]
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
add eax, 0xc48
push eax
call fcn.00474f10
lea edx, [edi - 1]
mov ecx, eax
call fcn.004b7fb0
add esp, 0x14
jmp 0x4bda87
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x203c]
lea ecx, [ebp - 0x1ff8]
add eax, 0x1058
push eax
call fcn.00474f10
lea edx, [edi - 1]
mov ecx, eax
call fcn.004b8230
add esp, 8
jmp 0x4bda87
mov edx, dword [ebp - 0x2008]
mov ecx, ebx
call fcn.004b7840
lea ecx, [ebp - 0x1ff8]
mov esi, eax
call fcn.00474f10
cmp eax, edi
jge 0x4bda87
push esi
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00475ef0
cmp byte [ebp - 0x2038], 0
je 0x4bdaba
mov ebx, dword [ebp - 0x2068]
lea ecx, [ebp - 0x1ff8]
push ebx
call fcn.00476b70
and eax, 0xfffff000
lea ecx, [ebp - 0x1ff8]
or eax, dword [ebp - 0x2080]
push eax
push ebx
call fcn.00476b90
lea ecx, [ebp - 0x1ff8]
call fcn.004733a0
lea ecx, [ebp - 0x20bc]
call fcn.0047c4b0
lea ecx, [ebp - 0x20a4]
call fcn.0047c4b0
lea ecx, [ebp - 0x20b0]
call fcn.0047c4b0
lea ecx, [ebp - 0x208c]
call fcn.0047c4b0
lea ecx, [ebp - 0x70]
call fcn.0040a8e0
lea ecx, [ebp - 0x40]
call fcn.0040a8e0
lea ecx, [ebp - 0x28]
call fcn.0040a8e0
lea ecx, [ebp - 0x58]
call fcn.0040a8e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0059df64
mov esp, ebp
pop ebp
ret 0x14