Function at 0x503a90
Capabilities:
Check http status code
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b0d5c
mov eax, dword fs:[0]
push eax
sub esp, 0x3a0
mov eax, dword [0x5bd344]
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 edi, edx
mov esi, ecx
mov dword [ebp - 0x2d4], esi
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
push 0xffffffffffffffff
push esi
mov ecx, dword [eax]
mov dword [ebp - 0x378], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x360], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x364], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x340], ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x380], eax
mov eax, dword [ebx]
mov dword [ebp - 0x368], ecx
push eax
mov dword [ebp - 0x2d8], ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x1f64], esi
mov byte [ebp - 0x268], 0
mov byte [ebp - 0xd8], 0
lea eax, [ecx - 0x69]
cmp eax, 0xc
jbe 0x503b48
lea eax, [ecx - 0x50]
cmp eax, 7
ja 0x503b40
add ecx, 0xfffffff6
jmp 0x503b4b
lea eax, [ecx - 0x37]
cmp eax, 0xc
ja 0x503b4e
add ecx, 0xfffffff1
mov dword [ebp + 8], ecx
mov byte [ebp - 0x1a0], 0
mov dword [ebp - 0x350], 0
mov byte [ebp - 0x314], 0
cmp ecx, 1
je 0x503c4d
cmp ecx, 2
je 0x503c4d
cmp ecx, 0xe
je 0x503c4d
cmp ecx, 3
je 0x503c4d
cmp ecx, 4
je 0x503c4d
cmp ecx, 5
je 0x503c4d
cmp ecx, 8
je 0x503c4d
cmp ecx, 6
je 0x503c4d
cmp ecx, 7
je 0x503c4d
cmp ecx, 0x77
je 0x503bcf
cmp ecx, 0x78
je 0x503bcf
cmp ecx, 0x7e
je 0x503bcf
cmp ecx, 0x68
jne 0x503cc2
test esi, esi
je 0x503c41
cmp ecx, 0x77
je 0x503c26
cmp ecx, 0x78
je 0x503c26
cmp ecx, 0x7e
je 0x503c26
cmp ecx, 0x68
je 0x503c26
mov eax, dword [ebx + 0xfa8]
cmp esi, eax
jle 0x503c00
dec esi
cmp esi, dword [ebx + 0xfac]
jl 0x503c12
mov esi, dword [ebp - 0x2d4]
dec esi
mov ecx, ebx
push esi
call fcn.004e5490
mov eax, dword [ebx + 0xfa8]
mov ecx, dword [ebp + 8]
sub esi, eax
mov al, byte [esi + ebx + 4]
mov esi, dword [ebp - 0x2d4]
cmp al, 0xd
je 0x503c41
cmp al, 0xa
je 0x503c41
mov eax, dword [ebx]
dec esi
push esi
push eax
mov dword [ebp - 0x2d4], esi
inc edi
mov ecx, dword [eax]
call dword [ecx + 0x10]
movsx ecx, al
mov dword [ebp + 8], ecx
test esi, esi
jne 0x503bd3
xor eax, eax
test esi, esi
cmove ecx, eax
mov dword [ebp + 8], ecx
jmp 0x503cc2
test esi, esi
je 0x503cbb
mov eax, dword [ebx]
dec esi
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
movsx eax, al
cmp eax, 1
je 0x503c8b
cmp eax, 2
je 0x503c8b
cmp eax, 0xe
je 0x503c8b
cmp eax, 3
je 0x503c8b
cmp eax, 4
je 0x503c8b
cmp eax, 5
je 0x503c8b
cmp eax, 8
je 0x503c8b
cmp eax, 6
je 0x503c8b
cmp eax, 7
jne 0x503cb5
mov eax, dword [ebx]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov ecx, dword [ebx]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x18]
mov esi, dword [ebp - 0x2d4]
sub esi, eax
add edi, esi
mov esi, eax
mov dword [ebp - 0x2d4], esi
test eax, eax
jne 0x503c51
jmp 0x503cbb
mov esi, dword [ebp - 0x2d4]
mov dword [ebp + 8], 0
mov eax, dword [ebx]
push 0xffffffffffffffff
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp + 8]
add eax, 0xfffffff4
mov dword [ebx + 0x1f64], esi
cmp eax, 6
ja case.0x503ce5.14
movzx eax, byte [eax + 0x508344]
jmp dword [eax*4 + 0x50833c]
mov dword [ebp + 8], 0
mov eax, dword [ebx]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov dword [ebp - 0x344], eax
test eax, eax
jle 0x503d1a
mov edx, dword [ebx]
lea ecx, [eax - 1]
push ecx
push edx
mov esi, dword [edx]
call dword [esi + 0x24]
mov esi, dword [ebp - 0x2d4]
jmp 0x503d32
mov ecx, dword [ebx + 0x1f6c]
push 1
push 0x44c6b4
call fcn.004e06d0
or eax, 0x10
shl eax, 4
mov ecx, eax
mov byte [ebp - 0x2fe], 0
sar ecx, 2
mov edx, eax
and ecx, 0xffffff01
mov dword [ebp - 0x338], 7
mov dword [ebp - 0x32c], ecx
and edx, 3
mov ecx, eax
mov dword [ebp - 0x2e4], edx
sar ecx, 3
and ecx, 0xffffff01
mov dword [ebp - 0x31c], ecx
mov ecx, eax
sar ecx, 4
and ecx, 0xf
mov dword [ebp - 0x330], ecx
mov ecx, eax
sar ecx, 8
and ecx, 0xf
sar eax, 0xc
mov dword [ebp - 0x358], ecx
mov ecx, dword [ebp + 8]
movzx eax, al
mov dword [ebp - 0x318], eax
lea eax, [ecx - 0x5a]
cmp eax, 0xc
ja 0x503daa
mov eax, 3
jmp 0x503df2
lea eax, [ecx - 0x46]
cmp eax, 7
ja 0x503db9
mov eax, 2
jmp 0x503df2
lea eax, [ecx - 0x28]
cmp eax, 0xc
ja 0x503dc8
mov eax, 1
jmp 0x503df2
lea eax, [ecx - 0x76]
cmp eax, 7
ja 0x503dd7
mov eax, 4
jmp 0x503df2
lea eax, [ecx - 0x15]
cmp eax, 9
ja 0x503de6
mov eax, 6
jmp 0x503df2
xor eax, eax
cmp ecx, 0x1f
cmove eax, dword [ebp - 0x338]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x354], 8
cmp edx, 1
jne 0x503e17
cmp ecx, 9
cmove eax, dword [ebp - 0x354]
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x318]
lea eax, [ecx - 0x5a]
cmp eax, 0xc
ja 0x503e31
mov dword [ebp - 0x324], 3
jmp 0x503e93
lea eax, [ecx - 0x46]
cmp eax, 7
ja 0x503e45
mov dword [ebp - 0x324], 2
jmp 0x503e93
lea eax, [ecx - 0x28]
cmp eax, 0xc
ja 0x503e59
mov dword [ebp - 0x324], 1
jmp 0x503e93
lea eax, [ecx - 0x76]
cmp eax, 7
ja 0x503e6d
mov dword [ebp - 0x324], 4
jmp 0x503e93
lea eax, [ecx - 0x15]
cmp eax, 9
ja 0x503e81
mov dword [ebp - 0x324], 6
jmp 0x503e93
xor eax, eax
cmp ecx, 0x1f
cmove eax, dword [ebp - 0x338]
mov dword [ebp - 0x324], eax
mov ecx, dword [ebx + 0x1f6c]
push 0
push 0x448b48
call fcn.004e06d0
test eax, eax
setne bl
test eax, eax
je 0x503ed1
mov ecx, dword [ebp - 0x2d8]
push 0
push 0x448b20
mov ecx, dword [ecx + 0x1f6c]
call fcn.004e06d0
mov byte [ebp - 0x2f1], 1
test eax, eax
jne 0x503ed8
mov byte [ebp - 0x2f1], 0
test bl, bl
mov ebx, dword [ebp - 0x2d8]
je 0x503eff
mov ecx, dword [ebx + 0x1f6c]
push 1
push 0x44c6cc
call fcn.004e06d0
mov byte [ebp - 0x2fd], 1
test eax, eax
jne 0x503f06
mov byte [ebp - 0x2fd], 0
mov ecx, dword [ebx + 0x1f6c]
push 1
push 0x448b28
call fcn.004e06d0
test eax, eax
setne byte [ebp - 0x331]
cmp byte [ebp - 0x2f1], 0
je 0x503f47
mov ecx, dword [ebx + 0x1f6c]
push 0
push 0x44c6e4
call fcn.004e06d0
mov byte [ebp - 0x30d], 1
test eax, eax
jne 0x503f4e
mov byte [ebp - 0x30d], 0
cmp byte [ebp - 0x2f1], 0
je 0x503f74
mov ecx, dword [ebx + 0x1f6c]
push 0
push 0x44c6fc
call fcn.004e06d0
mov byte [ebp - 0x2ff], 1
test eax, eax
jne 0x503f7b
mov byte [ebp - 0x2ff], 0
mov ecx, dword [ebx + 0x1f6c]
push 0
push 0x44c714
call fcn.004e06d0
mov ecx, dword [ebx + 0x1f6c]
test eax, eax
push 1
push 0x448a24
setne byte [ebp - 0x388]
call fcn.004e06d0
mov ecx, dword [ebx + 0x1f6c]
test eax, eax
push 0
push 0x44c730
setne byte [ebp - 0x384]
call fcn.004e06d0
mov ecx, dword [ebx + 0x1f6c]
test eax, eax
push 0
push 0x44c740
setne byte [ebp - 0x30c]
call fcn.004e06d0
push 1
push 0x80
test eax, eax
lea ecx, [ebp - 0x374]
push 0x44c754
push 7
setne byte [ebp - 0x30e]
call fcn.004ed660
push 1
push 0x80
push 0x44c75c
push 7
lea ecx, [ebp - 0x3ac]
mov dword [ebp - 4], 0
call fcn.004ed660
push 1
push 0x80
push 0x44c764
push 7
lea ecx, [ebp - 0x3a0]
mov byte [ebp - 4], 1
call fcn.004ed660
push 0
push 0x80
push 0x44c76c
push 0
lea ecx, [ebp - 0x394]
mov byte [ebp - 4], 2
call fcn.004ed660
push dword [ebp - 0x344]
mov byte [ebp - 4], 3
mov eax, dword [ebx]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
and eax, 0xfff
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x338], eax
mov ecx, 0x20
mov dword [ebp - 0x2e8], eax
xor eax, eax
cmp dword [ebp - 0x2f0], 1
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x35c], ecx
jne 0x504114
test esi, esi
je 0x504114
add esi, 0xffffffff
je 0x504114
nop dword [eax]
mov eax, dword [ebx]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
movsx ecx, al
lea eax, [ecx - 0x29]
cmp eax, 3
ja 0x5040c9
sub esi, 1
jne 0x5040b0
cmp ecx, 0x32
jne 0x50410f
mov ecx, dword [ebx + 0xfa8]
cmp esi, ecx
jl 0x5040e0
cmp esi, dword [ebx + 0xfac]
jl 0x5040fa
push esi
mov ecx, ebx
call fcn.004e5490
mov ecx, dword [ebx + 0xfa8]
cmp esi, ecx
jl 0x504104
cmp esi, dword [ebx + 0xfac]
jge 0x504104
mov eax, ebx
sub eax, ecx
mov al, byte [eax + esi + 4]
jmp 0x504106
mov al, 0x20
movzx eax, al
mov dword [ebp - 0x35c], eax
mov ecx, 0x20
mov esi, dword [ebp - 0x2d4]
add edi, esi
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x33c], edi
mov dword [edx + 0x1f60], esi
cmp esi, edi
jge 0x505283
mov eax, dword [ebp - 0x2e4]
mov ebx, 0x20
mov dword [ebp - 0x37c], 4
nop dword [eax + eax]
mov edi, eax
mov dword [ebp - 0x34c], ecx
mov eax, ebx
mov dword [ebp - 0x348], edi
mov dword [ebp - 0x2ec], eax
cmp eax, 0x20
je 0x504196
cmp eax, 9
jl 0x504175
cmp eax, 0xd
jle 0x504196
mov ebx, dword [ebp + 8]
cmp ebx, 0x2a
je 0x504199
cmp ebx, 0x2b
je 0x504199
mov ecx, dword [ebp - 0x35c]
cmp ebx, 0x2c
cmovne ecx, eax
mov dword [ebp - 0x35c], ecx
jmp 0x504199
mov ebx, dword [ebp + 8]
mov ecx, dword [edx + 0xfa8]
cmp esi, ecx
jl 0x5041ab
cmp esi, dword [edx + 0xfac]
jl 0x5041bf
push esi
mov ecx, edx
call fcn.004e5490
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [edx + 0xfa8]
mov eax, edx
sub eax, ecx
movzx eax, byte [eax + esi + 4]
inc esi
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2f8], esi
cmp esi, ecx
jl 0x5041e1
cmp esi, dword [edx + 0xfac]
jl 0x504201
push esi
mov ecx, edx
call fcn.004e5490
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [edx + 0xfa8]
cmp esi, ecx
jl 0x50420b
cmp esi, dword [edx + 0xfac]
jge 0x50420b
mov eax, esi
sub eax, ecx
mov al, byte [eax + edx + 4]
jmp 0x50420d
mov al, 0x20
movzx eax, al
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2d4]
lea esi, [eax + 2]
mov dword [ebp - 0x308], esi
cmp esi, ecx
jl 0x504231
cmp esi, dword [edx + 0xfac]
jl 0x504251
push esi
mov ecx, edx
call fcn.004e5490
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [edx + 0xfa8]
cmp esi, ecx
jl 0x50425b
cmp esi, dword [edx + 0xfac]
jge 0x50425b
mov eax, esi
sub eax, ecx
mov al, byte [eax + edx + 4]
jmp 0x50425d
mov al, 0x20
mov esi, dword [ebp - 0x2dc]
movzx eax, al
mov dword [ebp - 0x304], eax
mov eax, dword [edx]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test al, al
je 0x50428f
mov esi, dword [ebp - 0x2f8]
mov ecx, 0x20
mov ebx, dword [ebp - 0x2dc]
jmp 0x505262
cmp esi, 0x20
je 0x50429e
cmp esi, 9
jl 0x5042a7
cmp esi, 0xd
jg 0x5042a7
cmp byte [ebp - 0x331], 0
jne 0x5042b6
cmp byte [ebp - 0x2f1], 0
je 0x5042b6
inc dword [ebp - 0x2fc]
cmp esi, 0x20
je 0x5042c9
cmp esi, 9
jl 0x5042c5
cmp esi, 0xd
jle 0x5042c9
xor cl, cl
jmp 0x5042cb
mov cl, 1
mov edx, dword [ebp - 0x328]
test cl, cl
mov dword [ebp - 0x2e0], ebx
lea eax, [edx + 1]
cmovne eax, edx
mov dword [ebp - 0x328], eax
cmp ebx, 0x28
jl 0x504325
lea eax, [ebx - 0x5a]
cmp eax, 0xc
jbe 0x50430f
lea eax, [ebx - 0x46]
cmp eax, 7
ja 0x50430a
mov eax, dword [ebp - 0x2e4]
dec eax
neg eax
sbb eax, eax
and eax, 0xa
jmp 0x50431d
cmp ebx, 0x34
jg 0x504325
mov eax, dword [ebp - 0x2e4]
dec eax
neg eax
sbb eax, eax
and eax, 0xf
add eax, ebx
mov dword [ebp - 0x2e0], eax
mov dl, byte [ebp - 0x2f1]
test dl, dl
je 0x50434c
mov eax, dword [ebp - 0x2f0]
sub eax, 1
je 0x504498
sub eax, 2
je 0x50436f
sub eax, 1
je 0x504498
mov ecx, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2e8]
cmp esi, 0xd
jne 0x5046d0
cmp ecx, 0xa
jne 0x5046e5
jmp 0x5046d0
cmp ebx, 0x5c
je 0x50434c
cmp byte [ebp - 0x30c], 0
jne 0x50434c
mov ecx, dword [ebp - 0x2d0]
cmp esi, 0x3a
jne 0x5043ae
cmp ecx, 0xa
je 0x5043a3
cmp ecx, 0xd
jne 0x5046ca
cmp dword [ebp - 0x304], 0xa
jne 0x5046ca
inc dword [ebp - 0x2e8]
jmp 0x50488b
cmp esi, 0xa
jne 0x504352
cmp ecx, 0xd
jne 0x5043c0
cmp dword [ebp - 0x304], esi
jmp 0x5043c3
cmp ecx, 0xa
je 0x5046ca
mov ebx, dword [ebp - 0x2e8]
mov edi, ebx
and edi, 0xfffffbff
shl edi, 3
test edi, edi
jle 0x5046d0
mov edx, dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x2f8]
mov ecx, dword [edx + 0xfa8]
cmp esi, ecx
jl 0x504400
cmp esi, dword [edx + 0xfac]
jl 0x504420
push esi
mov ecx, edx
call fcn.004e5490
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [edx + 0xfa8]
cmp esi, ecx
jl 0x504437
cmp esi, dword [edx + 0xfac]
jge 0x504437
mov eax, esi
sub eax, ecx
mov al, byte [eax + edx + 4]
cmp al, 9
jne 0x504433
mov eax, 0xfffffff8
jmp 0x50443a
cmp al, 0x20
jne 0x504452
or eax, 0xffffffff
add edi, eax
inc esi
test edi, edi
jg 0x5043f4
mov esi, dword [ebp - 0x2dc]
mov dl, byte [ebp - 0x2f1]
jmp 0x5046d0
test edi, edi
jle 0x504441
mov eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
neg eax
add ebx, eax
mov dword [ebp - 0x2e8], ebx
and edi, 0x80000007
jns 0x50447a
dec edi
or edi, 0xfffffff8
add edi, 1
mov esi, dword [ebp - 0x2dc]
mov dl, byte [ebp - 0x2f1]
je 0x5046d0
dec ebx
mov dword [ebp - 0x2e8], ebx
jmp 0x5046d0
cmp ebx, 0x7c
je 0x504699
cmp ebx, 0x7d
je case.0x5044d4.48
cmp ebx, 0x2a
je 0x504699
cmp ebx, 0x2b
je case.0x5044d4.48
cmp ebx, 0x2c
je case.0x5044d4.48
lea eax, [ebx - 0x30]
cmp eax, 0x4e
ja case.0x5044d4.50
movzx eax, byte [eax + 0x508354]
jmp dword [eax*4 + 0x50834c]
cmp esi, 0x23
jne 0x504637
mov edi, dword [ebp - 0x2f8]
mov ebx, dword [ebp - 0x33c]
cmp edi, ebx
jge 0x504545
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [eax + 0xfa8]
cmp edi, ecx
jl 0x50450c
cmp edi, dword [eax + 0xfac]
jl 0x50452c
push edi
mov ecx, eax
call fcn.004e5490
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [eax + 0xfa8]
cmp edi, ecx
jl 0x504540
cmp edi, dword [eax + 0xfac]
jge 0x504540
sub eax, ecx
mov al, byte [eax + edi + 4]
cmp al, 0x20
je 0x50453a
cmp al, 9
jne 0x504545
mov eax, dword [ebp - 0x2d8]
inc edi
cmp edi, ebx
jl 0x504500
mov esi, 0x44c1b4
mov ebx, edi
sub ebx, esi
nop
mov ecx, dword [ebp - 0x2d8]
lea eax, [esi + ebx]
push 0x20
push eax
call fcn.004e5560
cmp byte [esi], al
jne 0x504572
inc esi
cmp byte [esi], 0
jne 0x504550
mov eax, 1
jmp 0x5045ce
mov esi, 0x44c190
mov ebx, edi
sub ebx, esi
nop dword [eax + eax]
mov ecx, dword [ebp - 0x2d8]
lea eax, [esi + ebx]
push 0x20
push eax
call fcn.004e5560
cmp byte [esi], al
jne 0x5045a2
inc esi
cmp byte [esi], 0
jne 0x504580
mov eax, 1
jmp 0x5045ce
mov esi, 0x44b378
sub edi, esi
nop dword [eax]
mov ecx, dword [ebp - 0x2d8]
lea eax, [esi + edi]
push 0x20
push eax
call fcn.004e5560
cmp byte [esi], al
jne 0x504629
inc esi
cmp byte [esi], 0
jne 0x5045b0
or eax, 0xffffffff
mov edi, dword [ebp - 0x328]
add dword [ebp - 0x2e8], eax
mov dword [ebp - 0x328], edi
mov esi, dword [ebp - 0x2dc]
mov ebx, dword [ebp - 0x2d8]
mov dh, byte [ebp - 0x30c]
test dh, dh
je 0x504813
cmp esi, 0x23
jne 0x5047c6
mov ecx, dword [ebp - 0x2d0]
cmp ecx, esi
jne 0x5047c6
mov edi, 1
mov ebx, 0x5c
mov dword [ebp - 0x350], edi
mov dword [ebp + 8], ebx
jmp 0x504879
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x328], eax
jmp 0x5045e0
mov ecx, dword [ebp - 0x2d0]
cmp esi, 0x7b
je 0x504662
cmp esi, 0x7d
je 0x50467a
cmp byte [ebp - 0x30d], 0
je 0x504352
cmp esi, 0x2f
jne 0x504352
cmp ecx, 0x2a
jne 0x5046ca
mov ebx, dword [ebp - 0x2e8]
mov eax, 1
add ebx, eax
mov dword [ebp - 0x2e8], ebx
jmp 0x504358
mov ebx, dword [ebp - 0x2e8]
or eax, 0xffffffff
add ebx, eax
mov dword [ebp - 0x2e8], ebx
jmp 0x504358
cmp ebx, 0x2a
jne 0x50434c
cmp byte [ebp - 0x30d], 0
mov ebx, dword [ebp - 0x2e8]
je 0x5046bf
cmp esi, 0x2a
jne 0x5046bf
cmp dword [ebp - 0x2d0], 0x2f
jne 0x5046d0
dec ebx
mov dword [ebp - 0x2e8], ebx
jmp 0x5046d0
mov ecx, dword [ebp - 0x2d0]
jmp 0x504358
mov ebx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x328], eax
cmp esi, 0xa
jne 0x5045e6
test dl, dl
je 0x50473f
mov esi, dword [ebp - 0x338]
mov eax, esi
mov ecx, dword [ebp - 0x2fc]
or eax, 0x1000
test ecx, ecx
cmovne eax, esi
mov edx, eax
cmp ebx, esi
jle 0x504711
test ecx, ecx
jle 0x504711
or edx, 0x2000
mov ebx, dword [ebp - 0x2d8]
mov edi, dword [ebp - 0x344]
push edx
push edi
mov eax, dword [ebx]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x338], eax
jmp 0x50474b
mov ebx, dword [ebp - 0x2d8]
mov edi, dword [ebp - 0x344]
mov eax, dword [ebp - 0x318]
movzx ecx, al
mov eax, dword [ebp - 0x358]
and eax, 0xf
shl ecx, 4
or ecx, eax
mov edx, dword [ebx]
mov eax, dword [ebp - 0x330]
and eax, 0xf
shl ecx, 4
or ecx, eax
xor eax, eax
mov esi, dword [edx]
shl ecx, 4
cmp byte [ebp - 0x31c], al
cmovne eax, dword [ebp - 0x354]
or ecx, eax
xor eax, eax
cmp byte [ebp - 0x32c], al
cmovne eax, dword [ebp - 0x37c]
or ecx, eax
mov eax, dword [ebp - 0x2e4]
and eax, 3
or ecx, eax
push ecx
push edi
push edx
call dword [esi + 0x28]
mov esi, dword [ebp - 0x2dc]
inc edi
mov dword [ebp - 0x344], edi
mov dword [ebp - 0x328], 0
jmp 0x5045ec
mov edi, dword [ebp - 0x350]
test edi, edi
je 0x504819
cmp esi, 0xd
je 0x5047da
cmp esi, 0xa
jne 0x504819
mov eax, dword [ebp - 0x2d4]
xor edi, edi
push dword [ebp - 0x2e0]
dec eax
mov dword [ebp - 0x350], edi
push eax
mov ecx, ebx
call fcn.004e5610
mov dh, byte [ebp - 0x30c]
xor ebx, ebx
cmp dword [ebp - 0x2f0], 3
mov eax, 0x5b
cmove ebx, eax
mov dword [ebp + 8], ebx
jmp 0x50481c
mov edi, dword [ebp - 0x350]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x2d0]
cmp esi, 0xd
jne 0x50482e
cmp ecx, 0xa
jne 0x504833
jmp 0x504879
cmp esi, 0xa
jne 0x504879
test dh, dh
je 0x5049b9
mov ecx, 0x44c1d0
lea eax, [ebp - 0x1a0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x504866
test dl, dl
je 0x504862
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x504866
add eax, 2
add ecx, 2
test dl, dl
jne 0x504846
xor eax, eax
jmp 0x50486b
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0x2d0]
test eax, eax
jne 0x5049b9
test dh, dh
je 0x504885
test edi, edi
jne 0x5049b9
mov edi, dword [ebp - 0x348]
mov edx, dword [ebp - 0x2e4]
cmp edx, 1
jne 0x5049d6
cmp esi, 0x3c
jne 0x5049d6
cmp ecx, 0x2f
jne 0x5049d6
lea eax, [ebx - 6]
cmp eax, 0x77
ja case.0x5048bb.8
movzx eax, byte [eax + 0x5083ac]
jmp dword [eax*4 + 0x5083a4]
cmp ebx, 0x2b
je 0x504943
cmp byte [ebp + 0x14], 0
jne 0x504943
xor eax, eax
mov edi, 0x44c678
cmp ebx, 9
cmovne edi, eax
test edi, edi
jne 0x504948
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov esi, dword [ebp - 0x308]
xor eax, eax
add dword [ebp - 0x2fc], 2
mov ebx, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp + 8], 2
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x358], 1
mov byte [ebp - 0x31c], 1
jmp 0x505268
mov edi, 0x44c670
mov esi, dword [ebp - 0x308]
nop
movsx ebx, byte [edi]
lea edi, [edi + 1]
test ebx, ebx
je 0x5048e6
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [eax + 0xfa8]
cmp esi, ecx
jl 0x504972
cmp esi, dword [eax + 0xfac]
jl 0x504992
push esi
mov ecx, eax
call fcn.004e5490
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [eax + 0xfa8]
cmp esi, ecx
jl 0x50499a
cmp esi, dword [eax + 0xfac]
jge 0x50499a
sub eax, ecx
mov al, byte [eax + esi + 4]
jmp 0x50499c
mov al, 0x20
movsx edx, al
lea eax, [edx - 0x41]
cmp eax, 0x19
lea ecx, [edx + 0x20]
cmova ecx, edx
inc esi
cmp ebx, ecx
je 0x504950
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2e4]
cmp ebx, 0x7f
ja case.0x5049cf.1
movzx eax, byte [ebx + 0x5084f0]
jmp dword [eax*4 + 0x508424]
cmp ebx, 0x10
je 0x504c1d
lea esi, [ebx - 0x30]
cmp esi, 0x4e
ja case.0x5049ee.50
movzx eax, byte [esi + 0x508578]
jmp dword [eax*4 + 0x508570]
cmp ebx, 0x7c
je case.0x5049ee.48
cmp ebx, 0x7d
je case.0x5049ee.48
cmp dword [ebp - 0x2dc], 0x3c
jne case.0x5049ee.48
cmp ecx, 0x3f
jne case.0x5049ee.48
cmp ebx, 0x2a
je case.0x5049ee.48
cmp ebx, 0x2b
je case.0x5049ee.48
cmp ebx, 0x39
je case.0x5049ee.48
cmp ebx, 0x3a
je case.0x5049ee.48
cmp ebx, 0x48
je case.0x5049ee.48
cmp ebx, 0x52
je case.0x5049ee.48
mov eax, dword [ebp - 0x2f0]
mov ebx, dword [ebp - 0x2d8]
mov ecx, ebx
mov edx, dword [ebp - 0x308]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp + 0x14]
movzx eax, al
add eax, 4
push eax
mov eax, dword [ebp - 0x2d4]
add eax, 6
push eax
call fcn.00502990
mov ecx, eax
add esp, 8
mov dword [ebp - 0x2f0], ecx
cmp ecx, 4
je 0x504ab3
cmp esi, 0x4e
ja case.0x504aa2.2
movzx eax, byte [esi + 0x5085d0]
jmp dword [eax*4 + 0x5085c8]
cmp dword [ebp + 8], 9
je case.0x504aa2.0
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
mov ecx, dword [ebp + 8]
xor esi, esi
mov eax, dword [ebp - 0x2f8]
mov edx, dword [ebx + 0x1f60]
inc dword [ebp - 0x2fc]
add edx, 2
mov dword [ebp - 0x318], ecx
lea ecx, [ebp - 0x2cc]
push 0x64
mov dword [ebp - 0x2d4], eax
add eax, 6
push ecx
push eax
mov ecx, ebx
call fcn.00502850
push 3
lea eax, [ebp - 0x2cc]
push 0x448c54
push eax
call fcn.00597fc0
add esp, 0x18
mov ecx, ebx
test eax, eax
mov eax, 3
cmove esi, eax
mov eax, dword [ebp - 0x2d4]
add eax, esi
mov esi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2d4], eax
cmp esi, 5
jne 0x504b41
push 0xc
jmp 0x504b43
push 0x12
push eax
call fcn.004e5610
lea eax, [esi - 2]
cmp eax, 6
ja case.0x504b51.7
jmp dword [eax*4 + 0x508620]
mov dword [ebp + 8], 0x46
jmp 0x504b95
mov dword [ebp + 8], 0x5a
jmp 0x504b95
mov dword [ebp + 8], 0x76
jmp 0x504b95
mov dword [ebp + 8], 2
jmp 0x504b95
mov dword [ebp + 8], 0x15
jmp 0x504b95
mov dword [ebp + 8], 9
jmp 0x504b95
mov dword [ebp + 8], 0x28
lea eax, [edi - 1]
neg eax
sbb eax, eax
add eax, 3
cmp byte [ebp - 0x2fd], 0
mov dword [ebp - 0x2e4], eax
je 0x504bb9
cmp esi, 5
je 0x504bb9
inc dword [ebp - 0x2e8]
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x504bd1
cmp eax, dword [ebx + 0xfac]
jl 0x504bf1
push eax
mov ecx, ebx
call fcn.004e5490
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x504c07
cmp eax, dword [ebx + 0xfac]
jge 0x504c07
mov esi, dword [ebp - 0x2d4]
mov eax, ebx
sub eax, ecx
mov al, byte [eax + esi + 4]
movzx ebx, al
jmp 0x50525c
mov esi, dword [ebp - 0x2d4]
mov al, 0x20
movzx ebx, al
jmp 0x50525c
mov esi, dword [ebp - 0x2dc]
mov al, byte [ebp - 0x30c]
mov edx, dword [ebp - 0x2f0]
test al, al
je 0x504e8d
test edx, edx
jne 0x504e8d
cmp esi, 0x3c
jne 0x504c78
cmp ecx, 0x25
jne 0x504c78
cmp ecx, 0x2f
je 0x504d24
mov edi, dword [ebp - 0x308]
lea eax, [ebp - 0x1a0]
mov ebx, dword [ebp - 0x2d8]
mov edx, edi
push 0xc8
push eax
mov ecx, ebx
call fcn.005028f0
mov esi, dword [ebp - 0x2d4]
jmp 0x504d4c
mov eax, dword [ebp - 0x328]
cmp eax, 1
jne 0x504cbc
cmp esi, 0x25
je 0x504c96
cmp esi, 0x2f
jne 0x504cbc
cmp ecx, 0x25
jne 0x504e87
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x44c1d0]
mov byte [ebp + ecx - 0x1a0], al
test al, al
je 0x504cea
inc ecx
cmp ecx, 0xc8
jb 0x504ca0
jmp 0x504cea
cmp esi, 0x24
jne 0x504d05
cmp ecx, 0x7b
jne 0x504e87
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x44c6b0]
mov byte [ebp + ecx - 0x1a0], al
test al, al
je 0x504cea
inc ecx
cmp ecx, 0xc8
jb 0x504cd0
mov ebx, dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x2d4]
mov edi, dword [ebp - 0x308]
mov byte [ebp - 0xd9], 0
jmp 0x504d4f
cmp esi, 0x3c
jne 0x504e87
cmp ecx, 0x2f
jne 0x504e87
cmp dword [ebp - 0x304], 0x25
jne 0x504e87
mov esi, dword [ebp - 0x2d4]
lea eax, [ebp - 0x1a0]
mov ebx, dword [ebp - 0x2d8]
mov ecx, ebx
push 0xc8
push eax
lea edx, [esi + 3]
call fcn.005028f0
mov edi, dword [ebp - 0x308]
add esp, 8
push dword [ebp - 0x2e0]
lea eax, [esi - 1]
mov ecx, ebx
push eax
call fcn.004e5610
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp + 8]
dec eax
neg eax
mov dword [ebp - 0x318], ecx
sbb eax, eax
add eax, 3
cmp dword [ebp - 0x2d0], 0x2f
mov dword [ebp - 0x2e4], eax
jne 0x504d93
mov esi, edi
mov edi, dword [ebp - 0x2fc]
add edi, 2
jmp 0x504da9
cmp dword [ebp - 0x2dc], 0x25
mov edi, dword [ebp - 0x2fc]
je 0x504db5
mov esi, dword [ebp - 0x2f8]
inc edi
mov dword [ebp - 0x2fc], edi
mov dword [ebp - 0x2d4], esi
push 0xf
push esi
mov ecx, ebx
mov dword [ebp + 8], 0x5a
mov dword [ebp - 0x2f0], 3
call fcn.004e5610
mov eax, dword [ebp - 0x2dc]
cmp eax, 0x25
je 0x504e2d
cmp eax, 0x24
je 0x504e2d
cmp eax, 0x2f
je 0x504e2d
lea ecx, [ebp - 0x1a0]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x504df0
sub ecx, edx
lea eax, [ebp - 0x1a0]
add esi, ecx
add edi, ecx
mov ecx, dword [ebp - 0x340]
push eax
mov dword [ebp - 0x2d4], esi
mov dword [ebp - 0x2fc], edi
call fcn.00536920
mov ecx, ebx
test al, al
je 0x504e25
push 0x60
jmp 0x504e27
push 2
push esi
call fcn.004e5610
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x504e49
cmp eax, dword [ebx + 0xfac]
jl 0x504bf1
push eax
mov ecx, ebx
call fcn.004e5490
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x504c07
cmp eax, dword [ebx + 0xfac]
jge 0x504c07
mov esi, dword [ebp - 0x2d4]
mov eax, ebx
sub eax, ecx
mov al, byte [eax + esi + 4]
movzx ebx, al
jmp 0x50525c
mov al, byte [ebp - 0x30c]
mov ah, byte [ebp - 0x30e]
test ah, ah
je 0x505139
cmp ebx, 9
je 0x504f81
cmp esi, 0x7b
jne 0x50500a
cmp ecx, 0x23
jne 0x50500a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ebx, dword [ebp - 0x2d8]
dec eax
push eax
mov ecx, ebx
call fcn.004e5610
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp + 8]
dec eax
mov edi, dword [ebp - 0x2f0]
neg eax
push 0xf
sbb eax, eax
mov dword [ebp - 0x318], ecx
inc dword [ebp - 0x2fc]
add eax, 3
mov dword [ebp - 0x2e4], eax
mov ecx, ebx
mov eax, dword [ebp - 0x2f8]
push eax
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2f0], 8
mov dword [ebp + 8], 9
call fcn.004e5610
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x504f43
cmp eax, dword [ebx + 0xfac]
jl 0x504bf1
push eax
mov ecx, ebx
call fcn.004e5490
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x504c07
cmp eax, dword [ebx + 0xfac]
jge 0x504c07
mov esi, dword [ebp - 0x2d4]
mov eax, ebx
sub eax, ecx
mov al, byte [eax + esi + 4]
movzx ebx, al
jmp 0x50525c
cmp esi, 0x23
jne 0x50500a
cmp ecx, 0x7d
jne 0x50500a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov ecx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x2f8]
inc dword [ebp - 0x2fc]
push 0xf
push eax
mov dword [ebp - 0x2d4], eax
call fcn.004e5610
mov eax, dword [ebp - 0x318]
mov esi, dword [ebp - 0x2d4]
mov ebx, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x2f0], eax
xor eax, eax
cmp dword [ebp - 0x2e4], 3
sete al
mov dword [ebp - 0x2e4], eax
jmp 0x505268
cmp edx, 3
je 0x505139
cmp esi, 0x7b
jne 0x505139
cmp ecx, 0x25
je 0x505049
cmp ecx, esi
jne 0x505139
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x44c6b0]
mov byte [ebp + ecx - 0x314], al
test al, al
je 0x505067
inc ecx
cmp ecx, 2
jb 0x505030
jmp 0x505067
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x44c1d0]
mov byte [ebp + ecx - 0x314], al
test al, al
je 0x505067
inc ecx
cmp ecx, 2
jb 0x505050
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ebx, dword [ebp - 0x2d8]
dec eax
push eax
mov ecx, ebx
mov byte [ebp - 0x313], 0
call fcn.004e5610
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp + 8]
dec eax
mov edx, dword [ebp - 0x2f0]
neg eax
push 0xf
sbb eax, eax
mov dword [ebp - 0x318], ecx
inc dword [ebp - 0x2fc]
add eax, 3
mov dword [ebp - 0x2e4], eax
mov ecx, ebx
mov eax, dword [ebp - 0x2f8]
push eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp + 8], 0x5a
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x2f0], 3
call fcn.004e5610
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x5050fb
cmp eax, dword [ebx + 0xfac]
jl 0x504bf1
push eax
mov ecx, ebx
call fcn.004e5490
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x504c07
cmp eax, dword [ebx + 0xfac]
jge 0x504c07
mov esi, dword [ebp - 0x2d4]
mov eax, ebx
sub eax, ecx
mov al, byte [eax + esi + 4]
movzx ebx, al
jmp 0x50525c
test al, al
jne case.0x505158.42
test ah, ah
jne case.0x505158.42
lea eax, [ebx - 0x2a]
cmp eax, 0x53
ja case.0x505158.45
movzx eax, byte [eax + 0x508644]
jmp dword [eax*4 + 0x50863c]
cmp esi, 0x3c
jne case.0x505158.42
cmp ecx, 0x25
jne case.0x505158.42
cmp ebx, 0x77
je case.0x505158.42
cmp ebx, 0x78
je case.0x505158.42
cmp ebx, 0x7e
je case.0x505158.42
cmp ebx, 0x68
je case.0x505158.42
mov esi, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ebx, dword [ebp - 0x2d8]
mov ecx, ebx
lea eax, [esi - 1]
push eax
call fcn.004e5610
mov eax, dword [ebp - 0x2e4]
mov edi, dword [ebp - 0x304]
dec eax
mov ecx, dword [ebp + 8]
neg eax
mov dword [ebp - 0x318], ecx
sbb eax, eax
add eax, 3
mov dword [ebp - 0x2e4], eax
cmp edi, 0x40
jne 0x5051e9
mov dword [ebp + 8], 0x10
lea eax, [edi - 0x3e]
jmp 0x505301
cmp edi, 0x2d
jne 0x5052a6
mov ecx, dword [ebx + 0xfa8]
add esi, 3
cmp esi, ecx
jl 0x505207
cmp esi, dword [ebx + 0xfac]
jl 0x505229
push esi
mov ecx, ebx
call fcn.004e5490
mov ecx, dword [ebx + 0xfa8]
cmp esi, ecx
jl 0x5052a0
cmp esi, dword [ebx + 0xfac]
jge 0x5052a0
mov eax, esi
sub eax, ecx
mov al, byte [eax + ebx + 4]
cmp al, 0x2d
jne 0x5052a0
push 0xf
push esi
mov ecx, ebx
call fcn.004e5610
mov dword [ebp + 8], 0x14
mov dword [ebp - 0x2f0], 2
mov ebx, dword [ebp - 0x2dc]
mov esi, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2e4]
mov edi, dword [ebp - 0x33c]
inc esi
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d4], esi
cmp esi, edi
jl 0x504150
mov ecx, dword [ebp + 8]
lea eax, [ecx - 0x2e]
cmp eax, 0x4b
ja case.0x505299.47
movzx eax, byte [eax + 0x5086ac]
jmp dword [eax*4 + 0x508698]
mov esi, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x330]
xor eax, eax
cmp edi, 0x3d
sete al
add ecx, 0xfffffffe
inc eax
cmp ecx, 6
ja case.0x5052bd.7
jmp dword [ecx*4 + 0x5086f8]
mov dword [ebp + 8], 0x46
jmp 0x505301
mov dword [ebp + 8], 0x5a
jmp 0x505301
mov dword [ebp + 8], 0x76
jmp 0x505301
mov dword [ebp + 8], 2
jmp 0x505301
mov dword [ebp + 8], 0x15
jmp 0x505301
mov dword [ebp + 8], 9
jmp 0x505301
mov dword [ebp + 8], 0x28
add dword [ebp - 0x2fc], eax
add esi, eax
push 0xf
push esi
mov ecx, ebx
mov dword [ebp - 0x2d4], esi
mov dword [ebp - 0x2f0], 2
call fcn.004e5610
mov ecx, dword [ebp - 0x2e8]
cmp byte [ebp - 0x2fd], 0
lea eax, [ecx + 1]
cmove eax, ecx
mov ecx, dword [ebx + 0xfa8]
mov dword [ebp - 0x2e8], eax
mov eax, esi
cmp eax, ecx
jl 0x505350
cmp eax, dword [ebx + 0xfac]
jl 0x505370
push eax
mov ecx, ebx
call fcn.004e5490
mov ecx, dword [ebx + 0xfa8]
mov eax, dword [ebp - 0x2d4]
cmp eax, ecx
jl 0x505396
cmp eax, dword [ebx + 0xfac]
jge 0x505396
mov esi, dword [ebp - 0x2d4]
sub eax, ecx
mov ecx, dword [ebp - 0x2ec]
mov al, byte [eax + ebx + 4]
movzx ebx, al
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e4], eax
jmp 0x505268
mov esi, dword [ebp - 0x2d4]
mov al, 0x20
mov ecx, dword [ebp - 0x2ec]
movzx ebx, al
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e4], eax
jmp 0x505268
test edx, edx
je 0x5053c5
cmp edx, 5
jne 0x5054ea
cmp dword [ebp - 0x2ec], 0x3c
jne 0x5054ea
cmp esi, 0x21
jne 0x5054ea
mov eax, dword [ebp - 0x2e0]
cmp eax, 0x11
je 0x5054ea
cmp eax, 9
je 0x5054ea
cmp eax, 0x1d
je 0x5054ea
cmp eax, 0x2a
je 0x5054ea
cmp eax, 0x2b
je 0x5054ea
cmp eax, 0x39
je 0x5054ea
cmp eax, 0x3a
je 0x5054ea
cmp eax, 0x48
je 0x5054ea
cmp eax, 0x52
je 0x5054ea
push eax
mov eax, dword [ebp - 0x2d4]
add eax, 0xfffffffe
mov dword [ebp - 0x318], ebx
mov ebx, dword [ebp - 0x2d8]
mov ecx, ebx
push eax
call fcn.004e5610
cmp dword [ebp - 0x2d0], 0x2d
jne 0x505484
cmp dword [ebp - 0x304], 0x2d
jne 0x505484
mov esi, dword [ebp - 0x308]
mov ecx, ebx
push 9
push esi
mov dword [ebp + 8], 9
call fcn.004e5610
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2d4], esi
jmp 0x5054c8
mov edx, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2f8]
push ebx
lea edx, [edx + 7]
call fcn.00503480
add esp, 4
test al, al
je 0x5054a7
mov ecx, 0x11
jmp 0x5054c5
push 0x15
push dword [ebp - 0x2d4]
mov ecx, ebx
call fcn.004e5610
mov dword [ebp - 0x2f0], 6
mov ecx, 0x16
mov dword [ebp + 8], ecx
cmp byte [ebp - 0x2fd], 0
jne 0x5054df
cmp ecx, 9
je 0x5054df
cmp ecx, 0x11
jne case.0x504aa2.0
inc dword [ebp - 0x2e8]
jmp case.0x504aa2.0
cmp byte [ebp - 0x30c], 0
mov eax, dword [ebp - 0x2e4]
je 0x5056dc
cmp eax, 2
je 0x50550b
cmp eax, 3
jne 0x5056dc
test edx, edx
je 0x5056dc
lea eax, [ebx - 0x30]
cmp eax, 0x4e
ja case.0x505522.50
movzx eax, byte [eax + 0x50871c]
jmp dword [eax*4 + 0x508714]
lea eax, [ebx - 0x48]
cmp eax, 0x34
ja case.0x505538.73
movzx eax, byte [eax + 0x508774]
jmp dword [eax*4 + 0x50876c]
lea eax, [ebp - 0x1a0]
mov edx, ecx
push eax
mov ecx, esi
call fcn.00503600
add esp, 4
test al, al
je 0x5056d0
mov esi, dword [ebp - 0x2d4]
dec esi
cmp ebx, 0x10
mov ebx, dword [ebp - 0x2d8]
jne 0x505589
push dword [ebp - 0x330]
mov edx, dword [ebx + 0x1f60]
mov ecx, ebx
push esi
call fcn.00502990
add esp, 8
mov dword [ebp - 0x330], eax
cmp dword [ebp + 8], 0x60
jne 0x5055bc
push dword [ebp - 0x30c]
mov edi, dword [ebp - 0x2e4]
lea eax, [ebp - 0x268]
mov ecx, dword [ebx + 0x1f60]
mov edx, esi
push edi
push eax
push ebx
push dword [ebp - 0x340]
call fcn.005030f0
add esp, 0x14
jmp 0x5055d0
push dword [ebp - 0x2e0]
mov ecx, ebx
push esi
call fcn.004e5610
mov edi, dword [ebp - 0x2e4]
mov ecx, 0x44c1d0
lea eax, [ebp - 0x1a0]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x505600
test dl, dl
je 0x5055fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x505600
add eax, 2
add ecx, 2
test dl, dl
jne 0x5055e0
xor esi, esi
jmp 0x505605
sbb esi, esi
or esi, 1
test esi, esi
je 0x50565c
mov ecx, 0x44c6b0
lea eax, [ebp - 0x1a0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x505634
test dl, dl
je 0x505630
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x505634
add eax, 2
add ecx, 2
test dl, dl
jne 0x505614
xor eax, eax
jmp 0x505639
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0x2dc]
test eax, eax
je 0x505662
cmp ecx, 0x3e
je 0x505662
mov eax, dword [ebp - 0x2f8]
inc dword [ebp - 0x2fc]
mov dword [ebp - 0x2d4], eax
jmp 0x505685
mov ecx, dword [ebp - 0x2dc]
test esi, esi
jne 0x50567f
cmp ecx, 0x2f
jne 0x50567f
mov eax, dword [ebp - 0x2f8]
inc dword [ebp - 0x2fc]
mov dword [ebp - 0x2d4], eax
jmp 0x505685
mov eax, dword [ebp - 0x2d4]
test esi, esi
jne 0x50568e
cmp ecx, 0x2f
jne 0x505698
push 0xf
push eax
mov ecx, ebx
call fcn.004e5610
mov eax, dword [ebp - 0x318]
mov esi, dword [ebp - 0x2d4]
mov ebx, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp + 8], eax
xor eax, eax
cmp edi, 3
mov dword [ebp - 0x2f0], 0
sete al
mov dword [ebp - 0x2e4], eax
jmp 0x505268
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x2e4]
cmp byte [ebp - 0x30e], 0
je case.0x505724.72
cmp eax, 2
je 0x5056f7
cmp eax, 3
jne case.0x505724.72
test edx, edx
je case.0x505724.72
lea eax, [ebx - 0x30]
cmp eax, 0x4e
ja case.0x50570e.50
movzx eax, byte [eax + 0x5087b4]
jmp dword [eax*4 + 0x5087ac]
lea eax, [ebx - 0x48]
cmp eax, 0x34
ja case.0x505724.73
movzx eax, byte [eax + 0x50880c]
jmp dword [eax*4 + 0x508804]
lea ecx, [ebp - 0x314]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x505734
sub ecx, edx
je case.0x505724.72
mov ecx, 0x44c1d0
lea eax, [ebp - 0x314]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x505770
test dl, dl
je 0x50576c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x505770
add eax, 2
add ecx, 2
test dl, dl
jne 0x505750
xor eax, eax
jmp 0x505775
sbb eax, eax
or eax, 1
test eax, eax
jne 0x505784
mov ecx, dword [ebp - 0x2d0]
cmp esi, 0x25
jmp 0x5057c6
mov ecx, 0x44c6b0
lea eax, [ebp - 0x314]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5057b0
test dl, dl
je 0x5057ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5057b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x505790
xor eax, eax
jmp 0x5057b5
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0x2d0]
test eax, eax
jne 0x50585b
cmp esi, 0x7d
jne 0x50585b
cmp ecx, 0x7d
jne 0x50585b
mov esi, dword [ebp - 0x2d4]
dec esi
cmp ebx, 0x10
jne 0x505819
mov ebx, dword [ebp - 0x2d8]
mov ecx, ebx
push dword [ebp - 0x330]
push esi
mov edx, dword [ebx + 0x1f60]
call fcn.00502990
add esp, 8
mov dword [ebp - 0x330], eax
push dword [ebp - 0x2e0]
mov ecx, ebx
push esi
call fcn.004e5610
mov ecx, ebx
jmp 0x504fb2
cmp ebx, 0x60
mov ebx, dword [ebp - 0x2d8]
jne 0x505804
push dword [ebp - 0x30c]
mov ecx, dword [ebx + 0x1f60]
lea eax, [ebp - 0x268]
push dword [ebp - 0x2e4]
mov edx, esi
push eax
push ebx
push dword [ebp - 0x340]
call fcn.005030f0
add esp, 0x14
mov ecx, ebx
jmp 0x504fb2
mov ecx, dword [ebp - 0x2d0]
cmp byte [ebp - 0x30c], 0
jne 0x5058c4
cmp byte [ebp - 0x30e], 0
jne 0x5058c4
mov eax, dword [ebp - 0x2e4]
cmp eax, 2
je 0x50587d
cmp eax, 3
jne 0x5058c4
mov edx, dword [ebp - 0x2f0]
test edx, edx
je case.0x5058ac.72
lea eax, [ebx - 0x30]
cmp eax, 0x4e
ja case.0x505896.50
movzx eax, byte [eax + 0x50884c]
jmp dword [eax*4 + 0x508844]
lea eax, [ebx - 0x48]
cmp eax, 0x34
ja case.0x5058ac.73
movzx eax, byte [eax + 0x5088a4]
jmp dword [eax*4 + 0x50889c]
cmp esi, 0x25
je 0x5058bd
cmp esi, 0x3f
jne case.0x5058ac.72
cmp ecx, 0x3e
je 0x5058e5
jmp case.0x5058ac.72
mov edx, dword [ebp - 0x2f0]
cmp edx, 6
jne 0x5049b9
cmp esi, 0x3e
jne 0x5049b9
cmp ebx, 0x1d
je 0x5049b9
mov esi, dword [ebp - 0x2d4]
dec esi
cmp ebx, 0x10
mov ebx, dword [ebp - 0x2d8]
jne 0x505914
push dword [ebp - 0x330]
mov edx, dword [ebx + 0x1f60]
mov ecx, ebx
push esi
call fcn.00502990
add esp, 8
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp + 8]
lea eax, [ecx - 0x14]
cmp eax, 0x65
ja case.0x50592a.21
movzx eax, byte [eax + 0x5088f4]
jmp dword [eax*4 + 0x5088dc]
push dword [ebp - 0x2e4]
mov ecx, dword [ebx + 0x1f60]
mov edx, esi
push ebx
push dword [ebp - 0x360]
call fcn.00502ee0
add esp, 0xc
jmp 0x5059c8
push dword [ebp - 0x2e4]
mov ecx, dword [ebx + 0x1f60]
mov edx, esi
push ebx
push dword [ebp - 0x364]
call fcn.00502fd0
add esp, 0xc
jmp 0x5059c8
push dword [ebp - 0x30c]
mov ecx, dword [ebx + 0x1f60]
lea eax, [ebp - 0x268]
push dword [ebp - 0x2e4]
mov edx, esi
push eax
push ebx
push dword [ebp - 0x340]
call fcn.005030f0
add esp, 0x14
jmp 0x5059c8
mov ecx, dword [ebx + 0x1f60]
mov edx, esi
push ebx
push dword [ebp - 0x368]
call fcn.005032e0
add esp, 8
jmp 0x5059c8
push ecx
jmp 0x5059c0
push dword [ebp - 0x2e0]
push esi
mov ecx, ebx
call fcn.004e5610
mov edx, dword [ebp - 0x2fc]
mov esi, dword [ebp - 0x2f0]
cmp esi, 6
mov ecx, dword [ebp - 0x2f8]
cmove ecx, dword [ebp - 0x2d4]
lea eax, [edx + 1]
mov dword [ebp - 0x2d4], ecx
cmove eax, edx
cmp dword [ebp - 0x2dc], 0x25
mov dword [ebp - 0x2fc], eax
jne 0x505a03
push 0xf
jmp 0x505a17
cmp esi, 5
jne 0x505a0c
push 0xd
jmp 0x505a17
cmp esi, 6
jne 0x505a15
push 0x15
jmp 0x505a17
push 0x12
push ecx
mov ecx, ebx
call fcn.004e5610
mov eax, dword [ebp - 0x318]
mov dword [ebp + 8], eax
xor eax, eax
cmp edi, 3
sete al
cmp byte [ebp - 0x2fd], 0
mov dword [ebp - 0x2e4], eax
je 0x505a4a
cmp esi, 5
je 0x505a4a
dec dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x324]
mov esi, dword [ebp - 0x2d4]
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2f0], ecx
mov ecx, dword [ebp - 0x2ec]
jmp 0x505268
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x3c
jne 0x505abf
push dword [ebp - 0x2e0]
cmp ecx, 0x2f
mov byte [ebp - 0x32c], 1
mov ecx, dword [ebp - 0x2d8]
sete al
mov byte [ebp - 0x31c], al
mov eax, dword [ebp - 0x2d4]
dec eax
push eax
call fcn.004e5610
mov edi, dword [ebp - 0x2d0]
cmp edi, 0x21
je 0x506980
mov dword [ebp + 8], 2
jmp 0x506980
cmp ebx, 0x26
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
dec eax
push 0
push eax
call fcn.004e5610
mov dword [ebp + 8], 0xa
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x22
jne 0x505b19
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x18
jmp 0x50697a
cmp ebx, 0x27
jne 0x505b43
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x19
jmp 0x50697a
cmp ebx, 0x2d
jne 0x505b82
cmp dword [ebp - 0x2ec], ebx
jne 0x505b8e
mov edx, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
lea eax, [edx - 2]
cmp dword [ecx + 0x1f60], eax
jg 0x505b76
push dword [ebp - 0x2e0]
lea eax, [edx - 2]
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x1d
jmp 0x50697a
test ebx, ebx
js 0x505bcd
cmp ebx, 0x80
jge 0x505bcd
push ebx
call fcn.00594f55
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x2ec]
je 0x505bd3
cmp eax, 0x25
jne 0x505bd3
push dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
add eax, 0xfffffffe
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x1c
jmp 0x50697a
mov eax, dword [ebp - 0x2ec]
cmp ebx, 0x23
jne 0x505bfd
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x1b
jmp 0x50697a
cmp ebx, 0x5b
jne 0x505c31
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp - 0x2f0], 7
mov dword [ebp + 8], 0x1f
jmp 0x50697a
cmp ebx, 0x5d
jne 0x505c9e
cmp dword [ebp - 0x2f0], 7
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
jne 0x505c6c
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp - 0x2f0], 6
mov dword [ebp + 8], 0x15
jmp 0x50697a
mov eax, dword [ebp - 0x2d4]
dec eax
push eax
call fcn.004e5610
mov ecx, dword [ebp - 0x2d8]
push 0x1a
push dword [ebp - 0x2d4]
call fcn.004e5610
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x15
jmp 0x50697a
cmp dword [ebp - 0x2f0], 7
jne 0x50697a
cmp ebx, 0x21
jne 0x505cf3
cmp eax, 0x3c
jne 0x50697a
push dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
add eax, 0xfffffffe
push eax
call fcn.004e5610
mov ecx, dword [ebp - 0x2d8]
push 0x15
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x16
jmp case.0x5049cf.1
cmp ebx, 0x3e
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov ecx, dword [ebp - 0x2d8]
push 0x15
push dword [ebp - 0x2d4]
call fcn.004e5610
jmp case.0x5049cf.1
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x2d
jne 0x505d67
cmp dword [ebp - 0x2ec], ebx
jne 0x505d67
push dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
add eax, 0xfffffffe
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x1d
jmp 0x50697a
mov ecx, ebx
call fcn.00503550
test al, al
jne 0x50697a
mov eax, dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x2d4]
push eax
push dword [ebp - 0x380]
mov ecx, dword [eax + 0x1f60]
dec esi
mov edx, esi
call fcn.005033e0
add esp, 8
test al, al
je 0x505dbc
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push esi
call fcn.004e5610
mov dword [ebp + 8], 0x17
jmp 0x50697a
mov dword [ebp + 8], 0x1a
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x2d
jne 0x505e1b
cmp dword [ebp - 0x2ec], ebx
jne 0x505e1b
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
add eax, 0xfffffffe
cmp dword [ebp - 0x2f0], 7
jne 0x505e07
push 0x1f
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x1e
jmp 0x50697a
push 0x15
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x1e
jmp 0x50697a
mov ecx, ebx
call fcn.00503550
test al, al
je 0x50697a
cmp dword [ebp - 0x2f0], 7
mov ebx, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
lea eax, [ebx - 1]
jne 0x505e46
push 0x1f
jmp 0x505e48
push 0x15
push eax
call fcn.004e5610
mov edx, dword [ebp - 0x2d8]
mov esi, 1
mov edi, dword [ebp - 0x2f8]
mov ecx, dword [edx + 0xfa8]
cmp edi, ecx
jl 0x505e71
cmp edi, dword [edx + 0xfac]
jl 0x505e91
push edi
mov ecx, edx
call fcn.004e5490
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [edx + 0xfa8]
cmp edi, ecx
jl 0x505e9b
cmp edi, dword [edx + 0xfac]
jge 0x505e9b
mov eax, edi
sub eax, ecx
mov al, byte [eax + edx + 4]
jmp 0x505e9d
mov al, 0x20
movzx edx, al
cmp edx, dword [ebp - 0x374]
jge 0x505eb3
mov eax, dword [ebp - 0x36c]
mov al, byte [eax + edx]
jmp 0x505eb9
mov al, byte [ebp - 0x370]
test al, al
je 0x505ec7
mov edx, dword [ebp - 0x2d8]
inc esi
inc edi
jmp 0x505e65
push dword [ebp - 0x2e0]
lea eax, [ebx - 1]
mov ebx, dword [ebp - 0x2d8]
add eax, esi
mov ecx, ebx
push eax
call fcn.004e5610
mov ecx, dword [ebp - 0x2fc]
lea eax, [edi - 1]
dec ecx
mov dword [ebp - 0x2d4], eax
add ecx, esi
mov dword [ebp - 0x2fc], ecx
mov ecx, dword [ebx + 0xfa8]
cmp edi, ecx
jle 0x505f0a
cmp eax, dword [ebx + 0xfac]
jl 0x505f2a
push eax
mov ecx, ebx
call fcn.004e5490
mov ecx, dword [ebx + 0xfa8]
cmp edi, ecx
jle 0x505f3a
mov eax, dword [ebp - 0x2d4]
cmp eax, dword [ebx + 0xfac]
jge 0x505f3a
mov esi, dword [ebp - 0x2d4]
mov eax, ebx
sub eax, ecx
mov al, byte [eax + esi + 4]
jmp 0x505f42
mov esi, dword [ebp - 0x2d4]
mov al, 0x20
cmp dword [ebp - 0x2f0], 7
mov ecx, 0x1f
movzx ebx, al
mov eax, 0x15
cmovne ecx, eax
mov dword [ebp + 8], ecx
jmp 0x50525c
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x2d
jne 0x50697a
cmp dword [ebp - 0x2ec], ebx
jne 0x50697a
jmp 0x505d40
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x22
jne 0x50697a
push dword [ebp - 0x2e0]
push dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
call fcn.004e5610
mov dword [ebp + 8], 0x15
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x27
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x15
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x2d
jne 0x50697a
cmp dword [ebp - 0x2ec], ebx
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x15
jmp 0x50697a
cmp dword [ebp - 0x34c], 0x5d
mov ebx, dword [ebp - 0x2dc]
jne 0x50697a
cmp dword [ebp - 0x2ec], 0x5d
jne 0x50697a
cmp ebx, 0x3e
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
dec dword [ebp - 0x2e8]
mov dword [ebp + 8], 0
jmp 0x50697a
cmp dword [ebp - 0x2f0], 8
mov ebx, dword [ebp - 0x2dc]
je 0x50697a
cmp dword [ebp - 0x34c], 0x2d
jne 0x50697a
cmp dword [ebp - 0x2ec], 0x2d
jmp 0x50603d
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x2d
jne 0x50697a
cmp dword [ebp - 0x2ec], ebx
jne 0x50697a
mov ecx, dword [ebp - 0x2d8]
push 0x1d
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x17
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x7f
ja 0x5060f4
push ebx
call fcn.00595096
add esp, 4
test eax, eax
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
push ebx
call fcn.00594f26
add esp, 4
neg eax
sbb eax, eax
and eax, 5
add eax, 0x15
mov dword [ebp + 8], eax
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x3b
je 0x505f90
cmp ebx, 0x7f
ja 0x50614d
push ebx
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x50697a
cmp ebx, 0x2d
je 0x50697a
cmp ebx, 0x2e
je 0x50697a
push 0x1a
jmp 0x505f96
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x3b
jne 0x506191
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0
jmp 0x5061a6
cmp ebx, 0x23
je 0x50697a
test ebx, ebx
js 0x5061b7
cmp ebx, 0x80
jge 0x5061b7
push ebx
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x50697a
cmp ebx, 0x2e
je 0x50697a
cmp ebx, 0x2d
je 0x50697a
cmp ebx, 0x5f
je 0x50697a
cmp ebx, 0x3a
je 0x50697a
mov ecx, dword [ebp - 0x2d8]
push 2
cmp ebx, 0x7f
jbe 0x506201
mov eax, dword [ebp - 0x2d4]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0
jmp 0x50697a
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
test ebx, ebx
js 0x506243
cmp ebx, dword [ebp - 0x3ac]
jge 0x506235
mov eax, dword [ebp - 0x3a4]
mov al, byte [eax + ebx]
jmp 0x50623b
mov al, byte [ebp - 0x3a8]
test al, al
jne 0x50697a
cmp ebx, 0x2f
jne 0x506255
cmp dword [ebp - 0x2ec], 0x3c
je 0x50697a
push dword [ebp - 0x384]
mov esi, dword [ebp - 0x2d4]
lea eax, [ebp - 0x2fe]
push dword [ebp + 0x14]
dec esi
push dword [ebp - 0x388]
mov edx, esi
push eax
mov eax, dword [ebp - 0x2d8]
push eax
push dword [ebp - 0x378]
mov ecx, dword [eax + 0x1f60]
call fcn.00502c80
add esp, 0x18
cmp eax, 0xe
je 0x506299
cmp eax, 9
jne 0x5062d3
cmp byte [ebp - 0x31c], 0
jne 0x5062c4
mov ecx, dword [ebp - 0x354]
cmp eax, 0xe
mov dword [ebp - 0x2e4], 1
cmove ecx, dword [ebp - 0x358]
mov dword [ebp - 0x2f0], ecx
jmp 0x5062ce
mov dword [ebp - 0x2f0], 0
mov eax, 1
cmp ebx, 0x3e
jne 0x506386
mov ecx, dword [ebp - 0x2d8]
push eax
push dword [ebp - 0x2d4]
call fcn.004e5610
cmp dword [ebp - 0x2e4], 1
jne 0x506342
mov eax, dword [ebp - 0x2f0]
add eax, 0xfffffffe
cmp eax, 6
ja case.0x506305.7
jmp dword [eax*4 + 0x50895c]
mov dword [ebp + 8], 0x46
jmp 0x506349
mov dword [ebp + 8], 0x76
jmp 0x506349
mov dword [ebp + 8], 2
jmp 0x506349
mov dword [ebp + 8], 0x15
jmp 0x506349
mov dword [ebp + 8], 9
jmp 0x506349
mov dword [ebp + 8], 0x28
jmp 0x506349
mov dword [ebp + 8], 0
cmp byte [ebp - 0x2fe], 0
mov byte [ebp - 0x32c], 0
jne 0x50637a
cmp byte [ebp - 0x31c], 0
je 0x506374
dec dword [ebp - 0x2e8]
mov byte [ebp - 0x31c], 0
jmp 0x50697a
inc dword [ebp - 0x2e8]
mov byte [ebp - 0x31c], 0
jmp 0x50697a
mov edi, dword [ebp - 0x2d0]
cmp ebx, 0x2f
jne 0x5063e4
cmp edi, 0x3e
jne 0x5063e4
mov ecx, dword [ebp - 0x2d8]
cmp eax, 2
jne 0x5063a4
push eax
jmp 0x5063b8
push dword [ebp - 0x2e0]
push esi
call fcn.004e5610
mov ecx, dword [ebp - 0x2d8]
push 0xb
push dword [ebp - 0x2f8]
call fcn.004e5610
mov eax, dword [ebp - 0x2f8]
mov ebx, edi
mov dword [ebp - 0x2d4], eax
mov dword [ebp + 8], 0
mov byte [ebp - 0x32c], 0
jmp 0x506980
cmp eax, 2
je 0x506980
mov ecx, dword [ebp - 0x354]
cmp eax, 0x15
mov eax, 0x15
cmove ecx, eax
mov dword [ebp + 8], ecx
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
test ebx, ebx
js 0x506431
cmp ebx, dword [ebp - 0x3a0]
jge 0x506423
mov eax, dword [ebp - 0x398]
mov al, byte [eax + ebx]
jmp 0x506429
mov al, byte [ebp - 0x39c]
test al, al
jne 0x50697a
cmp edx, 1
jne 0x506484
mov ecx, dword [ebp - 0x2f0]
mov esi, ecx
mov eax, dword [ebp - 0x2d4]
dec eax
push ecx
push eax
mov eax, dword [ebp - 0x2d8]
mov ecx, eax
mov edx, dword [eax + 0x1f60]
call fcn.00502990
add esp, 8
mov dword [ebp - 0x358], eax
mov edi, eax
cmp esi, eax
mov esi, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], edi
je 0x506490
xor ecx, ecx
test eax, eax
cmove esi, ecx
mov dword [ebp - 0x2e4], esi
jmp 0x506490
mov edi, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x2d4]
push eax
push dword [ebp - 0x378]
mov ecx, dword [eax + 0x1f60]
lea edx, [edx - 1]
call fcn.00502bf0
add esp, 8
cmp ebx, 0x3e
jne 0x5064f4
mov ecx, dword [ebp - 0x2d8]
push 1
push dword [ebp - 0x2d4]
call fcn.004e5610
cmp esi, 1
jne 0x506342
lea eax, [edi - 2]
cmp eax, 6
ja case.0x506305.7
jmp dword [eax*4 + 0x508978]
mov dword [ebp + 8], 0x5a
jmp 0x506349
cmp ebx, 0x3d
jne 0x50679d
push 8
push dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
call fcn.004e5610
mov dword [ebp + 8], 0x13
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x3e
jne 0x5065ef
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov ecx, dword [ebp - 0x2d8]
push 1
push dword [ebp - 0x2d4]
call fcn.004e5610
cmp dword [ebp - 0x2e4], 1
jne 0x5065ab
mov eax, dword [ebp - 0x2f0]
add eax, 0xfffffffe
cmp eax, 6
ja case.0x50656e.7
jmp dword [eax*4 + 0x508994]
mov dword [ebp + 8], 0x46
jmp 0x5065b2
mov dword [ebp + 8], 0x76
jmp 0x5065b2
mov dword [ebp + 8], 2
jmp 0x5065b2
mov dword [ebp + 8], 0x15
jmp 0x5065b2
mov dword [ebp + 8], 9
jmp 0x5065b2
mov dword [ebp + 8], 0x28
jmp 0x5065b2
mov dword [ebp + 8], 0
cmp byte [ebp - 0x2fe], 0
mov byte [ebp - 0x32c], 0
jne 0x5065e3
cmp byte [ebp - 0x31c], 0
je 0x5065dd
dec dword [ebp - 0x2e8]
mov byte [ebp - 0x31c], 0
jmp case.0x5049cf.1
inc dword [ebp - 0x2e8]
mov byte [ebp - 0x31c], 0
jmp case.0x5049cf.1
cmp ebx, 0x22
jne 0x506619
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 6
jmp 0x50697a
cmp ebx, 0x27
jne 0x506643
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 7
jmp 0x50697a
cmp ebx, 0x3d
jne 0x506653
push dword [ebp - 0x2e0]
jmp 0x5064ff
cmp ebx, 0x2f
jne 0x5066af
cmp ecx, 0x3e
jne 0x506708
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov esi, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2d8]
push 0xb
push esi
call fcn.004e5610
mov edi, dword [ebp - 0x2d0]
mov ebx, edi
mov dword [ebp - 0x2d4], esi
mov dword [ebp + 8], 0
mov byte [ebp - 0x32c], 0
jmp 0x506980
cmp ebx, 0x3f
jne 0x506700
cmp ecx, 0x3e
jne 0x506708
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov esi, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2d8]
push 0xd
push esi
call fcn.004e5610
mov edi, dword [ebp - 0x2d0]
mov ebx, edi
mov dword [ebp - 0x2d4], esi
mov dword [ebp + 8], 0
jmp 0x506980
test ebx, ebx
js 0x50697a
cmp ebx, dword [ebp - 0x374]
jge 0x50671b
mov eax, dword [ebp - 0x36c]
mov al, byte [eax + ebx]
jmp 0x506721
mov al, byte [ebp - 0x370]
test al, al
je 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 3
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x22
jne 0x50697a
cmp edx, 1
jne 0x50678a
mov eax, dword [ebp - 0x2d8]
mov ecx, eax
push dword [ebp - 0x2f0]
push dword [ebp - 0x2d4]
mov edx, dword [eax + 0x1f60]
call fcn.00502990
add esp, 8
mov dword [ebp - 0x2f0], eax
push 6
push dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
call fcn.004e5610
mov dword [ebp + 8], 8
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x27
jne 0x50697a
cmp edx, 1
jne 0x5067e5
mov eax, dword [ebp - 0x2d8]
mov ecx, eax
push dword [ebp - 0x2f0]
push dword [ebp - 0x2d4]
mov edx, dword [eax + 0x1f60]
call fcn.00502990
add esp, 8
mov dword [ebp - 0x2f0], eax
push 7
jmp 0x50678c
mov ebx, dword [ebp - 0x2dc]
test ebx, ebx
js 0x506814
cmp ebx, dword [ebp - 0x374]
jge 0x506806
mov eax, dword [ebp - 0x36c]
mov al, byte [eax + ebx]
jmp 0x50680c
mov al, byte [ebp - 0x370]
test al, al
jne 0x50697a
cmp ebx, 0x22
jne 0x50682e
cmp dword [ebp - 0x2ec], 0x3d
jne 0x506848
mov dword [ebp + 8], 6
jmp 0x50697a
cmp ebx, 0x27
jne 0x506848
cmp dword [ebp - 0x2ec], 0x3d
jne 0x506848
mov dword [ebp + 8], 7
jmp 0x50697a
mov eax, dword [ebp - 0x2d8]
mov edx, eax
mov ecx, dword [eax + 0x1f60]
call fcn.00502b40
mov ebx, dword [ebp - 0x2d8]
test al, al
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
je 0x506871
push 5
jmp 0x506877
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
cmp dword [ebp - 0x2dc], 0x3e
jne 0x5068c8
push 1
push dword [ebp - 0x2d4]
mov ecx, ebx
call fcn.004e5610
cmp dword [ebp - 0x2e4], 1
jne 0x5065ab
mov eax, dword [ebp - 0x2f0]
add eax, 0xfffffffe
cmp eax, 6
ja case.0x50656e.7
jmp dword [eax*4 + 0x5089b0]
mov dword [ebp + 8], 0x5a
jmp 0x5065b2
mov dword [ebp + 8], 8
jmp case.0x5049cf.1
mov edi, dword [ebp - 0x2dc]
cmp edi, 0x80
jge 0x506916
push edi
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x5068f4
cmp edi, 0x5f
jne 0x506916
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x2e
jmp case.0x5049cf.1
cmp edi, 0x2f
jne 0x506a3a
mov ecx, dword [ebp - 0x2d0]
cmp ecx, 0x2a
jne 0x5069bf
mov ebx, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
lea eax, [ebx - 1]
push eax
call fcn.004e5610
xor eax, eax
cmp dword [ebp - 0x304], 0x2a
sete al
cmp dword [ebp - 0x304], edi
lea eax, [eax*2 + 0x2a]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x2f8]
cmovne eax, ebx
mov dword [ebp - 0x2d4], eax
mov ebx, dword [ebp - 0x2dc]
mov edi, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2d8]
call fcn.004e7ad0
mov esi, dword [ebp - 0x2d4]
cmp esi, eax
mov ecx, dword [ebp + 8]
setge al
cmp ecx, 0x47
jne 0x5080ba
cmp ebx, 0x22
jne 0x50806b
test al, al
je 0x50807c
mov dword [ebp + 8], 0x4b
jmp 0x50525c
cmp ecx, 0x2f
jne 0x5069e6
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x2b
jmp case.0x5049cf.1
mov ecx, dword [ebp - 0x35c]
test ecx, ecx
js 0x506b64
cmp ecx, dword [ebp - 0x394]
jge 0x506a07
mov eax, dword [ebp - 0x38c]
mov al, byte [eax + ecx]
jmp 0x506a0d
mov al, byte [ebp - 0x390]
test al, al
je 0x506b64
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x34
jmp case.0x5049cf.1
cmp edi, 0x22
jne 0x506a64
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x30
jmp case.0x5049cf.1
cmp edi, 0x27
jne 0x506a8e
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x31
jmp case.0x5049cf.1
cmp edi, 0x3c
jne 0x506b23
cmp dword [ebp - 0x2d0], 0x21
jne 0x506b64
cmp dword [ebp - 0x304], 0x2d
jne 0x506b64
mov edx, dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x2d4]
add esi, 3
mov ecx, dword [edx + 0xfa8]
cmp esi, ecx
jl 0x506ad2
cmp esi, dword [edx + 0xfac]
jl 0x506af6
push esi
mov ecx, edx
call fcn.004e5490
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [edx + 0xfa8]
cmp esi, ecx
jl 0x506b64
cmp esi, dword [edx + 0xfac]
jge 0x506b64
mov eax, edx
sub eax, ecx
mov al, byte [eax + esi + 4]
cmp al, 0x2d
jne 0x506b64
mov eax, dword [ebp - 0x2d4]
mov ecx, edx
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x2b
jmp case.0x5049cf.1
cmp edi, 0x2d
jne 0x506b64
cmp dword [ebp - 0x2d0], edi
jne 0x506b64
cmp dword [ebp - 0x304], 0x3e
jne 0x506b64
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov eax, dword [ebp - 0x308]
mov dword [ebp + 8], 0x2b
jmp 0x50696e
mov ecx, edi
call fcn.005027b0
test al, al
je 0x506bba
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
cmp dword [ebp - 0x2e4], 1
mov ecx, 0x32
mov eax, 0x41
cmove eax, ecx
mov ecx, dword [ebp - 0x2d8]
push eax
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x29
jmp case.0x5049cf.1
cmp edi, 0x20
je 0x506bc8
cmp edi, 9
jne case.0x5049cf.1
cmp ebx, 0x28
jne case.0x5049cf.1
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x29
jmp case.0x5049cf.1
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x80
jge 0x506c27
push ebx
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x50697a
cmp ebx, 0x2e
je 0x50697a
cmp ebx, 0x5f
je 0x50697a
push dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x2d4]
push eax
push dword [ebp - 0x360]
mov ecx, dword [eax + 0x1f60]
dec esi
mov edx, esi
call fcn.00502ee0
add esp, 0xc
mov dword [ebp + 8], 0x29
cmp ebx, 0x2f
jne 0x506c93
mov edi, dword [ebp - 0x2d0]
cmp edi, 0x2a
jne 0x506c82
xor eax, eax
cmp dword [ebp - 0x304], edi
sete al
lea eax, [eax*2 + 0x2a]
mov dword [ebp + 8], eax
jmp 0x506980
cmp edi, 0x2f
jne 0x506cf7
mov dword [ebp + 8], 0x2b
jmp 0x506980
cmp ebx, 0x22
jne 0x506ca4
mov dword [ebp + 8], 0x30
jmp 0x50697a
cmp ebx, 0x27
jne 0x506cb5
mov dword [ebp + 8], 0x31
jmp 0x50697a
mov edi, dword [ebp - 0x2d0]
cmp ebx, 0x2d
jne 0x506cf7
cmp edi, ebx
jne 0x506cf7
cmp dword [ebp - 0x304], 0x3e
jne 0x506cf7
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push esi
call fcn.004e5610
mov eax, dword [ebp - 0x308]
mov dword [ebp + 8], 0x2b
mov dword [ebp - 0x2d4], eax
jmp 0x506980
mov ecx, ebx
call fcn.005027b0
test al, al
je 0x506980
cmp dword [ebp - 0x2e4], 1
mov ecx, 0x32
mov eax, 0x41
cmove eax, ecx
mov ecx, dword [ebp - 0x2d8]
push eax
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x29
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x2f
jne 0x50697a
cmp dword [ebp - 0x2ec], 0x2a
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x29
mov ebx, 0x20
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0xd
je 0x506d90
cmp ebx, 0xa
jne 0x50697a
mov ecx, dword [ebp - 0x2d4]
mov eax, 0x3a
dec ecx
cmp edx, 1
mov edx, 0x2b
cmove eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x2d8]
call fcn.004e5610
mov dword [ebp + 8], 0x29
mov ebx, 0x20
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x5c
jne 0x506df4
cmp ecx, 0x22
je 0x506de3
cmp ecx, 0x27
je 0x506de3
cmp ecx, 0x5c
jne 0x50697a
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2d4], eax
jmp 0x50697a
cmp ebx, 0x22
jne 0x506e27
mov eax, 0x3f
mov ecx, 0x30
cmp edx, 1
cmove eax, ecx
push eax
push dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
call fcn.004e5610
mov dword [ebp + 8], 0x29
jmp 0x50697a
cmp edx, 1
jne 0x506e77
cmp ebx, 0x2d
jne 0x506e77
cmp ecx, ebx
jne 0x50697a
cmp dword [ebp - 0x304], 0x3e
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov eax, dword [ebp - 0x308]
mov dword [ebp + 8], 0x2b
mov dword [ebp - 0x2d4], eax
jmp 0x50697a
cmp ebx, 0xd
je 0x506e85
cmp ebx, 0xa
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x33
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x5c
je 0x506dd0
cmp ebx, 0x27
jne 0x506ec9
lea eax, [ebx + 0x19]
lea ecx, [ebx + 0xa]
jmp 0x506e03
cmp edx, 1
jne 0x506f19
cmp ebx, 0x2d
jne 0x506f19
cmp ecx, ebx
jne 0x50697a
cmp dword [ebp - 0x304], 0x3e
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov eax, dword [ebp - 0x308]
mov dword [ebp + 8], 0x2b
mov dword [ebp - 0x2d4], eax
jmp 0x50697a
cmp ebx, 0xd
je 0x506f27
cmp ebx, 0xa
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov eax, dword [ebp - 0x2ec]
cmp eax, 0x5c
je 0x50697a
cmp dword [ebp - 0x34c], 0x5c
jne 0x506f66
cmp eax, 0xd
jne 0x506f66
cmp ebx, 0xa
je 0x50697a
mov dword [ebp + 8], 0x33
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0xd
je 0x506fa7
cmp ebx, 0xa
je 0x506fa7
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x29
jmp 0x50697a
cmp ecx, 0xd
je 0x50697a
cmp ecx, 0xa
je 0x50697a
push dword [ebp - 0x2e0]
jmp 0x506e0a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0xd
je 0x507014
cmp ebx, 0xa
je 0x507014
cmp ebx, 0x2f
je 0x507020
cmp ebx, 0x5c
jne 0x50697a
cmp ecx, ebx
je 0x506fef
cmp ecx, 0x2f
jne 0x50697a
mov eax, dword [ebp - 0x2f8]
mov ebx, ecx
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d4], eax
inc eax
push 0x20
push eax
call fcn.004e5560
movzx edi, al
jmp 0x506980
cmp ebx, 0x2f
jne 0x506fb9
nop dword [eax]
cmp ecx, 0x80
jae 0x506fb9
push ecx
call fcn.00594fe0
add esp, 4
test eax, eax
je 0x506fb9
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2d8]
mov ebx, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
inc eax
push 0x20
push eax
mov dword [ebp - 0x2f8], eax
call fcn.004e5560
movzx ecx, al
mov dword [ebp - 0x2d0], ecx
jmp 0x507020
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x80
jge 0x5070ac
push ebx
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x507087
cmp ebx, 0x5f
jne 0x5070ac
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x4a
jmp 0x50697a
cmp ebx, 0x27
jne 0x5070d6
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x48
jmp 0x50697a
cmp ebx, 0x22
jne 0x507100
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x4b
jmp 0x50697a
mov edi, dword [ebp - 0x2d0]
cmp ebx, 0x3c
jne 0x50715d
cmp edi, 0x21
jne 0x50715d
cmp dword [ebp - 0x304], 0x2d
mov ebx, dword [ebp - 0x2d8]
jne 0x507163
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push 0x20
add eax, 3
push eax
call fcn.004e5560
cmp al, 0x2d
jne 0x507163
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x48
jmp 0x506980
mov ebx, dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x2dc]
mov ecx, esi
call fcn.005027b0
test al, al
je 0x5071a2
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
mov edx, dword [ebp - 0x2e4]
mov ecx, 0x47
call fcn.00502b00
push eax
push dword [ebp - 0x2d4]
jmp 0x5071c8
cmp esi, 0x20
je 0x5071b0
cmp esi, 9
jne 0x507f33
cmp dword [ebp + 8], 0x46
jne 0x507f33
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
dec eax
push eax
mov ecx, ebx
call fcn.004e5610
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x47
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x80
jge 0x507212
push ebx
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x50697a
cmp ebx, 0x2e
je 0x50697a
cmp ebx, 0x5f
je 0x50697a
mov eax, dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2d4]
push esi
mov ecx, dword [eax + 0x1f60]
push eax
push dword [ebp - 0x364]
lea edx, [edx - 1]
call fcn.00502fd0
add esp, 0xc
mov dword [ebp + 8], eax
cmp eax, 0x47
jne 0x50697a
cmp ebx, 0x22
jne 0x50725a
mov dword [ebp + 8], 0x4b
jmp 0x50697a
cmp ebx, 0x27
jne 0x50726b
mov dword [ebp + 8], 0x48
jmp 0x50697a
mov ecx, ebx
call fcn.005027b0
test al, al
je 0x50697a
mov edx, esi
mov ecx, 0x47
call fcn.00502b00
push eax
push dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
call fcn.004e5610
mov dword [ebp + 8], 0x47
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x22
jne 0x5072b7
push dword [ebp - 0x2e0]
jmp 0x507287
cmp ebx, 0xd
je 0x5072c5
cmp ebx, 0xa
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x4d
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0xd
je 0x5072fe
cmp ebx, 0xa
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x47
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0xd
je 0x507358
cmp ebx, 0xa
je 0x507358
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x47
jmp 0x50697a
cmp ecx, 0xd
je 0x50697a
cmp ecx, 0xa
je 0x50697a
push dword [ebp - 0x2e0]
jmp 0x507287
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x80
jge 0x5073ba
push ebx
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x507395
cmp ebx, 0x5f
jne 0x5073ba
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x60
jmp 0x50697a
cmp ebx, 0x3c
jne 0x507423
mov edi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d8]
cmp edi, 0x21
jne 0x50751b
cmp dword [ebp - 0x304], 0x2d
jne 0x50751b
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push 0x20
add eax, 3
push eax
call fcn.004e5560
cmp al, 0x2d
jne 0x50751b
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x5c
jmp 0x506980
cmp ebx, 0x23
jne 0x50744d
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x5c
jmp 0x50697a
cmp ebx, 0x22
jne 0x50749b
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ebx, dword [ebp - 0x2d8]
dec eax
push eax
mov ecx, ebx
call fcn.004e5610
mov edi, dword [ebp - 0x2d0]
cmp edi, 0x22
jne 0x507489
cmp dword [ebp - 0x304], edi
jne 0x507489
mov dword [ebp + 8], 0x62
jmp 0x5074d5
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x5e
jmp 0x506980
cmp ebx, 0x27
mov ebx, dword [ebp - 0x2d8]
jne 0x507515
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
mov edi, dword [ebp - 0x2d0]
cmp edi, 0x27
jne 0x507503
cmp dword [ebp - 0x304], edi
jne 0x507503
mov dword [ebp + 8], 0x61
mov eax, dword [ebp - 0x308]
mov edx, 0x20
mov dword [ebp - 0x2d4], eax
mov ecx, ebx
push edx
inc eax
mov dword [ebp - 0x2ec], edx
push eax
call fcn.004e5560
movzx edi, al
mov ebx, 0x20
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x5f
jmp 0x506980
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2dc]
mov ecx, esi
call fcn.005027b0
test al, al
je 0x507566
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
mov edx, dword [ebp - 0x2e4]
mov ecx, 0x65
call fcn.00502b00
push eax
push dword [ebp - 0x2d4]
mov ecx, ebx
call fcn.004e5610
mov ebx, esi
jmp 0x506980
cmp esi, 0x20
je 0x507574
cmp esi, 9
jne 0x507f33
cmp dword [ebp + 8], 0x5a
jne 0x507f33
mov eax, dword [ebp - 0x2d4]
mov ecx, ebx
push dword [ebp - 0x2e0]
dec eax
push eax
call fcn.004e5610
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x5b
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x80
jge 0x5075d6
push ebx
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x50697a
cmp ebx, 0x2e
je 0x50697a
cmp ebx, 0x5f
je 0x50697a
push dword [ebp - 0x30c]
mov esi, dword [ebp - 0x2e4]
lea eax, [ebp - 0x268]
mov edx, dword [ebp - 0x2d4]
push esi
push eax
mov eax, dword [ebp - 0x2d8]
push eax
push dword [ebp - 0x340]
lea edx, [edx - 1]
mov ecx, dword [eax + 0x1f60]
call fcn.005030f0
add esp, 0x14
mov dword [ebp + 8], 0x5b
cmp ebx, 0x23
jne 0x507626
mov dword [ebp + 8], 0x5c
jmp 0x50697a
cmp ebx, 0x22
jne 0x50767d
mov edi, dword [ebp - 0x2d0]
cmp edi, ebx
jne 0x507671
cmp dword [ebp - 0x304], ebx
jne 0x507671
mov eax, dword [ebp - 0x308]
mov ebx, 0x20
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d4], eax
inc eax
push ebx
push eax
mov dword [ebp + 8], 0x62
mov dword [ebp - 0x2ec], ebx
call fcn.004e5560
movzx edi, al
jmp 0x506980
mov dword [ebp + 8], 0x5e
jmp 0x506980
cmp ebx, 0x27
jne 0x5076d4
mov edi, dword [ebp - 0x2d0]
cmp edi, ebx
jne 0x5076c8
cmp dword [ebp - 0x304], ebx
jne 0x5076c8
mov eax, dword [ebp - 0x308]
mov ebx, 0x20
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d4], eax
inc eax
push ebx
push eax
mov dword [ebp + 8], 0x61
mov dword [ebp - 0x2ec], ebx
call fcn.004e5560
movzx edi, al
jmp 0x506980
mov dword [ebp + 8], 0x5f
jmp 0x506980
mov ecx, ebx
call fcn.005027b0
test al, al
je 0x50697a
mov edx, esi
mov ecx, 0x65
call fcn.00502b00
mov ecx, dword [ebp - 0x2d8]
push eax
push dword [ebp - 0x2d4]
call fcn.004e5610
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0xd
je 0x50771a
cmp ebx, 0xa
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x5b
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x5c
jne 0x507764
cmp ecx, 0x22
je 0x506fef
cmp ecx, 0x27
je 0x506fef
cmp ecx, 0x5c
jmp 0x506fe9
cmp ebx, 0x22
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x5b
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x5c
je 0x50774a
cmp ebx, 0x27
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x5b
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x27
jne 0x50697a
cmp dword [ebp - 0x2ec], ebx
jne 0x50697a
cmp dword [ebp - 0x34c], ebx
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x5b
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x22
jne 0x50697a
cmp dword [ebp - 0x2ec], ebx
jne 0x50697a
cmp dword [ebp - 0x34c], ebx
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x5b
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x80
jge 0x50788c
push ebx
call fcn.00594f26
add esp, 4
test eax, eax
jne 0x50697a
cmp ebx, 0x2e
je 0x50697a
cmp ebx, 0x5f
je 0x50697a
mov eax, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x2d4]
push eax
push dword [ebp - 0x368]
mov ecx, dword [eax + 0x1f60]
lea edx, [edx - 1]
call fcn.005032e0
add esp, 8
cmp ebx, 0x2f
jne 0x5078f5
mov edi, dword [ebp - 0x2d0]
cmp edi, 0x2a
jne 0x5078d8
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2d4], eax
mov dword [ebp + 8], 0x7c
jmp 0x506980
cmp edi, 0x2f
jne 0x507927
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2d4], eax
mov dword [ebp + 8], 0x7d
jmp 0x506980
cmp ebx, 0x23
jne 0x507906
mov dword [ebp + 8], 0x7d
jmp 0x50697a
cmp ebx, 0x22
jne 0x507927
mov edx, 0x41efdc
mov dword [ebp + 8], 0x77
lea ecx, [ebp - 0xd8]
call fcn.00508a40
jmp 0x50697a
mov edi, dword [ebp - 0x2d4]
mov esi, 0x44c77c
mov ebx, dword [ebp - 0x2d8]
sub edi, esi
nop word [eax + eax]
push 0x20
lea eax, [edi + esi]
mov ecx, ebx
push eax
call fcn.004e5560
cmp byte [esi], al
jne 0x5079e4
inc esi
cmp byte [esi], 0
jne 0x507940
mov ecx, dword [ebp - 0x33c]
lea eax, [ebp - 0x31d]
push eax
mov eax, dword [ebp - 0x2d4]
mov edx, 0xc8
push ebx
push ecx
add eax, 3
mov byte [ebp - 0x31d], 0
push eax
lea ecx, [ebp - 0xd8]
call fcn.005037c0
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x2d4], eax
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5079a0
sub ecx, edx
je case.0x5049cf.1
mov ebx, dword [ebp - 0x2dc]
xor eax, eax
cmp byte [ebp - 0x31d], al
mov edi, dword [ebp - 0x2d0]
setne al
add eax, 0x77
cmp byte [ebp - 0x2ff], 0
mov dword [ebp + 8], eax
je 0x506980
inc dword [ebp - 0x2e8]
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x27
jne 0x507a0b
mov edx, 0x41efe4
mov dword [ebp + 8], 0x78
lea ecx, [ebp - 0xd8]
call fcn.00508a40
jmp 0x50697a
mov edi, dword [ebp - 0x2d0]
cmp ebx, 0x24
jne 0x507a2d
mov ecx, edi
call fcn.00503590
test al, al
je 0x507a2d
mov dword [ebp + 8], 0x7b
jmp 0x506980
mov ecx, ebx
call fcn.005027b0
test al, al
mov ecx, 0x76
mov eax, 0x7f
cmovne ecx, eax
mov dword [ebp + 8], ecx
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
lea eax, [ebx - 0x30]
cmp eax, 9
jbe 0x50697a
push ebx
push 0x44c780
call fcn.00584ce0
add esp, 8
test eax, eax
jne 0x50697a
cmp ebx, 0x2d
je 0x507a7d
cmp ebx, 0x2b
jne 0x507a95
mov eax, dword [ebp - 0x2ec]
cmp eax, 0x65
je 0x50697a
cmp eax, 0x45
je 0x50697a
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
dec eax
push 0x7a
push eax
call fcn.004e5610
mov ecx, ebx
call fcn.005027b0
test al, al
mov ecx, 0x76
mov eax, 0x7f
cmovne ecx, eax
mov dword [ebp + 8], ecx
jmp 0x50697a
call fcn.005035c0
test al, al
jne case.0x5049cf.1
mov ecx, dword [ebp - 0x2d8]
push 0x7b
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x76
jmp case.0x5049cf.1
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x2f
jne 0x50697a
cmp dword [ebp - 0x2ec], 0x2a
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x76
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0xd
je 0x507b47
cmp ebx, 0xa
jne 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x76
jmp 0x50697a
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x5c
jne 0x507c07
cmp byte [ebp - 0xd8], 0x22
je 0x506de3
cmp ecx, 0x24
je 0x506de3
cmp ecx, 0x7b
je 0x506de3
cmp byte [ebp - 0xd8], 0
lea esi, [ebp - 0xd8]
mov ebx, dword [ebp - 0x2d8]
je 0x507bdb
mov edi, dword [ebp - 0x2d4]
mov eax, esi
sub edi, eax
nop dword [eax]
push 0x20
lea eax, [edi + esi]
mov ecx, ebx
push eax
call fcn.004e5560
cmp byte [esi], al
jne case.0x5049cf.1
inc esi
cmp byte [esi], 0
jne 0x507bc0
cmp byte [ebp - 0xd8], 0x22
jne 0x507c92
push dword [ebp - 0x2e0]
mov ecx, ebx
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x76
jmp case.0x5049cf.1
cmp ebx, 0x7b
jne 0x507c13
cmp ecx, 0x24
je 0x507c1d
jmp 0x507b9a
cmp ebx, 0x24
jne 0x507b9a
cmp ecx, 0x7b
jne 0x507c60
mov ecx, dword [ebp - 0x304]
call fcn.00503590
test al, al
je 0x507c51
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x68
jmp 0x50697a
cmp ebx, 0x24
jne 0x507b9a
mov ecx, dword [ebp - 0x2d0]
call fcn.00503590
test al, al
je 0x507b9a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
dec eax
push eax
call fcn.004e5610
mov dword [ebp + 8], 0x7e
jmp 0x50697a
mov eax, dword [ebp - 0x2ec]
cmp eax, 0xd
je 0x507ca6
cmp eax, 0xa
jne case.0x5049cf.1
lea esi, [ebp - 0xd8]
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x507cb0
mov edi, dword [ebp - 0x2d4]
sub esi, ecx
push 0x20
add edi, esi
mov ecx, ebx
push edi
call fcn.004e5560
push 0x20
lea ecx, [edi + 1]
mov bl, al
push ecx
mov ecx, dword [ebp - 0x2d8]
call fcn.004e5560
movsx ecx, bl
mov bh, al
call fcn.005035f0
test al, al
jne 0x507d05
cmp bl, 0x3b
jne case.0x5049cf.1
movsx ecx, bh
call fcn.005035f0
test al, al
je case.0x5049cf.1
mov eax, dword [ebp - 0x33c]
cmp edi, eax
mov ecx, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
cmovl eax, esi
dec ecx
add ecx, eax
mov dword [ebp - 0x2d4], ecx
push ecx
mov ecx, dword [ebp - 0x2d8]
call fcn.004e5610
cmp byte [ebp - 0x2ff], 0
mov ebx, dword [ebp - 0x2dc]
mov edi, dword [ebp - 0x2d0]
mov dword [ebp + 8], 0x76
je 0x506980
dec dword [ebp - 0x2e8]
jmp 0x506980
cmp byte [ebp - 0xd8], 0x27
jne 0x507da0
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x5c
je 0x506de3
cmp ebx, 0x27
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x76
jmp 0x50697a
mov ecx, dword [ebp - 0x2ec]
call fcn.005035f0
test al, al
je case.0x5049cf.1
mov ebx, dword [ebp - 0x2d8]
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0x2d4]
mov ecx, ebx
call fcn.004e7a60
test al, al
je case.0x5049cf.1
lea esi, [ebp - 0xd8]
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x507de0
jmp 0x507cb7
call fcn.005035c0
test al, al
jne case.0x5049cf.1
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x77
jmp case.0x5049cf.1
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x7d
jne 0x50697a
push dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2d8]
push dword [ebp - 0x2d4]
call fcn.004e5610
mov dword [ebp + 8], 0x77
jmp 0x50697a
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x2e0]
mov ebx, dword [ebp - 0x2d8]
dec eax
push eax
mov ecx, ebx
call fcn.004e5610
mov esi, dword [ebp - 0x2dc]
mov ecx, esi
call fcn.004a5840
mov edi, dword [ebp - 0x2d0]
test al, al
jne 0x508059
cmp esi, 0x2e
jne 0x507e98
mov ecx, edi
call fcn.004a5840
test al, al
jne 0x508059
mov ecx, esi
call fcn.00502780
test al, al
je 0x507eb5
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x79
jmp 0x506980
cmp esi, 0x2f
jne 0x507f00
cmp edi, 0x2a
jne 0x507edd
mov eax, dword [ebp - 0x2f8]
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2d4], eax
mov dword [ebp + 8], 0x7c
jmp 0x506980
cmp edi, 0x2f
jne 0x507f3e
mov eax, dword [ebp - 0x2f8]
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2d4], eax
mov dword [ebp + 8], 0x7d
jmp 0x506980
cmp esi, 0x23
jne 0x507f17
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x7d
jmp 0x506980
cmp esi, 0x22
jne 0x507f3e
mov edx, 0x41efdc
mov dword [ebp + 8], 0x77
lea ecx, [ebp - 0xd8]
call fcn.00508a40
mov ebx, dword [ebp - 0x2dc]
jmp 0x506980
push 0x44c77c
push dword [ebp - 0x2d4]
mov ecx, ebx
call fcn.004e7a60
test al, al
je 0x507fda
mov ecx, dword [ebp - 0x33c]
lea eax, [ebp - 0x31e]
push eax
mov eax, dword [ebp - 0x2d4]
mov edx, 0xc8
push ebx
push ecx
add eax, 3
mov byte [ebp - 0x31e], 0
push eax
lea ecx, [ebp - 0xd8]
call fcn.005037c0
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x2d4], eax
add esp, 0x10
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x507fa0
sub ecx, edx
je 0x507f33
mov ebx, dword [ebp - 0x2dc]
xor eax, eax
cmp byte [ebp - 0x31e], al
setne al
add eax, 0x77
cmp byte [ebp - 0x2ff], 0
mov dword [ebp + 8], eax
je 0x506980
inc dword [ebp - 0x2e8]
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
cmp ebx, 0x27
jne 0x508001
mov edx, 0x41efe4
mov dword [ebp + 8], 0x78
lea ecx, [ebp - 0xd8]
call fcn.00508a40
jmp 0x506980
cmp ebx, 0x24
jne 0x50801d
mov ecx, edi
call fcn.00503590
test al, al
je 0x50801d
mov dword [ebp + 8], 0x7b
jmp 0x506980
mov ecx, ebx
call fcn.005027b0
test al, al
je 0x508034
mov dword [ebp + 8], 0x7f
jmp 0x506980
cmp dword [ebp + 8], 0x7f
jne 0x506980
mov ecx, ebx
call fcn.004a5850
test al, al
je 0x506980
mov dword [ebp + 8], 0x76
jmp 0x506980
mov ebx, dword [ebp - 0x2dc]
mov dword [ebp + 8], 0x7a
jmp 0x506980
cmp ebx, 0x27
jne 0x50807c
mov dword [ebp + 8], 0x48
jmp 0x50525c
mov ecx, ebx
call fcn.00502780
test al, al
je 0x508093
mov dword [ebp + 8], 0x4a
jmp 0x50525c
mov ecx, ebx
call fcn.005027b0
test al, al
je 0x50525c
mov ecx, dword [ebp - 0x2d8]
push 0x47
push dword [ebp - 0x2d4]
call fcn.004e5610
jmp 0x505256
cmp ecx, 0x51
jne 0x508123
cmp ebx, 0x22
jne 0x5080d4
test al, al
je 0x5080e5
mov dword [ebp + 8], 0x55
jmp 0x50525c
cmp ebx, 0x27
jne 0x5080e5
mov dword [ebp + 8], 0x52
jmp 0x50525c
mov ecx, ebx
call fcn.00502780
test al, al
je 0x5080fc
mov dword [ebp + 8], 0x54
jmp 0x50525c
mov ecx, ebx
call fcn.005027b0
test al, al
je 0x50525c
mov ecx, dword [ebp - 0x2d8]
push 0x51
push dword [ebp - 0x2d4]
call fcn.004e5610
jmp 0x505256
cmp ecx, 0x29
jne 0x50525c
cmp ebx, 0x2f
jne 0x508174
cmp edi, 0x2a
jne 0x508163
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
add eax, 2
push 0x20
push eax
call fcn.004e5560
xor ecx, ecx
cmp al, 0x2a
sete cl
lea ecx, [ecx*2 + 0x2a]
mov dword [ebp + 8], ecx
jmp 0x505256
cmp edi, 0x2f
jne 0x50819e
mov dword [ebp + 8], 0x2b
jmp 0x50525c
cmp ebx, 0x22
jne 0x508189
test al, al
je 0x50819e
mov dword [ebp + 8], 0x30
jmp 0x50525c
cmp ebx, 0x27
jne 0x50819e
test al, al
je 0x50819e
mov dword [ebp + 8], 0x31
jmp 0x50525c
mov ecx, ebx
call fcn.00502780
test al, al
je 0x5081b5
mov dword [ebp + 8], 0x2e
jmp 0x50525c
mov ecx, ebx
call fcn.005027b0
test al, al
je 0x50525c
mov edx, dword [ebp - 0x2e4]
mov ecx, 0x32
call fcn.00502b00
mov ecx, dword [ebp - 0x2d8]
push eax
push dword [ebp - 0x2d4]
call fcn.004e5610
jmp 0x505256
push dword [ebp - 0x2e4]
mov ecx, edx
push edx
push dword [ebp - 0x360]
call fcn.004e7ad0
lea edx, [edi - 1]
mov ecx, eax
call fcn.00502ee0
mov ebx, dword [ebp - 0x2d8]
add esp, 0xc
jmp 0x5082c6
push dword [ebp - 0x2e4]
mov ecx, edx
push edx
push dword [ebp - 0x364]
call fcn.004e7ad0
lea edx, [edi - 1]
mov ecx, eax
call fcn.00502fd0
mov ebx, dword [ebp - 0x2d8]
add esp, 0xc
jmp 0x5082c6
push dword [ebp - 0x30c]
lea eax, [ebp - 0x268]
mov ecx, edx
push dword [ebp - 0x2e4]
push eax
push edx
push dword [ebp - 0x340]
call fcn.004e7ad0
lea edx, [edi - 1]
mov ecx, eax
call fcn.005030f0
mov ebx, dword [ebp - 0x2d8]
add esp, 0x14
jmp 0x5082c6
push edx
push dword [ebp - 0x368]
mov ecx, edx
call fcn.004e7ad0
lea edx, [edi - 1]
mov ecx, eax
call fcn.005032e0
mov ebx, dword [ebp - 0x2d8]
add esp, 8
jmp 0x5082c6
mov edx, dword [ebp - 0x2e4]
call fcn.00502b00
mov ebx, dword [ebp - 0x2d8]
mov esi, eax
mov ecx, ebx
call fcn.004e7ad0
cmp eax, edi
jge 0x5082c6
push esi
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.004e5610
cmp byte [ebp - 0x2f1], 0
je 0x5082f1
mov esi, dword [ebp - 0x344]
mov ecx, ebx
push esi
call fcn.004e55b0
and eax, 0xfffff000
mov ecx, ebx
or eax, dword [ebp - 0x338]
push eax
push esi
call fcn.004e56d0
lea ecx, [ebp - 0x394]
call fcn.004ed720
lea ecx, [ebp - 0x3a0]
call fcn.004ed720
lea ecx, [ebp - 0x3ac]
call fcn.004ed720
lea ecx, [ebp - 0x374]
call fcn.004ed720
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.0057e93d
mov esp, ebp
pop ebp
ret