Function at 0x4afc80
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x354
mov eax, dword [0x633754]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 0x18]
mov ecx, dword [eax]
mov dword [ebp - 0x318], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x314], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x30c], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x300], ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x310], ecx
mov ecx, esi
push edi
mov dword [ebp - 0x26c], esi
mov dword [ebp - 0x31c], eax
call fcn.0047bbb0
push dword [ebp + 0x10]
mov byte [ebp - 0x25c], 0
mov byte [ebp - 0xcc], 0
call fcn.004b6020
mov ebx, eax
mov byte [ebp - 0x194], 0
push ebx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x294], 0
mov byte [ebp - 0x304], 0
call fcn.004b4de0
add esp, 8
test al, al
je 0x4afda3
test edi, edi
je 0x4afd80
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2bc], eax
lea ebx, [edi - 1]
mov ecx, esi
push ebx
call fcn.0047ca90
movsx eax, al
push eax
call fcn.004b4de0
add esp, 4
test al, al
je 0x4afd93
push ebx
mov ecx, esi
call fcn.0047b960
push eax
mov ecx, esi
call fcn.0042d350
mov ecx, dword [ebp - 0x2bc]
sub edi, eax
add ecx, edi
mov edi, eax
mov dword [ebp - 0x2bc], ecx
mov dword [ebp + 8], edi
test eax, eax
jne 0x4afd32
xor ebx, ebx
mov dword [ebp - 0x264], ebx
jmp 0x4afdac
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x264], ebx
jmp 0x4afdac
mov ecx, dword [ebp - 0x2bc]
xor ebx, ebx
mov dword [ebp - 0x264], ebx
jmp 0x4afdac
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x2bc], ecx
push ebx
call fcn.004b5bd0
add esp, 4
test al, al
je 0x4afe2a
test edi, edi
je 0x4afe18
nop dword [eax]
push ebx
call fcn.004b5bd0
add esp, 4
test al, al
jne 0x4afdee
lea eax, [edi - 1]
mov ecx, esi
push eax
call fcn.0042d270
movsx eax, al
push eax
call fcn.004b59e0
add esp, 4
test al, al
jne 0x4afe0b
mov ecx, dword [ebp - 0x2bc]
inc ecx
dec edi
mov dword [ebp - 0x2bc], ecx
mov ecx, esi
push edi
call fcn.0047ca90
mov ecx, dword [ebp - 0x2bc]
movsx ebx, al
test edi, edi
jne 0x4afdc0
mov dword [ebp + 8], edi
mov dword [ebp - 0x264], ebx
test edi, edi
jne 0x4afe2a
xor ebx, ebx
mov ecx, esi
push edi
mov dword [ebp - 0x264], ebx
call fcn.0047bbb0
jmp case.0x4afe41.14
push edi
mov ecx, esi
call fcn.0047bbb0
lea eax, [ebx - 0xc]
cmp eax, 6
ja case.0x4afe41.14
movzx eax, byte [eax + 0x4b48c4]
jmp dword [eax*4 + 0x4b48bc]
xor ebx, ebx
mov dword [ebp - 0x264], ebx
push edi
mov ecx, esi
call fcn.0047b960
mov dword [ebp - 0x290], eax
test eax, eax
jle 0x4afe6f
lea ecx, [eax - 1]
push ecx
mov ecx, esi
call fcn.00480900
jmp 0x4afe83
push 1
push 0x5b6010
mov ecx, esi
call fcn.0042d050
or eax, 0x10
shl eax, 4
mov ecx, eax
mov byte [ebp - 0x2cb], 0
and ecx, 3
mov dword [ebp - 0x274], ecx
mov ecx, eax
sar ecx, 2
and ecx, 0xffffff01
mov dword [ebp - 0x2dc], ecx
mov ecx, eax
sar ecx, 3
and ecx, 0xffffff01
mov dword [ebp - 0x2c8], ecx
mov ecx, eax
sar ecx, 4
and ecx, 0xf
mov dword [ebp - 0x2e4], ecx
mov ecx, eax
sar ecx, 8
sar eax, 0xc
and ecx, 0xf
movzx eax, al
push ebx
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2ec], eax
call fcn.004b50b0
add esp, 4
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x274], 1
mov ecx, 8
jne 0x4aff08
cmp ebx, 9
cmove eax, ecx
mov dword [ebp - 0x2ac], eax
push dword [ebp - 0x2ec]
call fcn.004b50b0
add esp, 4
mov dword [ebp - 0x2fc], eax
mov ecx, esi
push 0
push 0x5b6028
call fcn.0042d050
test eax, eax
setne byte [ebp - 0x281]
test eax, eax
je 0x4aff50
push 0
push 0x5b6034
mov ecx, esi
call fcn.0042d050
mov byte [ebp - 0x2bd], 1
test eax, eax
jne 0x4aff57
mov byte [ebp - 0x2bd], 0
cmp byte [ebp - 0x281], 0
je 0x4aff79
push 1
push str.fold.html.preprocessor
mov ecx, esi
call fcn.0042d050
mov byte [ebp - 0x2ca], 1
test eax, eax
jne 0x4aff80
mov byte [ebp - 0x2ca], 0
push 1
push 0x5b6054
mov ecx, esi
call fcn.0042d050
test eax, eax
mov al, byte [ebp - 0x2bd]
setne byte [ebp - 0x2f5]
test al, al
je 0x4affc2
push 0
push str.fold.hypertext.comment
mov ecx, esi
call fcn.0042d050
test eax, eax
je 0x4affbc
mov byte [ebp - 0x25d], 1
jmp 0x4affcd
mov al, byte [ebp - 0x2bd]
mov byte [ebp - 0x25d], 0
test al, al
je 0x4affe6
push 0
push str.fold.hypertext.heredoc
mov ecx, esi
call fcn.0042d050
mov byte [ebp - 0x2d5], 1
test eax, eax
jne 0x4affed
mov byte [ebp - 0x2d5], 0
push 0
push str.html.tags.case.sensitive
mov ecx, esi
call fcn.0042d050
test eax, eax
mov ecx, esi
push 1
push 0x5b60b0
setne byte [ebp - 0x330]
call fcn.0042d050
test eax, eax
mov ecx, esi
push 0
push str.lexer.html.mako
setne byte [ebp - 0x320]
call fcn.0042d050
test eax, eax
mov ecx, esi
push 0
push str.lexer.html.django
setne byte [ebp - 0x2f0]
call fcn.0042d050
push 1
push 0x80
test eax, eax
lea ecx, [ebp - 0x32c]
push str..__:_
push 7
setne byte [ebp - 0x2c9]
call fcn.0047d910
push 1
push 0x80
push 0x5b60f4
push 7
lea ecx, [ebp - 0x354]
call fcn.0047d910
push 1
push 0x80
push str..__:__
push 7
lea ecx, [ebp - 0x348]
call fcn.0047d910
push 0
push 0x80
push str.___:____
push 0
lea ecx, [ebp - 0x33c]
call fcn.0047d910
push dword [ebp - 0x290]
mov ecx, esi
call fcn.0047ca20
and eax, 0xfff
mov dword [ebp - 0x27c], 0
cmp dword [ebp - 0x2ac], 1
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x308], 0x20
jne 0x4b0144
test edi, edi
je 0x4b0144
lea eax, [edi - 1]
mov dword [ebp - 0x2d0], eax
test eax, eax
je 0x4b0144
mov edi, eax
push edi
mov ecx, esi
call fcn.0047ca90
movsx ecx, al
lea eax, [ecx - 0x29]
cmp eax, 3
ja 0x4b011d
sub edi, 1
jne 0x4b0105
mov dword [ebp - 0x2d0], edi
mov edi, dword [ebp + 8]
cmp ecx, 0x32
jne 0x4b0144
mov eax, dword [ebp - 0x2d0]
mov ecx, esi
push 0x20
push eax
call fcn.0047bb30
movzx eax, al
mov dword [ebp - 0x308], eax
push edi
mov ecx, esi
call fcn.0047bbe0
mov ecx, dword [ebp - 0x2bc]
add ecx, edi
mov dword [ebp - 0x2f4], ecx
cmp edi, ecx
jge 0x4b403a
mov eax, dword [ebp - 0x274]
mov ecx, 0x20
mov edx, ecx
nop
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2b4], eax
mov eax, ecx
push eax
mov dword [ebp - 0x2d0], edx
mov dword [ebp - 0x29c], eax
call fcn.0047c930
add esp, 4
test al, al
jne 0x4b01bd
cmp ebx, 0x2a
je 0x4b01bd
cmp ebx, 0x2b
je 0x4b01bd
mov eax, dword [ebp - 0x308]
cmp ebx, 0x2c
cmovne eax, dword [ebp - 0x29c]
mov dword [ebp - 0x308], eax
push edi
mov ecx, esi
call fcn.0042d270
movzx eax, al
mov ecx, esi
mov dword [ebp - 0x270], eax
lea eax, [edi + 1]
push 0x20
push eax
mov dword [ebp - 0x2b8], eax
call fcn.0047bb30
movzx eax, al
mov ecx, esi
mov dword [ebp - 0x2b0], eax
lea eax, [edi + 2]
push 0x20
push eax
mov dword [ebp - 0x2bc], eax
call fcn.0047bb30
push dword [ebp - 0x270]
movzx eax, al
mov ecx, esi
mov dword [ebp - 0x2c4], eax
call fcn.0048e6c0
test al, al
je 0x4b0227
mov edi, dword [ebp - 0x2b8]
mov edx, 0x20
jmp 0x4b4018
push dword [ebp - 0x270]
call fcn.0047c930
mov cl, al
add esp, 4
mov byte [ebp - 0x281], cl
test cl, cl
je 0x4b024a
cmp byte [ebp - 0x2f5], 0
jne 0x4b0291
cmp byte [ebp - 0x2bd], 0
je 0x4b0291
push dword [ebp - 0x274]
inc dword [ebp - 0x27c]
push ebx
call fcn.004b6050
mov edx, eax
add esp, 8
mov eax, dword [ebp - 0x28c]
cmp byte [ebp - 0x281], 0
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x288], edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov dword [ebp - 0x28c], ecx
jmp 0x4b02c9
mov edx, dword [ebp - 0x28c]
test cl, cl
push dword [ebp - 0x274]
push ebx
lea eax, [edx + 1]
cmovne eax, edx
mov dword [ebp - 0x28c], eax
call fcn.004b6050
add esp, 8
mov dword [ebp - 0x278], eax
cmp byte [ebp - 0x2bd], 0
mov dword [ebp - 0x288], eax
je 0x4b02e6
mov ecx, dword [ebp - 0x2ac]
sub ecx, 1
je 0x4b053c
sub ecx, 2
je 0x4b0307
sub ecx, 1
je 0x4b053c
mov edx, dword [ebp - 0x270]
cmp edx, 0xd
jne 0x4b03d5
cmp dword [ebp - 0x2b0], 0xa
jne 0x4b03ea
jmp 0x4b03d5
mov edx, dword [ebp - 0x270]
cmp ebx, 0x5c
je 0x4b02ec
mov al, byte [ebp - 0x2f0]
test al, al
jne 0x4b02ec
cmp edx, 0x3a
jne 0x4b034d
mov ecx, dword [ebp - 0x2b0]
cmp ecx, 0xa
je 0x4b0342
cmp ecx, 0xd
jne 0x4b03d5
cmp dword [ebp - 0x2c4], 0xa
jne 0x4b03d5
inc dword [ebp - 0x268]
jmp 0x4b079c
cmp edx, 0xa
jne 0x4b02ec
mov ecx, dword [ebp - 0x2b0]
cmp ecx, 0xd
jne 0x4b0365
cmp dword [ebp - 0x2c4], edx
jmp 0x4b0368
cmp ecx, 0xa
je 0x4b03d5
mov ecx, dword [ebp - 0x268]
and ecx, 0xfffffbff
shl ecx, 3
mov dword [ebp - 0x280], ecx
test ecx, ecx
jle 0x4b03d5
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x2a0], ecx
nop
push 0x20
push ecx
mov ecx, esi
call fcn.0047bb30
cmp al, 9
jne 0x4b03a9
mov eax, dword [ebp - 0x280]
sub eax, 8
jmp 0x4b03b8
cmp al, 0x20
jne 0x4b0509
mov eax, dword [ebp - 0x280]
dec eax
mov ecx, dword [ebp - 0x2a0]
inc ecx
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x2a0], ecx
test eax, eax
jg 0x4b0390
mov edx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x28c], eax
cmp edx, 0xa
jne 0x4b04cc
cmp byte [ebp - 0x2bd], 0
je 0x4b0451
mov eax, dword [ebp - 0x298]
mov edx, dword [ebp - 0x27c]
or eax, 0x1000
mov esi, dword [ebp - 0x298]
test edx, edx
cmovne eax, dword [ebp - 0x298]
cmp dword [ebp - 0x268], esi
mov ecx, eax
mov esi, dword [ebp - 0x26c]
jle 0x4b042d
test edx, edx
jle 0x4b042d
or ecx, 0x2000
push ecx
push dword [ebp - 0x290]
mov ecx, esi
call fcn.0047ca70
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2ec]
mov edx, 8
movzx ecx, al
mov eax, dword [ebp - 0x2e8]
and eax, 0xf
shl ecx, 4
or ecx, eax
mov eax, dword [ebp - 0x2e4]
and eax, 0xf
shl ecx, 4
or ecx, eax
xor eax, eax
shl ecx, 4
cmp byte [ebp - 0x2c8], al
cmovne eax, edx
mov edx, 4
or ecx, eax
xor eax, eax
cmp byte [ebp - 0x2dc], al
cmovne eax, edx
or ecx, eax
mov eax, dword [ebp - 0x274]
and eax, 3
or ecx, eax
push ecx
push dword [ebp - 0x290]
mov ecx, esi
call fcn.00480140
inc dword [ebp - 0x290]
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0x28c], 0
mov al, byte [ebp - 0x2f0]
test al, al
je 0x4b0706
cmp edx, 0x23
jne 0x4b06b5
cmp dword [ebp - 0x2b0], edx
jne 0x4b06b5
mov ebx, 0x5c
mov dword [ebp - 0x294], 1
mov dword [ebp - 0x264], ebx
jmp 0x4b35ca
mov ecx, dword [ebp - 0x280]
test ecx, ecx
je 0x4b03cf
mov edx, dword [ebp - 0x270]
mov eax, ecx
shr eax, 3
sub dword [ebp - 0x268], eax
test cl, 7
je 0x4b03d5
dec dword [ebp - 0x268]
jmp 0x4b03d5
cmp ebx, 0x7c
je 0x4b0681
cmp ebx, 0x7d
je 0x4b02e6
cmp ebx, 0x2a
je 0x4b0681
cmp ebx, 0x2b
je 0x4b02e6
cmp ebx, 0x2c
je 0x4b02e6
push ebx
call fcn.004b5c00
mov edx, dword [ebp - 0x270]
add esp, 4
test al, al
jne 0x4b02ec
cmp edx, 0x23
jne 0x4b0636
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x280], eax
cmp eax, dword [ebp - 0x2f4]
jge 0x4b05d9
mov ebx, dword [ebp - 0x2f4]
mov edi, eax
push 0x20
push edi
mov ecx, esi
call fcn.0047bb30
movsx eax, al
push eax
call fcn.00483ea0
add esp, 4
test al, al
je 0x4b05c4
inc edi
cmp edi, ebx
jl 0x4b05a5
mov ebx, dword [ebp - 0x264]
mov dword [ebp - 0x280], edi
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x280]
push 0x5b6114
push eax
mov ecx, esi
call fcn.00484050
test al, al
jne 0x4b062b
push 0x5b611c
push dword [ebp - 0x280]
mov ecx, esi
call fcn.00484050
test al, al
jne 0x4b062b
push 0x5b6120
push dword [ebp - 0x280]
mov ecx, esi
call fcn.00484050
mov edx, dword [ebp - 0x270]
test al, al
je 0x4b03d5
dec dword [ebp - 0x268]
jmp 0x4b03d5
inc dword [ebp - 0x268]
jmp 0x4b03cf
cmp edx, 0x7b
je 0x4b0663
cmp edx, 0x7d
je 0x4b0673
cmp byte [ebp - 0x25d], 0
je 0x4b02ec
cmp edx, 0x2f
jne 0x4b02ec
cmp dword [ebp - 0x2b0], 0x2a
jne 0x4b03d5
mov eax, 1
add dword [ebp - 0x268], eax
jmp 0x4b02ec
or eax, 0xffffffff
add dword [ebp - 0x268], eax
jmp 0x4b02ec
cmp byte [ebp - 0x25d], 0
je 0x4b02e6
mov edx, dword [ebp - 0x270]
cmp edx, 0x2a
jne 0x4b02ec
cmp dword [ebp - 0x2b0], 0x2f
jne 0x4b03d5
dec dword [ebp - 0x268]
jmp 0x4b03d5
cmp dword [ebp - 0x294], 0
je 0x4b0706
cmp edx, 0xd
je 0x4b06c8
cmp edx, 0xa
jne 0x4b0706
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov dword [ebp - 0x294], 0
push eax
mov ecx, esi
call fcn.0047b700
mov edx, dword [ebp - 0x270]
xor ebx, ebx
cmp dword [ebp - 0x2ac], 3
mov eax, 0x5b
cmove ebx, eax
mov al, byte [ebp - 0x2f0]
mov dword [ebp - 0x264], ebx
cmp edx, 0xd
jne 0x4b0718
mov ecx, dword [ebp - 0x2b0]
cmp ecx, 0xa
jne 0x4b071d
jmp 0x4b0785
cmp edx, 0xa
jne 0x4b077f
test al, al
je case.0x4b07ca.6
mov dword [ebp - 0x280], 0x5b6124
lea ecx, [ebp - 0x194]
mov esi, dword [ebp - 0x280]
mov al, byte [ecx]
cmp al, byte [esi]
mov esi, dword [ebp - 0x26c]
jne 0x4b0771
test al, al
je 0x4b076d
mov esi, dword [ebp - 0x280]
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
mov esi, dword [ebp - 0x26c]
jne 0x4b0771
add dword [ebp - 0x280], 2
add ecx, 2
test al, al
jne 0x4b0735
xor eax, eax
jmp 0x4b0776
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b0789
jmp case.0x4b07ca.6
mov ecx, dword [ebp - 0x2b0]
test al, al
je 0x4b079c
cmp dword [ebp - 0x294], 0
jne case.0x4b07ca.6
mov ecx, dword [ebp - 0x2b0]
cmp dword [ebp - 0x274], 1
jne 0x4b096a
cmp edx, 0x3c
jne 0x4b096a
cmp ecx, 0x2f
jne 0x4b096a
lea eax, [ebx - 6]
cmp eax, 0x77
ja case.0x4b07ca.8
movzx eax, byte [eax + 0x4b48d4]
jmp dword [eax*4 + 0x4b48cc]
cmp ebx, 0x2b
je 0x4b083f
cmp byte [ebp + 0x1c], 0
jne 0x4b083f
xor ecx, ecx
mov eax, 0x5b6130
cmp ebx, 9
cmovne eax, ecx
test eax, eax
jne 0x4b0844
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, esi
push eax
call fcn.0047b700
mov edi, dword [ebp - 0x2bc]
xor eax, eax
mov edx, dword [ebp - 0x29c]
mov ebx, 2
add dword [ebp - 0x27c], ebx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2e8], 1
mov byte [ebp - 0x2c8], 1
jmp 0x4b401e
mov eax, str.script
mov edx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2b4], edx
movsx ecx, byte [eax]
inc eax
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x280], eax
test ecx, ecx
je 0x4b07ed
push 0x20
push edx
mov ecx, esi
call fcn.0047bb30
movsx eax, al
push eax
call fcn.0045f680
mov edx, dword [ebp - 0x2b4]
add esp, 4
inc edx
cmp dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x2b4], edx
je 0x4b0850
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x278]
mov al, byte [ebp - 0x25d]
mov esi, dword [ebp - 0x268]
mov dword [ebp - 0x278], ecx
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x280], ecx
mov ecx, dword [ebp - 0x27c]
mov dword [ebp - 0x2a8], ecx
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x288], ecx
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x2a0], ecx
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x2a4], ecx
mov ecx, ebx
mov byte [ebp - 0x25e], al
mov dword [ebp - 0x2d4], esi
mov dword [ebp - 0x2b4], ecx
cmp ebx, 0x7f
ja case.0x4b0963.1
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x298], ecx
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], ecx
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x28c], ecx
mov ecx, ebx
mov byte [ebp - 0x25d], al
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
movzx eax, byte [ecx + 0x4b4a18]
jmp dword [eax*4 + 0x4b494c]
cmp ebx, 0x10
je 0x4b0ab0
push ebx
call fcn.004b5c00
add esp, 4
test al, al
jne 0x4b0ab0
cmp ebx, 0x7c
je 0x4b0ab0
cmp ebx, 0x7d
je 0x4b0ab0
cmp edx, 0x3c
jne 0x4b0ab0
cmp ecx, 0x3f
jne 0x4b0ab0
push ebx
call fcn.004b5020
add esp, 4
test al, al
jne 0x4b0ab0
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp + 0x1c]
movzx eax, al
add eax, 4
push eax
lea eax, [edi + 6]
push eax
push dword [ebp - 0x2bc]
push esi
call fcn.004b5e20
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x2ac], edx
cmp edx, 4
je 0x4b09f8
cmp ebx, 9
je 0x4b4012
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, esi
push eax
call fcn.0047b700
inc dword [ebp - 0x27c]
mov ecx, esi
mov dword [ebp - 0x2ec], ebx
mov ebx, dword [ebp - 0x2b8]
lea eax, [ebx + 6]
push eax
call fcn.004875a0
add eax, 2
push eax
push esi
call fcn.004b5050
add esp, 0xc
mov ecx, 0xc
cmp dword [ebp - 0x2ac], 5
lea edi, [eax + ebx]
mov eax, 0x12
cmove eax, ecx
mov ecx, esi
push eax
push edi
call fcn.0047b700
mov ecx, dword [ebp - 0x2ac]
push ecx
call fcn.004b5110
mov ebx, eax
add esp, 4
mov eax, dword [ebp - 0x274]
dec eax
mov dword [ebp - 0x264], ebx
neg eax
sbb eax, eax
add eax, 3
cmp byte [ebp - 0x2ca], 0
mov dword [ebp - 0x274], eax
je 0x4b0a92
cmp ecx, 5
je 0x4b0a92
inc dword [ebp - 0x268]
push 0x20
push edi
mov ecx, esi
call fcn.0047bb30
mov edx, dword [ebp - 0x29c]
movzx ecx, al
mov eax, dword [ebp - 0x274]
jmp 0x4b4024
cmp byte [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x2ac]
je 0x4b0d03
test eax, eax
jne 0x4b0d03
cmp edx, 0x3c
jne 0x4b0b26
cmp ecx, 0x25
jne 0x4b0b26
push 0xc8
lea eax, [ebp - 0x194]
push eax
push dword [ebp - 0x2bc]
push esi
call fcn.004b4d00
add esp, 0x10
lea eax, [edi - 1]
mov ecx, esi
push dword [ebp - 0x288]
push eax
call fcn.0047b700
mov eax, dword [ebp - 0x274]
dec eax
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x274], eax
mov al, byte [ebp - 0x25d]
mov byte [ebp - 0x25d], al
jmp 0x4b0bd6
cmp dword [ebp - 0x28c], 1
jne 0x4b0b8f
cmp edx, 0x25
je 0x4b0b42
cmp edx, 0x2f
jne 0x4b0b8f
cmp ecx, 0x25
jne 0x4b0d03
lea eax, [ebp - 0x194]
push 0x5b6138
push eax
call fcn.004afc00
add esp, 8
lea eax, [edi - 1]
mov ecx, esi
push dword [ebp - 0x278]
push eax
call fcn.0047b700
mov eax, dword [ebp - 0x274]
dec eax
mov dword [ebp - 0x2ec], ebx
neg eax
sbb eax, eax
add eax, 3
cmp dword [ebp - 0x2b0], 0x2f
mov dword [ebp - 0x274], eax
jne 0x4b0bdc
jmp 0x4b0c66
cmp edx, 0x24
jne 0x4b0bf7
cmp ecx, 0x7b
jne 0x4b0d03
lea eax, [ebp - 0x194]
push 0x5b613c
push eax
call fcn.004afc00
add esp, 8
lea eax, [edi - 1]
mov ecx, esi
push dword [ebp - 0x288]
push eax
call fcn.0047b700
mov eax, dword [ebp - 0x274]
dec eax
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x2ec], ebx
cmp dword [ebp - 0x270], 0x25
je 0x4b0c73
mov edi, dword [ebp - 0x2b8]
inc dword [ebp - 0x27c]
jmp 0x4b0c73
cmp edx, 0x3c
jne 0x4b0d03
cmp ecx, 0x2f
jne 0x4b0d03
cmp dword [ebp - 0x2c4], 0x25
jne 0x4b0d03
push 0xc8
lea eax, [ebp - 0x194]
push eax
lea eax, [edi + 3]
push eax
push esi
call fcn.004b4d00
add esp, 0x10
lea eax, [edi - 1]
mov ecx, esi
push dword [ebp - 0x278]
push eax
call fcn.0047b700
mov eax, dword [ebp - 0x274]
dec eax
mov dword [ebp - 0x2ec], ebx
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x274], eax
mov al, byte [ebp - 0x25d]
mov byte [ebp - 0x25d], al
mov edi, dword [ebp - 0x2bc]
add dword [ebp - 0x27c], 2
push 0xf
mov ebx, 0x5a
mov dword [ebp - 0x2ac], 3
push edi
mov ecx, esi
mov dword [ebp - 0x264], ebx
call fcn.0047b700
mov eax, dword [ebp - 0x270]
cmp eax, 0x25
je 0x4b0a92
cmp eax, 0x24
je 0x4b0a92
cmp eax, 0x2f
je 0x4b0a92
lea ecx, [ebp - 0x194]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0cc0
sub ecx, edx
lea eax, [ebp - 0x194]
add dword [ebp - 0x27c], ecx
add edi, ecx
mov ecx, dword [ebp - 0x300]
push eax
call fcn.00526800
mov ecx, esi
test al, al
je 0x4b0cf6
push 0x60
push edi
call fcn.0047b700
jmp 0x4b0a92
push 2
push edi
call fcn.0047b700
jmp 0x4b0a92
cmp byte [ebp - 0x2c9], 0
je 0x4b0ec4
cmp ebx, 9
je 0x4b0da5
cmp edx, 0x7b
jne 0x4b0e0b
cmp ecx, 0x23
jne 0x4b0e0b
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, esi
push eax
call fcn.0047b700
mov eax, dword [ebp - 0x2ac]
mov ecx, esi
mov edi, dword [ebp - 0x2b8]
inc dword [ebp - 0x27c]
push 0xf
mov dword [ebp - 0x2ec], ebx
mov ebx, 9
push edi
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x2ac], 8
mov dword [ebp - 0x264], ebx
call fcn.0047b700
push 0x20
push edi
mov ecx, esi
call fcn.0047bb30
mov edx, dword [ebp - 0x29c]
movzx ecx, al
mov eax, dword [ebp - 0x274]
dec eax
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x274], eax
jmp 0x4b4024
cmp edx, 0x23
jne 0x4b0e0b
cmp ecx, 0x7d
jne 0x4b0e0b
push dword [ebp - 0x278]
lea eax, [edi - 1]
push eax
mov ecx, esi
call fcn.0047b700
mov edi, dword [ebp - 0x2b8]
mov ecx, esi
inc dword [ebp - 0x27c]
push 0xf
push edi
call fcn.0047b700
mov eax, dword [ebp - 0x2fc]
mov ebx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x2ac], eax
xor eax, eax
cmp dword [ebp - 0x274], 3
mov dword [ebp - 0x264], ebx
sete al
mov dword [ebp - 0x274], eax
jmp 0x4b401e
cmp eax, 3
je 0x4b0ec4
cmp edx, 0x7b
jne 0x4b0ec4
cmp ecx, 0x25
je 0x4b0e2a
cmp ecx, edx
jne 0x4b0ec4
cmp ecx, 0x25
mov eax, 0x5b6144
mov ecx, 0x5b6140
cmove eax, ecx
push eax
lea eax, [ebp - 0x304]
push eax
call fcn.004afbd0
add esp, 8
lea eax, [edi - 1]
mov ecx, esi
push dword [ebp - 0x278]
push eax
call fcn.0047b700
mov eax, dword [ebp - 0x2ac]
mov ecx, esi
mov edi, dword [ebp - 0x2b8]
inc dword [ebp - 0x27c]
push 0xf
mov dword [ebp - 0x2ec], ebx
mov ebx, 0x5a
push edi
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x2ac], 3
call fcn.0047b700
push 0x20
push edi
mov ecx, esi
call fcn.0047bb30
mov edx, dword [ebp - 0x29c]
movzx ecx, al
mov eax, dword [ebp - 0x274]
dec eax
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x274], eax
jmp 0x4b4024
cmp byte [ebp - 0x2f0], 0
jne 0x4b1011
cmp byte [ebp - 0x2c9], 0
jne 0x4b1011
push ebx
call fcn.004b58b0
add esp, 4
test al, al
jne 0x4b1011
cmp edx, 0x3c
jne 0x4b1011
cmp ecx, 0x25
jne 0x4b1011
push ebx
call fcn.004b5bd0
add esp, 4
test al, al
jne 0x4b1011
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, esi
push eax
call fcn.0047b700
mov eax, dword [ebp - 0x274]
dec eax
mov dword [ebp - 0x2ec], ebx
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x2c4]
cmp eax, 0x40
jne 0x4b0f5a
mov edi, dword [ebp - 0x2bc]
lea ebx, [eax - 0x30]
add dword [ebp - 0x27c], 2
jmp 0x4b0fc4
cmp eax, 0x2d
jne 0x4b0f94
push 0x20
lea ebx, [edi + 3]
mov ecx, esi
push ebx
call fcn.0047bb30
cmp al, 0x2d
jne 0x4b0fa8
push 0xf
push ebx
mov ecx, esi
call fcn.0047b700
mov ebx, 0x14
mov dword [ebp - 0x2ac], 2
mov dword [ebp - 0x264], ebx
jmp 0x4b4012
cmp eax, 0x3d
jne 0x4b0fa8
mov edi, dword [ebp - 0x2bc]
add dword [ebp - 0x27c], 2
jmp 0x4b0fb4
mov edi, dword [ebp - 0x2b8]
inc dword [ebp - 0x27c]
push dword [ebp - 0x2e4]
call fcn.004b5110
add esp, 4
mov ebx, eax
push 0xf
push edi
mov ecx, esi
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x2ac], 2
call fcn.0047b700
cmp byte [ebp - 0x2ca], 0
je 0x4b0fed
inc dword [ebp - 0x268]
push 0x20
push edi
mov ecx, esi
call fcn.0047bb30
mov edx, dword [ebp - 0x29c]
movzx ecx, al
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x274], eax
jmp 0x4b4024
mov ecx, dword [ebp - 0x2ac]
test ecx, ecx
je 0x4b1024
cmp ecx, 5
jne 0x4b1110
cmp dword [ebp - 0x29c], 0x3c
jne 0x4b1110
cmp edx, 0x21
jne 0x4b1110
mov ecx, dword [ebp - 0x278]
cmp ecx, 0x11
je 0x4b110a
push ecx
call fcn.004b4e80
add esp, 4
test al, al
jne 0x4b110a
push ecx
call fcn.004b5020
add esp, 4
test al, al
jne 0x4b110a
push ecx
lea eax, [edi - 2]
mov dword [ebp - 0x2ec], ebx
push eax
mov ecx, esi
call fcn.0047b700
cmp dword [ebp - 0x2b0], 0x2d
jne 0x4b10ab
cmp dword [ebp - 0x2c4], 0x2d
jne 0x4b10ab
mov edi, dword [ebp - 0x2bc]
mov ebx, 9
push ebx
push edi
mov ecx, esi
mov dword [ebp - 0x264], ebx
call fcn.0047b700
jmp 0x4b10e8
push esi
lea eax, [edi + 7]
push eax
push dword [ebp - 0x2b8]
call fcn.004b5c80
add esp, 0xc
test al, al
je 0x4b10c9
mov ebx, 0x11
jmp 0x4b10e2
push 0x15
push edi
mov ecx, esi
call fcn.0047b700
mov dword [ebp - 0x2ac], 6
mov ebx, 0x16
mov dword [ebp - 0x264], ebx
cmp byte [ebp - 0x2ca], 0
jne 0x4b10ff
cmp ebx, 9
je 0x4b10ff
cmp ebx, 0x11
jne 0x4b4012
inc dword [ebp - 0x268]
jmp 0x4b4012
mov ecx, dword [ebp - 0x2ac]
cmp byte [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x274]
je 0x4b1342
cmp eax, 2
je 0x4b1131
cmp eax, 3
jne 0x4b1342
test ecx, ecx
je 0x4b1342
push ebx
call fcn.004b5fa0
add esp, 4
test al, al
je 0x4b133c
lea eax, [ebp - 0x194]
push eax
push dword [ebp - 0x2b0]
push dword [ebp - 0x270]
call fcn.004b5a00
add esp, 0xc
test al, al
je 0x4b133c
lea eax, [edi - 1]
mov dword [ebp - 0x2d4], eax
cmp ebx, 0x10
jne 0x4b11d8
push dword [ebp - 0x2e4]
mov ecx, esi
push eax
call fcn.004875a0
push eax
push esi
call fcn.004b5e20
mov dword [ebp - 0x2e4], eax
add esp, 0x10
mov eax, dword [ebp - 0x2d4]
push dword [ebp - 0x278]
mov ecx, esi
push eax
call fcn.0047b700
mov ecx, 0x5b6148
lea eax, [ebp - 0x194]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b1222
test dl, dl
je 0x4b11d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b1222
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b11b8
xor eax, eax
jmp 0x4b1227
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2e4], ecx
cmp ebx, 0x60
jne 0x4b119f
push dword [ebp - 0x2f0]
lea ecx, [ebp - 0x25c]
push dword [ebp - 0x274]
push ecx
push esi
push dword [ebp - 0x300]
mov ecx, esi
push eax
call fcn.004875a0
push eax
call fcn.004b55e0
mov eax, dword [ebp - 0x2b4]
add esp, 0x1c
mov dword [ebp - 0x2e4], eax
jmp 0x4b11ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b126c
mov ecx, 0x5b614c
lea eax, [ebp - 0x194]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b1256
test dl, dl
je 0x4b1252
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b1256
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b1236
xor eax, eax
jmp 0x4b125b
sbb eax, eax
or eax, 1
mov ebx, dword [ebp - 0x270]
test eax, eax
je 0x4b1272
cmp ebx, 0x3e
je 0x4b1272
jmp 0x4b12ae
mov ebx, dword [ebp - 0x270]
mov ecx, 0x5b6150
lea eax, [ebp - 0x194]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b12a0
test dl, dl
je 0x4b129c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b12a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b1280
xor eax, eax
jmp 0x4b12a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4b12ba
cmp ebx, 0x2f
jne 0x4b12ba
inc dword [ebp - 0x27c]
mov edi, dword [ebp - 0x2b8]
mov ecx, 0x5b6154
lea eax, [ebp - 0x194]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b12e5
test dl, dl
je 0x4b12e1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b12e5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b12c5
xor eax, eax
jmp 0x4b12ea
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4b12f9
mov ecx, dword [ebp - 0x270]
cmp ecx, 0x2f
jne 0x4b1309
push 0xf
push edi
mov ecx, esi
call fcn.0047b700
mov ecx, dword [ebp - 0x270]
mov ebx, dword [ebp - 0x2ec]
xor eax, eax
cmp dword [ebp - 0x274], 3
mov edx, dword [ebp - 0x29c]
sete al
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x274], eax
jmp 0x4b4024
mov eax, dword [ebp - 0x274]
mov dl, byte [ebp - 0x2c9]
test dl, dl
je 0x4b1407
cmp eax, 2
je 0x4b135e
cmp eax, 3
jne 0x4b1407
mov ecx, dword [ebp - 0x2ac]
test ecx, ecx
je 0x4b140d
push ebx
call fcn.004b5fa0
add esp, 4
test al, al
je 0x4b1401
lea eax, [ebp - 0x304]
push eax
push dword [ebp - 0x2b0]
push dword [ebp - 0x270]
call fcn.004b5930
add esp, 0xc
test al, al
je 0x4b1401
dec edi
cmp ebx, 0x10
jne 0x4b13cc
push dword [ebp - 0x2e4]
mov ecx, esi
push edi
call fcn.004875a0
push eax
push esi
call fcn.004b5e20
add esp, 0x10
mov dword [ebp - 0x2e4], eax
push dword [ebp - 0x278]
push edi
jmp 0x4b0db9
cmp ebx, 0x60
jne 0x4b13c0
push dword [ebp - 0x2f0]
lea eax, [ebp - 0x25c]
mov ecx, esi
push dword [ebp - 0x274]
push eax
push esi
push dword [ebp - 0x300]
push edi
call fcn.004875a0
push eax
call fcn.004b55e0
add esp, 0x1c
jmp 0x4b0dc0
mov dl, byte [ebp - 0x2c9]
mov ecx, dword [ebp - 0x2ac]
cmp byte [ebp - 0x2f0], 0
jne 0x4b145a
test dl, dl
jne 0x4b145a
mov eax, dword [ebp - 0x274]
cmp eax, 2
je 0x4b142a
cmp eax, 3
jne 0x4b145a
test ecx, ecx
je 0x4b0895
push ebx
call fcn.004b5fa0
mov edx, dword [ebp - 0x270]
add esp, 4
test al, al
je 0x4b1460
cmp edx, 0x25
je 0x4b144f
cmp edx, 0x3f
jne 0x4b1460
cmp dword [ebp - 0x2b0], 0x3e
je 0x4b147f
jmp 0x4b1460
mov edx, dword [ebp - 0x270]
cmp dword [ebp - 0x2ac], 6
jne case.0x4b07ca.6
cmp edx, 0x3e
jne case.0x4b07ca.6
cmp ebx, 0x1d
je case.0x4b07ca.6
lea ecx, [edi - 1]
cmp ebx, 0x10
jne 0x4b14e4
push dword [ebp - 0x2e4]
push ecx
mov ecx, esi
call fcn.004875a0
push eax
push esi
call fcn.004b5e20
add esp, 0x10
mov dword [ebp - 0x2e4], eax
lea ecx, [edi - 1]
push dword [ebp - 0x278]
push ecx
mov ecx, esi
call fcn.0047b700
mov ecx, dword [ebp - 0x2ac]
cmp ecx, 6
je 0x4b14cd
mov edi, dword [ebp - 0x2b8]
inc dword [ebp - 0x27c]
cmp dword [ebp - 0x270], 0x25
jne 0x4b15e9
mov eax, 0xf
jmp 0x4b1603
mov edx, dword [ebp - 0x2b4]
lea eax, [ebx - 0x14]
mov dword [ebp - 0x2e4], edx
cmp eax, 0x65
ja case.0x4b1505.25
movzx eax, byte [eax + 0x4b4ab0]
mov dword [ebp - 0x2e4], edx
jmp dword [eax*4 + 0x4b4a98]
push dword [ebp - 0x274]
push esi
push dword [ebp - 0x314]
push ecx
mov ecx, esi
call fcn.004875a0
push eax
call fcn.004b5440
mov eax, dword [ebp - 0x2b4]
add esp, 0x14
mov dword [ebp - 0x2e4], eax
jmp 0x4b14b6
push dword [ebp - 0x274]
push esi
push dword [ebp - 0x30c]
push ecx
mov ecx, esi
call fcn.004875a0
push eax
call fcn.004b57a0
mov eax, dword [ebp - 0x2b4]
add esp, 0x14
mov dword [ebp - 0x2e4], eax
jmp 0x4b14b6
push dword [ebp - 0x2f0]
lea eax, [ebp - 0x25c]
push dword [ebp - 0x274]
push eax
push esi
push dword [ebp - 0x300]
push ecx
mov ecx, esi
call fcn.004875a0
push eax
call fcn.004b55e0
mov eax, dword [ebp - 0x2b4]
add esp, 0x1c
mov dword [ebp - 0x2e4], eax
jmp 0x4b14b6
push esi
push dword [ebp - 0x310]
push ecx
mov ecx, esi
call fcn.004875a0
push eax
call fcn.004b5520
mov eax, dword [ebp - 0x2b4]
add esp, 0x10
mov dword [ebp - 0x2e4], eax
jmp 0x4b14b6
push ebx
push ecx
mov ecx, esi
call fcn.0047b700
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2e4], eax
jmp 0x4b14b6
cmp ecx, 5
jne 0x4b15f3
lea eax, [ecx + 8]
jmp 0x4b1603
cmp ecx, 6
mov eax, 0x12
mov ecx, 0x15
cmove eax, ecx
push eax
push edi
mov ecx, esi
call fcn.0047b700
mov ebx, dword [ebp - 0x2ec]
xor eax, eax
cmp dword [ebp - 0x2a4], 3
mov dword [ebp - 0x264], ebx
sete al
cmp byte [ebp - 0x2ca], 0
mov dword [ebp - 0x274], eax
je 0x4b1642
cmp dword [ebp - 0x2ac], 5
je 0x4b1642
dec dword [ebp - 0x268]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x2ac], ecx
jmp 0x4b401e
cmp edx, 0x3c
jne 0x4b16b1
cmp dword [ebp - 0x2b0], 0x2f
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
sete al
mov byte [ebp - 0x2c8], al
lea eax, [edi - 1]
push eax
mov byte [ebp - 0x2dc], 1
call fcn.0047b700
cmp dword [ebp - 0x2b0], 0x21
mov ebx, dword [ebp - 0x2b4]
mov dword [ebp - 0x264], ebx
je 0x4b16da
mov ebx, 2
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x26
jne 0x4b16da
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push 0
push eax
call fcn.0047b700
mov ebx, 0xa
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp edx, 0x22
jne 0x4b170d
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x18
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x27
jne 0x4b1739
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x19
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x2d
jne 0x4b177d
cmp dword [ebp - 0x29c], edx
jne 0x4b177d
mov ebx, dword [ebp - 0x26c]
mov ecx, ebx
call fcn.004875a0
lea ecx, [edi - 2]
cmp eax, ecx
jg 0x4b176b
push dword [ebp - 0x278]
lea eax, [edi - 2]
mov ecx, ebx
push eax
call fcn.0047b700
mov ebx, 0x1d
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
push edx
call fcn.0044c7d0
add esp, 4
test al, al
je 0x4b17ce
push dword [ebp - 0x270]
call fcn.00563c10
mov edx, dword [ebp - 0x29c]
add esp, 4
test eax, eax
je 0x4b17d4
cmp edx, 0x25
jne 0x4b17d4
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 2]
push eax
call fcn.0047b700
mov ebx, 0x1c
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov edx, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x270]
cmp ecx, 0x23
jne 0x4b1806
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x1b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp ecx, 0x5b
jne 0x4b183c
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x1f
mov dword [ebp - 0x2ac], 7
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp ecx, 0x5d
jne 0x4b1895
cmp dword [ebp - 0x2ac], 7
mov ebx, dword [ebp - 0x26c]
jne 0x4b1862
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x2ac], 6
jmp 0x4b1878
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.0047b700
mov ecx, 0x1a
push ecx
mov eax, edi
mov ecx, ebx
push eax
call fcn.0047b700
mov ebx, 0x15
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp dword [ebp - 0x2ac], 7
mov eax, dword [ebp - 0x2b4]
mov ebx, eax
mov dword [ebp - 0x264], ebx
jne 0x4b1929
mov dword [ebp - 0x264], ebx
cmp ecx, 0x21
jne 0x4b18f5
cmp edx, 0x3c
jne 0x4b1929
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 2]
push eax
call fcn.0047b700
mov ecx, dword [ebp - 0x26c]
push 0x15
push edi
call fcn.0047b700
mov ebx, 0x16
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp ecx, 0x3e
jne 0x4b1929
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ecx, dword [ebp - 0x26c]
push 0x15
push edi
call fcn.0047b700
mov ebx, dword [ebp - 0x2b4]
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp edx, 0x2d
jne 0x4b1964
cmp dword [ebp - 0x29c], edx
jne 0x4b1964
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 2]
push eax
call fcn.0047b700
mov ebx, 0x1d
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
push edx
mov dword [ebp - 0x264], ebx
call fcn.004b5dd0
add esp, 4
test al, al
jne 0x4b19cc
mov ebx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push ebx
push dword [ebp - 0x31c]
mov ecx, ebx
push eax
call fcn.004875a0
push eax
call fcn.004b5d40
add esp, 0x10
test al, al
je 0x4b19c1
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.0047b700
mov ebx, 0x17
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, 0x1a
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp edx, 0x2d
jne 0x4b1a16
cmp dword [ebp - 0x29c], edx
jne 0x4b1a16
cmp dword [ebp - 0x2ac], 7
lea ecx, [edi - 2]
mov edx, 0x15
mov eax, 0x1f
cmovne eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x26c]
call fcn.0047b700
mov ebx, 0x1e
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
push edx
mov dword [ebp - 0x264], ebx
call fcn.004b5dd0
add esp, 4
test al, al
je 0x4b16da
cmp dword [ebp - 0x2ac], 7
mov eax, 0x15
mov ecx, dword [ebp - 0x26c]
mov ebx, 0x1f
cmovne ebx, eax
lea eax, [edi - 1]
push ebx
push eax
mov dword [ebp - 0x264], ebx
call fcn.0047b700
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x280]
push 0x20
push dword [ebp - 0x2b8]
mov dword [ebp - 0x28c], eax
mov al, byte [ebp - 0x25e]
mov dword [ebp - 0x2d0], 1
mov dword [ebp - 0x268], esi
mov byte [ebp - 0x25d], al
call fcn.0047bb30
movzx eax, al
lea ecx, [ebp - 0x32c]
push eax
call fcn.0047da00
test al, al
je 0x4b1b62
mov eax, dword [ebp - 0x2a4]
mov ebx, dword [ebp - 0x26c]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x278], eax
mov al, byte [ebp - 0x25e]
mov dword [ebp - 0x268], esi
mov byte [ebp - 0x25d], al
nop
mov eax, dword [ebp - 0x2d0]
mov ecx, ebx
inc eax
mov dword [ebp - 0x2d0], eax
add eax, edi
push 0x20
push eax
call fcn.0047bb30
movzx eax, al
lea ecx, [ebp - 0x32c]
push eax
call fcn.0047da00
test al, al
jne 0x4b1b30
mov ebx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x2d0]
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [esi - 1]
add eax, edi
push eax
call fcn.0047b700
mov ecx, dword [ebp - 0x2a8]
dec esi
mov eax, dword [ebp - 0x2d0]
add edi, esi
mov esi, dword [ebp - 0x26c]
dec ecx
add eax, ecx
mov dword [ebp - 0x27c], eax
jmp 0x4b0a92
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x2d
jne 0x4b1bdd
mov dword [ebp - 0x264], ebx
cmp dword [ebp - 0x29c], edx
jne 0x4b1bdd
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 2]
push eax
call fcn.0047b700
mov ebx, 0x1d
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp edx, 0x22
mov ebx, ecx
mov dword [ebp - 0x264], ebx
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push edi
call fcn.0047b700
mov ebx, 0x15
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp edx, 0x27
jmp 0x4b1be7
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x2d
jne 0x4b1c0e
cmp dword [ebp - 0x29c], edx
jmp 0x4b1be7
cmp dword [ebp - 0x2d0], 0x5d
mov ebx, ecx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
jne 0x4b21a2
cmp dword [ebp - 0x29c], 0x5d
mov ebx, ecx
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x264], ebx
jne 0x4b21a2
mov dword [ebp - 0x264], ebx
mov ecx, esi
mov dword [ebp - 0x268], ecx
cmp edx, 0x3e
jne 0x4b40ec
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push edi
call fcn.0047b700
xor ebx, ebx
lea ecx, [esi - 1]
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp dword [ebp - 0x2ac], 8
mov ebx, ecx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
je 0x4b21a2
cmp dword [ebp - 0x2d0], 0x2d
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
jne 0x4b21a2
cmp dword [ebp - 0x29c], 0x2d
jmp 0x4b1c51
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x2d
jne 0x4b1c0e
mov dword [ebp - 0x264], ebx
cmp dword [ebp - 0x29c], edx
jne 0x4b1c0e
mov ecx, dword [ebp - 0x26c]
push 0x1d
push edi
call fcn.0047b700
mov ebx, 0x17
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
push edx
call fcn.0044c7d0
add esp, 4
test al, al
je 0x4b1d50
push dword [ebp - 0x270]
mov ebx, dword [ebp - 0x2b4]
mov dword [ebp - 0x264], ebx
call fcn.00564130
add esp, 4
test eax, eax
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
push dword [ebp - 0x270]
call fcn.00563b80
add esp, 4
mov ecx, esi
neg eax
sbb ebx, ebx
and ebx, 5
add ebx, 0x15
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x3b
je 0x4b1bf1
push edx
call fcn.0044c7d0
add esp, 4
test al, al
je 0x4b1dc2
push dword [ebp - 0x270]
mov ebx, dword [ebp - 0x2b4]
mov dword [ebp - 0x264], ebx
call fcn.00563b80
add esp, 4
test eax, eax
jne 0x4b1c0e
mov eax, dword [ebp - 0x2b4]
mov ebx, eax
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x264], ebx
cmp ecx, 0x2d
je 0x4b1c0e
mov dword [ebp - 0x264], ebx
cmp ecx, 0x2e
je 0x4b1c0e
push 0x1a
jmp 0x4b1bf7
cmp edx, 0x3b
jne 0x4b1e1c
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push edi
call fcn.0047b700
mov edx, dword [ebp - 0x270]
xor ebx, ebx
mov dword [ebp - 0x264], ebx
jmp 0x4b1e2d
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x23
je 0x4b1c0e
push edx
call fcn.0044c7d0
add esp, 4
mov byte [ebp - 0x281], al
test al, al
je 0x4b1e5c
push dword [ebp - 0x270]
call fcn.00563b80
add esp, 4
test eax, eax
jne 0x4b1c0e
mov al, byte [ebp - 0x281]
mov edx, dword [ebp - 0x270]
cmp edx, 0x2e
je 0x4b1c0e
cmp edx, 0x2d
je 0x4b1c0e
cmp edx, 0x5f
je 0x4b1c0e
cmp edx, 0x3a
je 0x4b1c0e
test al, al
lea eax, [edi - 1]
je 0x4b1e8f
mov eax, edi
mov ecx, dword [ebp - 0x26c]
push 2
push eax
call fcn.0047b700
xor ebx, ebx
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
mov dword [ebp - 0x268], esi
push edx
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x264], ebx
call fcn.0047da00
test al, al
jne 0x4b21a2
cmp dword [ebp - 0x270], 0x2f
jne 0x4b1ef8
cmp dword [ebp - 0x29c], 0x3c
mov ecx, esi
mov ebx, dword [ebp - 0x2b4]
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], ecx
je 0x4b40ec
push dword [ebp - 0x320]
mov ebx, dword [ebp - 0x26c]
lea ecx, [ebp - 0x2cb]
push dword [ebp + 0x1c]
lea eax, [edi - 1]
push dword [ebp - 0x330]
mov dword [ebp - 0x2d4], eax
push ecx
push ebx
push dword [ebp - 0x318]
mov ecx, ebx
push eax
call fcn.004875a0
push eax
call fcn.004b5210
mov ecx, eax
add esp, 0x20
cmp ecx, 0xe
je 0x4b1f41
cmp ecx, 9
jne 0x4b1f7a
cmp byte [ebp - 0x2c8], 0
jne 0x4b1f6b
cmp ecx, 0xe
mov dword [ebp - 0x274], 1
mov eax, 8
cmove eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2ac], eax
jmp 0x4b1f75
mov dword [ebp - 0x2ac], 0
mov ecx, 1
mov eax, dword [ebp - 0x270]
cmp eax, 0x3e
jne 0x4b1ffc
push ecx
push edi
mov ecx, ebx
call fcn.0047b700
cmp dword [ebp - 0x274], 1
jne 0x4b1fa9
push dword [ebp - 0x2ac]
call fcn.004b5110
add esp, 4
mov ebx, eax
jmp 0x4b1fab
xor ebx, ebx
cmp byte [ebp - 0x2cb], 0
mov ecx, esi
mov dword [ebp - 0x264], ebx
mov byte [ebp - 0x2dc], 0
mov dword [ebp - 0x268], ecx
jne 0x4b1ff0
cmp byte [ebp - 0x2c8], 0
je 0x4b1fe7
dec esi
mov byte [ebp - 0x2c8], 0
mov dword [ebp - 0x268], esi
mov ecx, esi
jmp 0x4b40ec
inc esi
mov dword [ebp - 0x268], esi
mov ecx, esi
mov byte [ebp - 0x2c8], 0
jmp 0x4b40ec
cmp eax, 0x2f
jne 0x4b205b
cmp dword [ebp - 0x2b0], 0x3e
jne 0x4b205b
cmp ecx, 2
jne 0x4b2013
mov eax, ecx
jmp 0x4b202b
push dword [ebp - 0x278]
mov ecx, ebx
push dword [ebp - 0x2d4]
call fcn.0047b700
mov eax, 0xb
push eax
mov ecx, ebx
mov edi, dword [ebp - 0x2b8]
push edi
call fcn.0047b700
mov eax, dword [ebp - 0x2b0]
xor ebx, ebx
mov dword [ebp - 0x270], eax
mov ecx, esi
mov byte [ebp - 0x2dc], bl
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, dword [ebp - 0x2b4]
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
cmp ecx, 2
je 0x4b21a2
cmp ecx, 0x15
mov ecx, esi
mov dword [ebp - 0x268], ecx
jne 0x4b2093
mov ebx, 0x15
mov dword [ebp - 0x264], ebx
jmp 0x4b40ec
mov ebx, 8
mov dword [ebp - 0x264], ebx
jmp 0x4b40ec
mov ebx, ecx
mov dword [ebp - 0x268], esi
push edx
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x264], ebx
call fcn.0047da00
test al, al
jne 0x4b21a2
cmp dword [ebp - 0x274], 1
mov ebx, dword [ebp - 0x26c]
jne 0x4b211d
mov ecx, dword [ebp - 0x2ac]
lea eax, [edi - 1]
push ecx
mov esi, ecx
mov ecx, ebx
push eax
call fcn.004875a0
push eax
push ebx
call fcn.004b5e20
mov ecx, eax
add esp, 0x10
cmp esi, ecx
mov dword [ebp - 0x2e8], ecx
mov esi, dword [ebp - 0x2d4]
mov dword [ebp - 0x2ac], ecx
je 0x4b211d
mov eax, dword [ebp - 0x274]
xor edx, edx
test ecx, ecx
cmove eax, edx
mov dword [ebp - 0x274], eax
push ebx
push dword [ebp - 0x318]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.004875a0
push eax
call fcn.004b5180
mov eax, dword [ebp - 0x270]
add esp, 0x10
cmp eax, 0x3e
jne 0x4b21ad
mov ecx, ebx
push 1
push edi
call fcn.0047b700
cmp dword [ebp - 0x274], 1
jne 0x4b2168
push dword [ebp - 0x2ac]
call fcn.004b5110
add esp, 4
mov ebx, eax
jmp 0x4b216a
xor ebx, ebx
cmp byte [ebp - 0x2cb], 0
mov dword [ebp - 0x264], ebx
mov byte [ebp - 0x2dc], 0
mov dword [ebp - 0x268], esi
jne 0x4b219b
cmp byte [ebp - 0x2c8], 0
lea eax, [esi - 1]
jne 0x4b2195
lea eax, [esi + 1]
mov dword [ebp - 0x268], eax
mov byte [ebp - 0x2c8], 0
mov ecx, dword [ebp - 0x268]
jmp 0x4b40ec
cmp eax, 0x3d
jne 0x4b238b
push 8
push edi
mov ecx, ebx
call fcn.0047b700
mov ebx, 0x13
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x3e
jne 0x4b21f7
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ecx, dword [ebp - 0x26c]
jmp 0x4b2145
cmp edx, 0x22
jne 0x4b2223
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 6
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x27
jne 0x4b224f
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 7
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x3d
jne 0x4b2278
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push edi
call fcn.0047b700
mov ebx, 0x13
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x2f
jne 0x4b22a8
cmp dword [ebp - 0x2b0], 0x3e
jne 0x4b22fa
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ecx, dword [ebp - 0x26c]
push 0xb
jmp 0x4b202e
cmp edx, 0x3f
jne 0x4b22fa
cmp dword [ebp - 0x2b0], 0x3e
jne 0x4b22fa
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov edi, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x26c]
push 0xd
push edi
call fcn.0047b700
mov eax, dword [ebp - 0x2b0]
xor ebx, ebx
mov dword [ebp - 0x270], eax
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
mov dword [ebp - 0x268], esi
push edx
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x264], ebx
call fcn.0047da00
test al, al
je 0x4b21a2
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 3
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x22
jne 0x4b1c0e
cmp dword [ebp - 0x274], 1
mov ebx, dword [ebp - 0x26c]
jne 0x4b2381
push dword [ebp - 0x2ac]
mov ecx, ebx
push edi
call fcn.004875a0
push eax
push ebx
call fcn.004b5e20
add esp, 0x10
mov dword [ebp - 0x2ac], eax
push 6
push edi
mov ecx, ebx
call fcn.0047b700
mov ebx, 8
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x27
jne 0x4b1c0e
cmp dword [ebp - 0x274], 1
mov ebx, dword [ebp - 0x26c]
jne 0x4b23db
push dword [ebp - 0x2ac]
mov ecx, ebx
push edi
call fcn.004875a0
push eax
push ebx
call fcn.004b5e20
add esp, 0x10
mov dword [ebp - 0x2ac], eax
push 7
push edi
mov ecx, ebx
call fcn.0047b700
mov ebx, 8
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
mov dword [ebp - 0x268], esi
push edx
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x264], ebx
call fcn.0047da00
test al, al
jne 0x4b21a2
mov eax, dword [ebp - 0x270]
cmp eax, 0x22
jne 0x4b243f
cmp dword [ebp - 0x29c], 0x3d
jne 0x4b245f
mov ebx, 6
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x27
jne 0x4b245f
cmp dword [ebp - 0x29c], 0x3d
jne 0x4b245f
mov ebx, 7
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push ebx
mov ecx, ebx
mov dword [ebp - 0x2d4], eax
call fcn.004875a0
push eax
call fcn.004b4ea0
add esp, 8
mov ecx, ebx
test al, al
mov eax, dword [ebp - 0x2d4]
je 0x4b2495
mov dword [ebp - 0x278], 5
push dword [ebp - 0x278]
push eax
call fcn.0047b700
cmp dword [ebp - 0x270], 0x3e
jne 0x4b238b
push 1
push edi
mov ecx, ebx
call fcn.0047b700
cmp dword [ebp - 0x274], 1
jne 0x4b24d3
push dword [ebp - 0x2ac]
call fcn.004b5110
add esp, 4
mov ebx, eax
jmp 0x4b24d5
xor ebx, ebx
cmp byte [ebp - 0x2cb], 0
mov ecx, esi
mov dword [ebp - 0x264], ebx
mov byte [ebp - 0x2dc], 0
mov dword [ebp - 0x268], ecx
jne 0x4b2508
cmp byte [ebp - 0x2c8], 0
lea ecx, [esi - 1]
jne 0x4b2502
lea ecx, [esi + 1]
mov dword [ebp - 0x268], ecx
mov byte [ebp - 0x2c8], 0
jmp 0x4b40ec
push edx
call fcn.004b4e50
add esp, 4
test al, al
je 0x4b2548
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x2e
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, dword [ebp - 0x270]
cmp ebx, 0x2f
jne 0x4b2611
mov eax, dword [ebp - 0x2b0]
cmp eax, 0x2a
jne 0x4b25a5
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
xor ebx, ebx
mov ecx, esi
cmp dword [ebp - 0x2c4], 0x2a
sete bl
cmp dword [ebp - 0x2c4], 0x2f
cmove edi, dword [ebp - 0x2b8]
lea ebx, [ebx*2 + 0x2a]
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x2f
jne 0x4b25d1
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x2b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
push dword [ebp - 0x308]
lea ecx, [ebp - 0x33c]
call fcn.0047da00
test al, al
je 0x4b2705
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x34
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp ebx, 0x22
jne 0x4b263d
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x30
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp ebx, 0x27
jne 0x4b2669
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x31
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp ebx, 0x3c
jne 0x4b26c2
cmp dword [ebp - 0x2b0], 0x21
jne 0x4b2705
cmp dword [ebp - 0x2c4], 0x2d
mov ebx, dword [ebp - 0x26c]
jne 0x4b270b
push 0x20
lea eax, [edi + 3]
mov ecx, ebx
push eax
call fcn.0047bb30
cmp al, 0x2d
jne 0x4b270b
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.0047b700
mov ebx, 0x2b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp ebx, 0x2d
jne 0x4b2705
cmp dword [ebp - 0x2b0], ebx
jne 0x4b2705
cmp dword [ebp - 0x2c4], 0x3e
jne 0x4b2705
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov edi, dword [ebp - 0x2bc]
mov ebx, 0x2b
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
mov ebx, dword [ebp - 0x26c]
push dword [ebp - 0x270]
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b2759
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.0047b700
push dword [ebp - 0x274]
push 0x32
call fcn.004b6050
add esp, 8
mov ecx, ebx
push eax
push edi
call fcn.0047b700
mov ebx, 0x29
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ecx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x2b4]
cmp ecx, 0x20
je 0x4b277b
mov ebx, eax
mov dword [ebp - 0x264], ebx
cmp ecx, 9
jne 0x4b1c0e
mov ebx, eax
mov dword [ebp - 0x264], ebx
cmp eax, 0x28
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x29
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
push edx
mov dword [ebp - 0x264], ebx
call fcn.004b4e20
add esp, 4
test al, al
jne 0x4b16da
push dword [ebp - 0x274]
mov eax, dword [ebp - 0x26c]
lea ecx, [edi - 1]
push eax
push dword [ebp - 0x314]
mov dword [ebp - 0x2d4], ecx
push ecx
mov ecx, eax
call fcn.004875a0
push eax
call fcn.004b5440
mov eax, dword [ebp - 0x270]
add esp, 0x14
mov ebx, 0x29
mov dword [ebp - 0x264], ebx
cmp eax, 0x2f
jne 0x4b2854
mov ecx, dword [ebp - 0x2b0]
cmp ecx, 0x2a
jne 0x4b2839
xor ebx, ebx
cmp dword [ebp - 0x2c4], ecx
mov ecx, esi
sete bl
lea ebx, [ebx*2 + 0x2a]
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp ecx, 0x2f
jne 0x4b28c7
mov ebx, 0x2b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x22
jne 0x4b286b
mov ebx, 0x30
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x27
jne 0x4b2882
mov ebx, 0x31
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x2d
jne 0x4b28c7
cmp dword [ebp - 0x2b0], eax
jne 0x4b28c7
cmp dword [ebp - 0x2c4], 0x3e
jne 0x4b28c7
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push dword [ebp - 0x2d4]
call fcn.0047b700
mov edi, dword [ebp - 0x2bc]
mov ebx, 0x2b
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
push eax
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b16da
push dword [ebp - 0x274]
push 0x32
call fcn.004b6050
mov ecx, dword [ebp - 0x26c]
add esp, 8
push eax
push edi
call fcn.0047b700
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x2f
jne 0x4b1c0e
cmp dword [ebp - 0x29c], 0x2a
mov dword [ebp - 0x264], ebx
jne 0x4b1c0e
push dword [ebp - 0x278]
push edi
mov ecx, dword [ebp - 0x26c]
call fcn.0047b700
mov ebx, 0x29
mov dword [ebp - 0x270], 0x20
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp edx, 0xd
je 0x4b296a
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0xa
jne 0x4b1c0e
push dword [ebp - 0x274]
lea edx, [edi - 1]
push 0x2b
call fcn.004b6050
add esp, 8
push eax
push edx
jmp 0x4b292d
cmp edx, 0x5c
jne 0x4b29b0
mov eax, dword [ebp - 0x2b0]
cmp eax, 0x22
je 0x4b299b
cmp eax, 0x27
je 0x4b299b
cmp eax, 0x5c
jne 0x4b29a1
mov edi, dword [ebp - 0x2b8]
mov ebx, ecx
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x22
jne 0x4b29e4
push dword [ebp - 0x274]
push 0x30
call fcn.004b6050
add esp, 8
push eax
push edi
mov ecx, dword [ebp - 0x26c]
call fcn.0047b700
mov ebx, 0x29
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp dword [ebp - 0x274], 1
jne 0x4b2a30
cmp edx, 0x2d
jne 0x4b2a30
cmp dword [ebp - 0x2b0], edx
jne 0x4b2a30
cmp dword [ebp - 0x2c4], 0x3e
jne 0x4b2a30
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov edi, dword [ebp - 0x2bc]
mov ebx, 0x2b
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
mov ebx, ecx
push edx
mov dword [ebp - 0x264], ebx
call fcn.004b59e0
add esp, 4
test al, al
je 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x33
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x5c
je 0x4b2986
cmp edx, 0x27
jne 0x4b2a8b
push dword [ebp - 0x274]
push 0x31
jmp 0x4b29bd
cmp dword [ebp - 0x274], 1
jne 0x4b2ad7
cmp edx, 0x2d
jne 0x4b2ad7
cmp dword [ebp - 0x2b0], edx
jne 0x4b2ad7
cmp dword [ebp - 0x2c4], 0x3e
jne 0x4b2ad7
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov edi, dword [ebp - 0x2bc]
mov ebx, 0x2b
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
mov ebx, ecx
push edx
mov dword [ebp - 0x264], ebx
call fcn.004b59e0
add esp, 4
test al, al
je 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov eax, dword [ebp - 0x2b4]
mov ebx, eax
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x264], ebx
cmp ecx, 0x5c
je 0x4b1c0e
cmp dword [ebp - 0x2d0], 0x5c
jne 0x4b2b43
cmp ecx, 0xd
jne 0x4b2b43
cmp dword [ebp - 0x270], 0xa
mov dword [ebp - 0x264], ebx
je 0x4b1c0e
mov ebx, 0x33
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
push edx
call fcn.004b59e0
add esp, 4
test al, al
jne 0x4b2b71
push dword [ebp - 0x278]
lea eax, [edi - 1]
push eax
jmp 0x4b29c7
push dword [ebp - 0x2b0]
mov ebx, ecx
mov dword [ebp - 0x264], ebx
call fcn.004b59e0
add esp, 4
test al, al
jne 0x4b1c0e
push dword [ebp - 0x278]
jmp 0x4b29c6
cmp edx, 0xd
je 0x4b2d43
cmp edx, 0xa
je 0x4b2d43
cmp edx, 0x2f
je 0x4b2da2
mov eax, dword [ebp - 0x2a4]
mov ebx, ecx
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x28c], eax
mov al, byte [ebp - 0x25e]
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
mov byte [ebp - 0x25d], al
cmp edx, 0x5c
jne case.0x4b0963.1
cmp dword [ebp - 0x2b0], edx
je 0x4b2c7d
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x298], ecx
mov ecx, esi
mov byte [ebp - 0x25d], al
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x27c], edx
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x28c], edx
cmp eax, 0x2f
jne 0x4b2ec6
jmp 0x4b2c83
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x2b8]
push 0x20
inc eax
push eax
call fcn.0047bb30
mov ecx, dword [ebp - 0x26c]
movzx eax, al
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x274], eax
call fcn.004875a0
mov ebx, eax
mov dword [ebp - 0x2d0], ebx
jmp 0x4b4332
mov eax, dword [ebp - 0x2a4]
mov ebx, dword [ebp - 0x278]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x28c], eax
mov al, byte [ebp - 0x25e]
mov dword [ebp - 0x268], esi
mov byte [ebp - 0x25d], al
cmp edx, 0x2f
jne 0x4b2ea8
jmp 0x4b2da8
mov al, byte [ebp - 0x25e]
mov ecx, dword [ebp - 0x2a4]
push dword [ebp - 0x2b0]
mov ebx, dword [ebp - 0x278]
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x298], ecx
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], ecx
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x28c], ecx
mov byte [ebp - 0x25d], al
call fcn.0044c7d0
add esp, 4
test al, al
je 0x4b2ea8
mov eax, dword [ebp - 0x2a4]
mov ebx, dword [ebp - 0x2b8]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x28c], eax
mov al, byte [ebp - 0x25e]
mov dword [ebp - 0x268], esi
mov esi, dword [ebp - 0x2b0]
mov byte [ebp - 0x25d], al
push esi
call fcn.00563ef0
add esp, 4
test eax, eax
je 0x4b2e9c
mov ecx, dword [ebp - 0x26c]
mov edi, ebx
push 0x20
mov dword [ebp - 0x270], esi
lea ebx, [edi + 1]
push ebx
call fcn.0047bb30
movzx esi, al
push esi
call fcn.0044c7d0
add esp, 4
test al, al
jne 0x4b2e66
mov ebx, dword [ebp - 0x278]
mov dword [ebp - 0x2b0], esi
mov ecx, dword [ebp - 0x26c]
push ebx
push edi
call fcn.0047b700
mov ebx, 0x29
mov dword [ebp - 0x264], ebx
mov ecx, dword [ebp - 0x268]
mov dh, byte [ebp - 0x25d]
mov esi, ecx
mov byte [ebp - 0x25e], dh
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x2b8], edi
mov dword [ebp - 0x2b4], ebx
call fcn.004875a0
mov dword [ebp - 0x2d0], eax
cmp ebx, 0x47
jne 0x4b432c
mov ecx, dword [ebp - 0x270]
cmp ecx, 0x22
jne 0x4b42bd
cmp edi, eax
jl 0x4b42e4
mov esi, dword [ebp - 0x26c]
mov ebx, 0x4b
mov eax, dword [ebp - 0x274]
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x264], ebx
jmp 0x4b4024
push edx
call fcn.004b4e50
add esp, 4
test al, al
je 0x4b2f67
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x4a
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov eax, dword [ebp - 0x270]
cmp eax, 0x27
jne 0x4b2f99
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x48
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x22
jne 0x4b2fc5
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x4b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x3c
jne 0x4b3016
cmp dword [ebp - 0x2b0], 0x21
jne 0x4b3016
cmp dword [ebp - 0x2c4], 0x2d
mov ebx, dword [ebp - 0x26c]
jne 0x4b3024
push 0x20
lea eax, [edi + 3]
mov ecx, ebx
push eax
call fcn.0047bb30
cmp al, 0x2d
jne 0x4b301e
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.0047b700
mov ebx, 0x48
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, dword [ebp - 0x26c]
jmp 0x4b3024
mov eax, dword [ebp - 0x270]
push eax
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b306d
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.0047b700
push dword [ebp - 0x274]
push 0x47
call fcn.004b6050
add esp, 8
mov ecx, ebx
push eax
push edi
call fcn.0047b700
mov ebx, 0x47
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ecx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x2b4]
cmp ecx, 0x20
je 0x4b308f
mov ebx, eax
mov dword [ebp - 0x264], ebx
cmp ecx, 9
jne 0x4b1c0e
mov ebx, eax
cmp eax, 0x46
mov dword [ebp - 0x264], ebx
jne 0x4b1c0e
push dword [ebp - 0x278]
lea eax, [edi - 1]
push eax
mov ecx, dword [ebp - 0x26c]
call fcn.0047b700
mov ebx, 0x47
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
push edx
mov dword [ebp - 0x264], ebx
call fcn.004b4e20
add esp, 4
test al, al
jne 0x4b1c0e
push dword [ebp - 0x274]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push ecx
push dword [ebp - 0x30c]
push eax
call fcn.004875a0
push eax
call fcn.004b57a0
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x264], ebx
cmp ebx, 0x47
jne 0x4b1c0e
mov eax, dword [ebp - 0x270]
cmp eax, 0x22
jne 0x4b3133
mov ebx, 0x4b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x27
jne 0x4b314a
mov ebx, 0x48
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
push eax
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b1c0e
push dword [ebp - 0x274]
push 0x47
call fcn.004b6050
mov ecx, dword [ebp - 0x26c]
add esp, 8
push eax
push edi
call fcn.0047b700
mov ebx, 0x47
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x22
jne 0x4b31b3
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push edi
call fcn.0047b700
mov ebx, 0x47
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0xd
je 0x4b31c9
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0xa
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x4d
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0xd
je 0x4b30a0
mov ebx, ecx
cmp edx, 0xa
jmp 0x4b3094
push edx
call fcn.004b59e0
add esp, 4
test al, al
je 0x4b30a0
push dword [ebp - 0x2b0]
mov ebx, ecx
mov dword [ebp - 0x264], ebx
call fcn.004b59e0
add esp, 4
test al, al
jne 0x4b1c0e
push dword [ebp - 0x278]
push edi
jmp 0x4b30aa
push edx
call fcn.004b4e50
add esp, 4
test al, al
je 0x4b3272
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x60
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov eax, dword [ebp - 0x270]
cmp eax, 0x3c
jne 0x4b32d5
cmp dword [ebp - 0x2b0], 0x21
jne 0x4b33d1
cmp dword [ebp - 0x2c4], 0x2d
mov ebx, dword [ebp - 0x26c]
jne 0x4b33df
push 0x20
lea eax, [edi + 3]
mov ecx, ebx
push eax
call fcn.0047bb30
cmp al, 0x2d
jne 0x4b33d9
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.0047b700
mov ebx, 0x5c
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x23
jne 0x4b3301
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x5c
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x22
jne 0x4b3389
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
cmp dword [ebp - 0x2b0], 0x22
jne 0x4b3377
cmp dword [ebp - 0x2c4], 0x22
jne 0x4b3377
mov ebx, 0x62
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x26c]
push 0x20
mov dword [ebp - 0x264], ebx
lea eax, [edi + 1]
mov dword [ebp - 0x270], 0x20
push eax
mov dword [ebp - 0x29c], 0x20
call fcn.0047bb30
movzx eax, al
mov ecx, esi
mov dword [ebp - 0x2b0], eax
jmp 0x4b40e6
mov ebx, 0x5e
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x27
jne 0x4b33d1
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
cmp dword [ebp - 0x2b0], 0x27
jne 0x4b33bf
cmp dword [ebp - 0x2c4], 0x27
jne 0x4b33bf
mov ebx, 0x61
jmp 0x4b3336
mov ebx, 0x5f
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, dword [ebp - 0x26c]
jmp 0x4b33df
mov eax, dword [ebp - 0x270]
push eax
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b3429
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, ebx
push eax
call fcn.0047b700
push dword [ebp - 0x274]
push 0x65
call fcn.004b6050
add esp, 8
mov ecx, ebx
push eax
push edi
call fcn.0047b700
mov ebx, dword [ebp - 0x2b4]
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ecx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x2b4]
cmp ecx, 0x20
je 0x4b344b
mov ebx, eax
mov dword [ebp - 0x264], ebx
cmp ecx, 9
jne 0x4b1c0e
mov ebx, eax
mov dword [ebp - 0x264], ebx
cmp eax, 0x5a
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x5b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
push edx
mov dword [ebp - 0x264], ebx
call fcn.004b4e20
add esp, 4
test al, al
jne 0x4b16da
push dword [ebp - 0x2f0]
lea ecx, [ebp - 0x25c]
push dword [ebp - 0x274]
lea eax, [edi - 1]
push ecx
mov ecx, dword [ebp - 0x26c]
push ecx
push dword [ebp - 0x300]
push eax
call fcn.004875a0
push eax
call fcn.004b55e0
mov eax, dword [ebp - 0x270]
add esp, 0x1c
mov ebx, 0x5b
mov dword [ebp - 0x264], ebx
cmp eax, 0x23
jne 0x4b34f6
mov ebx, 0x5c
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x22
jne 0x4b3563
cmp dword [ebp - 0x2b0], eax
jne 0x4b3551
cmp dword [ebp - 0x2c4], eax
jne 0x4b3551
mov ebx, 0x62
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x26c]
push 0x20
mov dword [ebp - 0x264], ebx
lea eax, [edi + 1]
mov dword [ebp - 0x270], 0x20
push eax
mov dword [ebp - 0x29c], 0x20
call fcn.0047bb30
movzx eax, al
mov ecx, esi
mov dword [ebp - 0x2b0], eax
jmp 0x4b40e6
mov ebx, 0x5e
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x27
jne 0x4b358f
cmp dword [ebp - 0x2b0], eax
jne 0x4b357d
cmp dword [ebp - 0x2c4], eax
jne 0x4b357d
lea ebx, [eax + 0x3a]
jmp 0x4b3510
mov ebx, 0x5f
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
push eax
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b16da
push dword [ebp - 0x274]
push 0x65
call fcn.004b6050
mov ecx, dword [ebp - 0x26c]
add esp, 8
push eax
push edi
call fcn.0047b700
mov ecx, esi
jmp 0x4b40e6
mov esi, dword [ebp - 0x26c]
cmp edx, 0xd
je 0x4b35d8
cmp edx, 0xa
jne case.0x4b0963.1
push dword [ebp - 0x278]
lea eax, [edi - 1]
mov ecx, esi
push eax
call fcn.0047b700
mov ebx, 0x5b
jmp 0x4b2eba
cmp edx, 0x5c
jne 0x4b364b
mov eax, dword [ebp - 0x2b0]
cmp eax, 0x22
je 0x4b3610
cmp eax, 0x27
je 0x4b3610
cmp eax, edx
jne 0x4b29a1
mov edi, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
push 0x20
lea eax, [edi + 1]
push eax
call fcn.0047bb30
mov ecx, dword [ebp - 0x2b4]
mov ebx, ecx
movzx eax, al
mov ecx, esi
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x22
mov ebx, ecx
mov dword [ebp - 0x264], ebx
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push edi
call fcn.0047b700
mov ebx, 0x5b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x5c
jne 0x4b36d8
mov eax, dword [ebp - 0x2b0]
cmp eax, 0x22
je 0x4b369d
cmp eax, 0x27
je 0x4b369d
cmp eax, edx
jne 0x4b29a1
mov edi, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
push 0x20
lea eax, [edi + 1]
push eax
call fcn.0047bb30
mov ecx, dword [ebp - 0x2b4]
mov ebx, ecx
movzx eax, al
mov ecx, esi
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x27
jmp 0x4b364e
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x27
jne 0x4b1c0e
mov dword [ebp - 0x264], ebx
cmp dword [ebp - 0x29c], edx
jne 0x4b1c0e
cmp dword [ebp - 0x2d0], edx
jmp 0x4b364e
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x22
jne 0x4b1c0e
mov dword [ebp - 0x264], ebx
cmp dword [ebp - 0x29c], edx
jne 0x4b1c0e
cmp dword [ebp - 0x2d0], edx
jmp 0x4b364e
mov ebx, ecx
mov dword [ebp - 0x268], esi
push edx
mov dword [ebp - 0x264], ebx
call fcn.004b4e20
add esp, 4
test al, al
jne 0x4b21a2
mov ebx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push ebx
push dword [ebp - 0x310]
mov ecx, ebx
push eax
call fcn.004875a0
push eax
call fcn.004b5520
mov eax, dword [ebp - 0x270]
add esp, 0x10
cmp eax, 0x2f
jne 0x4b37c7
mov eax, dword [ebp - 0x2b0]
cmp eax, 0x2a
jne 0x4b37aa
mov edi, dword [ebp - 0x2b8]
mov ebx, 0x7c
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp eax, 0x2f
jne 0x4b3809
mov edi, dword [ebp - 0x2b8]
mov ebx, 0x7d
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp eax, 0x23
jne 0x4b37de
mov ebx, 0x7d
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp eax, 0x22
jne 0x4b3809
lea eax, [ebp - 0xcc]
mov ebx, 0x77
push 0x5b6158
push eax
mov dword [ebp - 0x264], ebx
call fcn.004afc00
add esp, 8
mov ecx, esi
jmp 0x4b40e6
push 0x5b615c
push edi
mov ecx, ebx
call fcn.00484050
test al, al
je 0x4b385e
lea eax, [ebp - 0x281]
mov byte [ebp - 0x281], 0
push eax
push ebx
push dword [ebp - 0x2f4]
lea eax, [edi + 3]
push eax
lea eax, [ebp - 0xcc]
push 0xc8
push eax
call fcn.004b4b80
lea ecx, [ebp - 0xcc]
add esp, 0x18
mov edi, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3852
jmp 0x4b40a8
mov ebx, dword [ebp - 0x270]
cmp ebx, 0x27
jne 0x4b388f
lea eax, [ebp - 0xcc]
mov ebx, 0x78
push 0x5b6160
push eax
mov dword [ebp - 0x264], ebx
call fcn.004afc00
add esp, 8
mov ecx, esi
jmp 0x4b40e6
cmp ebx, 0x24
jne 0x4b38b8
push dword [ebp - 0x2b0]
call fcn.004b4fe0
add esp, 4
test al, al
je 0x4b38b8
mov ebx, 0x7b
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
push ebx
call fcn.004b4f00
add esp, 4
mov ecx, esi
mov dword [ebp - 0x268], ecx
test al, al
je 0x4b38dd
mov ebx, 0x7f
mov dword [ebp - 0x264], ebx
jmp 0x4b40ec
mov ebx, 0x76
mov dword [ebp - 0x264], ebx
jmp 0x4b40ec
mov ebx, ecx
push edx
mov dword [ebp - 0x264], ebx
call fcn.0044c7b0
add esp, 4
test al, al
jne 0x4b1c0e
push dword [ebp - 0x270]
mov ebx, dword [ebp - 0x2b4]
push str..xXabcdefABCDEF
mov dword [ebp - 0x264], ebx
call fcn.005476d0
add esp, 8
test eax, eax
jne 0x4b1c0e
mov eax, dword [ebp - 0x270]
cmp eax, 0x2d
je 0x4b393d
cmp eax, 0x2b
jne 0x4b3969
mov eax, dword [ebp - 0x2b4]
mov ebx, eax
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x264], ebx
cmp ecx, 0x65
je 0x4b1c0e
mov dword [ebp - 0x264], ebx
cmp ecx, 0x45
je 0x4b1c0e
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push 0x7a
push eax
call fcn.0047b700
push dword [ebp - 0x270]
call fcn.004b4f00
add esp, 4
mov ebx, 0x76
test al, al
mov ecx, esi
mov eax, 0x7f
cmovne ebx, eax
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
push dword [ebp - 0x2b0]
mov ebx, ecx
mov dword [ebp - 0x264], ebx
call fcn.004b4fb0
add esp, 4
test al, al
jne 0x4b1c0e
mov ecx, dword [ebp - 0x26c]
push 0x7b
push edi
call fcn.0047b700
mov ebx, 0x76
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0x2f
jne 0x4b1c0e
cmp dword [ebp - 0x29c], 0x2a
mov dword [ebp - 0x264], ebx
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push edi
call fcn.0047b700
mov ebx, 0x76
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0xd
je 0x4b3a40
mov ebx, ecx
mov dword [ebp - 0x264], ebx
cmp edx, 0xa
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x76
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp edx, 0x5c
jne 0x4b3aa6
cmp byte [ebp - 0xcc], 0x22
je 0x4b299b
mov eax, dword [ebp - 0x2b0]
cmp eax, 0x24
je 0x4b299b
cmp eax, 0x7b
jne 0x4b3b4b
mov edi, dword [ebp - 0x2b8]
mov ebx, ecx
mov dword [ebp - 0x264], ebx
mov ecx, esi
jmp 0x4b40e6
cmp edx, 0x7b
jne 0x4b3abb
mov ebx, dword [ebp - 0x2b0]
cmp ebx, 0x24
je 0x4b3acf
jmp 0x4b3b4b
cmp edx, 0x24
jne 0x4b3b4b
mov ebx, dword [ebp - 0x2b0]
cmp ebx, 0x7b
jne 0x4b3b11
push dword [ebp - 0x2c4]
call fcn.004b4fe0
add esp, 4
test al, al
je 0x4b3b08
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x68
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
cmp dword [ebp - 0x270], 0x24
jne 0x4b3b45
push ebx
call fcn.004b4fe0
add esp, 4
test al, al
je 0x4b3b45
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
call fcn.0047b700
mov ebx, 0x7e
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ecx, dword [ebp - 0x2b4]
lea eax, [ebp - 0xcc]
mov dword [ebp - 0x268], esi
mov ebx, ecx
mov ecx, dword [ebp - 0x26c]
push eax
push edi
mov dword [ebp - 0x264], ebx
call fcn.00484050
test al, al
je 0x4b21a2
cmp byte [ebp - 0xcc], 0x22
je 0x4b3a06
push dword [ebp - 0x29c]
mov ebx, dword [ebp - 0x2b4]
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
call fcn.004b59e0
add esp, 4
test al, al
je 0x4b21a2
lea ecx, [ebp - 0xcc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3bb2
mov ebx, dword [ebp - 0x26c]
sub ecx, edx
push 0x20
mov dword [ebp - 0x2d0], ecx
lea eax, [ecx + edi]
mov ecx, ebx
push eax
mov dword [ebp - 0x2d4], eax
call fcn.0047bb30
mov ecx, dword [ebp - 0x2d4]
inc ecx
mov byte [ebp - 0x281], al
push 0x20
push ecx
mov ecx, ebx
call fcn.0047bb30
mov dl, byte [ebp - 0x281]
mov dh, al
movsx ecx, dl
push ecx
call fcn.004b59e0
add esp, 4
test al, al
jne 0x4b3c4e
mov eax, dword [ebp - 0x2b4]
mov ebx, eax
mov dword [ebp - 0x264], ebx
mov ecx, esi
mov dword [ebp - 0x268], ecx
cmp dl, 0x3b
jne 0x4b40ec
movsx eax, dh
push eax
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
call fcn.004b59e0
add esp, 4
test al, al
je 0x4b21a2
mov ebx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x2f4]
cmp dword [ebp - 0x2d4], ecx
push dword [ebp - 0x278]
mov eax, ecx
mov ecx, ebx
cmovl eax, dword [ebp - 0x2d0]
dec eax
add edi, eax
push edi
call fcn.0047b700
cmp byte [ebp - 0x2d5], 0
mov ebx, 0x76
mov ecx, esi
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], ecx
je 0x4b40ec
lea ecx, [esi - 1]
jmp 0x4b40e6
cmp byte [ebp - 0xcc], 0x27
mov ebx, ecx
mov dword [ebp - 0x264], ebx
jne 0x4b3cc7
cmp edx, 0x5c
jne 0x4b3cbf
mov edi, dword [ebp - 0x2b8]
mov ecx, esi
jmp 0x4b40e6
cmp edx, 0x27
jmp 0x4b3a00
push dword [ebp - 0x29c]
mov dword [ebp - 0x268], esi
call fcn.004b59e0
add esp, 4
test al, al
je 0x4b21a2
lea eax, [ebp - 0xcc]
mov dword [ebp - 0x268], esi
mov ebx, ecx
mov ecx, dword [ebp - 0x26c]
push eax
push edi
mov dword [ebp - 0x264], ebx
call fcn.00484050
test al, al
je 0x4b21a2
lea ecx, [ebp - 0xcc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3d15
mov ebx, dword [ebp - 0x26c]
sub ecx, edx
push 0x20
mov dword [ebp - 0x2d0], ecx
lea eax, [ecx + edi]
mov ecx, ebx
push eax
mov dword [ebp - 0x2d4], eax
call fcn.0047bb30
mov ecx, dword [ebp - 0x2d4]
inc ecx
mov byte [ebp - 0x281], al
push 0x20
push ecx
mov ecx, ebx
call fcn.0047bb30
mov dl, byte [ebp - 0x281]
mov dh, al
movsx ecx, dl
push ecx
call fcn.004b59e0
add esp, 4
test al, al
jne 0x4b3db1
mov eax, dword [ebp - 0x2b4]
mov ebx, eax
mov dword [ebp - 0x264], ebx
mov ecx, esi
mov dword [ebp - 0x268], ecx
cmp dl, 0x3b
jne 0x4b40ec
movsx eax, dh
push eax
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
call fcn.004b59e0
add esp, 4
test al, al
je 0x4b21a2
mov ebx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x2f4]
cmp dword [ebp - 0x2d4], ecx
jmp 0x4b3c5a
push dword [ebp - 0x2b0]
mov ebx, ecx
mov dword [ebp - 0x264], ebx
call fcn.004b4fb0
add esp, 4
test al, al
jne 0x4b1c0e
push dword [ebp - 0x278]
mov ecx, dword [ebp - 0x26c]
push edi
call fcn.0047b700
mov ebx, 0x77
mov ecx, esi
mov dword [ebp - 0x264], ebx
jmp 0x4b40e6
mov ebx, ecx
cmp edx, 0x7d
mov dword [ebp - 0x264], ebx
jmp 0x4b3dda
push dword [ebp - 0x278]
mov ebx, dword [ebp - 0x26c]
lea eax, [edi - 1]
push eax
mov ecx, ebx
call fcn.0047b700
push dword [ebp - 0x270]
call fcn.0044c7b0
add esp, 4
test al, al
jne 0x4b42ad
mov eax, dword [ebp - 0x270]
cmp eax, 0x2e
jne 0x4b3e65
push dword [ebp - 0x2b0]
call fcn.0044c7b0
add esp, 4
test al, al
jne 0x4b42ad
mov eax, dword [ebp - 0x270]
push eax
call fcn.004b4e50
mov ecx, dword [ebp - 0x270]
add esp, 4
test al, al
je 0x4b3e82
mov ebx, 0x79
jmp 0x4b3f2b
cmp ecx, 0x2f
jne 0x4b3f23
mov eax, dword [ebp - 0x2b0]
cmp eax, 0x2a
jne 0x4b3ea4
mov edi, dword [ebp - 0x2b8]
lea ebx, [ecx + 0x4d]
jmp 0x4b3f2b
cmp eax, 0x2f
jne 0x4b4054
mov eax, dword [ebp - 0x2a4]
mov ebx, 0x7d
mov dh, byte [ebp - 0x25e]
mov edi, dword [ebp - 0x2b8]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x268], esi
mov esi, dword [ebp - 0x26c]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x274]
mov byte [ebp - 0x25d], dh
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x264], ebx
jmp 0x4b4024
cmp ecx, 0x23
jne 0x4b3f96
lea ebx, [ecx + 0x5a]
mov eax, dword [ebp - 0x2a4]
mov dh, byte [ebp - 0x25e]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x268], esi
mov esi, dword [ebp - 0x26c]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x274]
mov byte [ebp - 0x25d], dh
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x264], ebx
jmp 0x4b4024
cmp ecx, 0x22
jne 0x4b4054
mov ebx, 0x77
push 0x5b6174
lea eax, [ebp - 0xcc]
mov dword [ebp - 0x264], ebx
push eax
call fcn.004afc00
add esp, 8
mov eax, dword [ebp - 0x2a4]
mov dh, byte [ebp - 0x25e]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x28c], eax
mov byte [ebp - 0x25d], dh
mov esi, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x270]
inc edi
mov dword [ebp + 8], edi
cmp edi, dword [ebp - 0x2f4]
jl 0x4b0170
mov ecx, dword [ebp - 0x2f4]
lea eax, [ebx - 0x2e]
cmp eax, 0x4b
ja case.0x4b404d.47
movzx eax, byte [eax + 0x4b4b2c]
jmp dword [eax*4 + 0x4b4b18]
push 0x5b6178
push edi
mov ecx, ebx
call fcn.00484050
test al, al
je 0x4b4139
lea eax, [ebp - 0x281]
mov byte [ebp - 0x281], 0
push eax
push ebx
push dword [ebp - 0x2f4]
lea eax, [edi + 3]
push eax
lea eax, [ebp - 0xcc]
push 0xc8
push eax
call fcn.004b4b80
lea ecx, [ebp - 0xcc]
add esp, 0x18
mov edi, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b40a1
mov ebx, dword [ebp - 0x2b4]
sub ecx, edx
mov ecx, esi
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], ecx
je 0x4b40ec
xor ebx, ebx
mov dword [ebp - 0x268], ecx
cmp byte [ebp - 0x281], bl
setne bl
add ebx, 0x77
cmp byte [ebp - 0x2d5], 0
mov dword [ebp - 0x264], ebx
je 0x4b40ec
lea ecx, [esi + 1]
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x2a4]
mov dh, byte [ebp - 0x25e]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x28c], eax
mov byte [ebp - 0x25d], dh
jmp 0x4b2ecc
mov ebx, dword [ebp - 0x270]
cmp ebx, 0x27
jne 0x4b4153
mov ebx, 0x78
push 0x5b617c
jmp 0x4b3fa9
cmp ebx, 0x24
jne 0x4b417a
push dword [ebp - 0x2b0]
call fcn.004b4fe0
add esp, 4
test al, al
je 0x4b417a
mov ebx, 0x7b
mov dword [ebp - 0x264], ebx
jmp 0x4b3fbe
push ebx
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b4197
mov ebx, 0x7f
mov dword [ebp - 0x264], ebx
jmp 0x4b3fbe
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2b4]
mov ebx, eax
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x27c], edx
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x28c], edx
mov dl, byte [ebp - 0x25e]
mov dword [ebp - 0x298], ecx
mov ecx, esi
mov dword [ebp - 0x264], ebx
mov dh, dl
mov dword [ebp - 0x268], ecx
mov byte [ebp - 0x25d], dh
cmp eax, 0x7f
jne 0x4b2ecc
cmp byte [ebp - 0x281], 0
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x28c], eax
mov byte [ebp - 0x25d], dh
je 0x4b2ecc
mov ecx, dword [ebp - 0x2a4]
mov ebx, 0x76
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x298], ecx
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x28c], eax
mov byte [ebp - 0x25d], dl
jmp 0x4b400c
mov ebx, 0x7a
mov dword [ebp - 0x264], ebx
jmp 0x4b3fbe
cmp ecx, 0x27
jne 0x4b42e4
mov esi, dword [ebp - 0x26c]
mov ebx, 0x48
mov eax, dword [ebp - 0x274]
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x264], ebx
jmp 0x4b4024
push ecx
call fcn.004b4e50
add esp, 4
test al, al
je 0x4b4301
mov ebx, 0x4a
mov dword [ebp - 0x264], ebx
jmp 0x4b400c
push dword [ebp - 0x270]
call fcn.004b4f00
mov esi, dword [ebp - 0x26c]
add esp, 4
test al, al
je 0x4b4012
push 0x47
push edi
mov ecx, esi
call fcn.0047b700
jmp 0x4b4012
mov ebx, dword [ebp - 0x2d0]
mov edi, dword [ebp - 0x2e8]
mov cl, byte [ebp - 0x2dc]
mov dl, byte [ebp - 0x2c8]
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x2bc], edi
mov edi, dword [ebp - 0x2ac]
mov dword [ebp - 0x2c4], edi
mov edi, dword [ebp - 0x29c]
mov dword [ebp - 0x280], edi
mov edi, dword [ebp - 0x2b4]
mov dword [ebp - 0x288], eax
mov byte [ebp - 0x2dd], cl
mov byte [ebp - 0x281], dl
cmp edi, 0x51
jne 0x4b4479
mov ecx, dword [ebp - 0x270]
cmp ecx, 0x22
jne 0x4b43a9
cmp dword [ebp - 0x2b8], ebx
jl 0x4b43bb
mov ebx, 0x55
mov dword [ebp - 0x264], ebx
jmp 0x4b4408
cmp ecx, 0x27
jne 0x4b43bb
mov ebx, 0x52
mov dword [ebp - 0x264], ebx
jmp 0x4b4408
push ecx
call fcn.004b4e50
add esp, 4
test al, al
je 0x4b43cf
mov ebx, 0x54
jmp 0x4b43fc
push dword [ebp - 0x270]
mov ebx, edi
mov dword [ebp - 0x264], ebx
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b4402
mov ecx, dword [ebp - 0x26c]
push 0x51
push dword [ebp - 0x2b8]
call fcn.0047b700
mov dword [ebp - 0x264], ebx
mov ecx, dword [ebp - 0x270]
mov edx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x274]
mov edi, dword [ebp - 0x2b8]
mov dword [ebp - 0x2dc], edx
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2c8], edx
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x2e8], edx
mov edx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2ac], edx
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x29c], edx
mov dh, byte [ebp - 0x25e]
mov dword [ebp - 0x268], esi
mov esi, dword [ebp - 0x26c]
mov byte [ebp - 0x25d], dh
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x274], eax
jmp 0x4b4024
cmp dword [ebp - 0x2b4], 0x29
mov ebx, edi
mov edi, dword [ebp - 0x2bc]
mov ch, byte [ebp - 0x25e]
mov dword [ebp - 0x2e8], edi
mov edi, dword [ebp - 0x2c4]
mov dword [ebp - 0x2ac], edi
mov edi, dword [ebp - 0x280]
mov dword [ebp - 0x29c], edi
mov edi, dword [ebp - 0x2b8]
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x274], eax
mov byte [ebp - 0x2dc], cl
mov byte [ebp - 0x2c8], dl
mov dword [ebp - 0x268], esi
mov byte [ebp - 0x25d], ch
jne 0x4b400c
mov ebx, dword [ebp - 0x270]
cmp ebx, 0x2f
jne 0x4b45ed
mov edi, dword [ebp - 0x2b0]
cmp edi, 0x2a
jne 0x4b458c
mov edi, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x26c]
push 0x20
lea eax, [edi + 2]
push eax
call fcn.0047bb30
mov cl, byte [ebp - 0x2dd]
xor ebx, ebx
mov dl, byte [ebp - 0x25e]
cmp al, 0x2a
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x2dc], ecx
sete bl
mov cl, byte [ebp - 0x281]
mov dword [ebp - 0x2c8], ecx
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2e8], ecx
lea ebx, [ebx*2 + 0x2a]
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x268], esi
mov esi, dword [ebp - 0x26c]
mov byte [ebp - 0x25d], dl
mov edx, ecx
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x264], ebx
jmp 0x4b401e
cmp edi, 0x2f
mov edi, dword [ebp - 0x2b8]
jne 0x4b461b
mov ebx, 0x2b
mov byte [ebp - 0x2c8], dl
mov edx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2e8], edx
mov edx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2ac], edx
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x268], esi
mov esi, dword [ebp - 0x26c]
mov byte [ebp - 0x2dc], cl
mov byte [ebp - 0x25d], ch
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x264], ebx
jmp 0x4b401e
mov edi, dword [ebp - 0x2b8]
cmp ebx, 0x22
jne 0x4b4607
cmp edi, dword [ebp - 0x2d0]
jl 0x4b461b
mov ebx, 0x30
jmp 0x4b45a0
cmp ebx, 0x27
jne 0x4b461b
cmp edi, dword [ebp - 0x2d0]
jl 0x4b461b
mov ebx, 0x31
jmp 0x4b45a0
push ebx
call fcn.004b4e50
add esp, 4
mov dword [ebp - 0x268], esi
test al, al
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x274], eax
je 0x4b469a
mov cl, byte [ebp - 0x2dd]
mov ebx, 0x2e
mov dl, byte [ebp - 0x25e]
mov esi, dword [ebp - 0x26c]
mov dword [ebp - 0x2dc], ecx
mov cl, byte [ebp - 0x281]
mov dword [ebp - 0x2c8], ecx
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2e8], ecx
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [ebp - 0x280]
mov byte [ebp - 0x25d], dl
mov edx, ecx
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x264], ebx
jmp 0x4b401e
mov al, byte [ebp - 0x2dd]
push dword [ebp - 0x270]
mov ebx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2dc], eax
mov al, byte [ebp - 0x281]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x25e]
mov dword [ebp - 0x264], ebx
mov byte [ebp - 0x25d], al
call fcn.004b4f00
add esp, 4
test al, al
je 0x4b400c
mov edi, dword [ebp - 0x288]
push edi
push 0x32
call fcn.004b6050
mov ecx, dword [ebp - 0x26c]
add esp, 8
push eax
push dword [ebp - 0x2b8]
call fcn.0047b700
mov cl, byte [ebp - 0x2dd]
mov eax, edi
mov edi, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x2dc], ecx
mov cl, byte [ebp - 0x281]
mov dword [ebp - 0x2c8], ecx
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2e8], ecx
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2ac], ecx
mov cl, byte [ebp - 0x25e]
mov dword [ebp - 0x268], esi
mov esi, dword [ebp - 0x26c]
mov byte [ebp - 0x25d], cl
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x264], ebx
jmp 0x4b401e
push dword [ebp - 0x274]
lea eax, [ecx - 1]
mov ecx, esi
push esi
push dword [ebp - 0x314]
push eax
call fcn.004875a0
push eax
call fcn.004b5440
add esp, 0x14
jmp 0x4b4853
push dword [ebp - 0x274]
lea eax, [ecx - 1]
mov ecx, esi
push esi
push dword [ebp - 0x30c]
push eax
call fcn.004875a0
push eax
call fcn.004b57a0
add esp, 0x14
jmp 0x4b4853
push dword [ebp - 0x2f0]
lea eax, [ebp - 0x25c]
push dword [ebp - 0x274]
push eax
push esi
push dword [ebp - 0x300]
lea eax, [ecx - 1]
mov ecx, esi
push eax
call fcn.004875a0
push eax
call fcn.004b55e0
add esp, 0x1c
jmp 0x4b4853
push esi
push dword [ebp - 0x310]
lea eax, [ecx - 1]
mov ecx, esi
push eax
call fcn.004875a0
push eax
call fcn.004b5520
add esp, 0x10
jmp 0x4b4853
mov ecx, esi
call fcn.004875a0
mov edx, dword [ebp - 0x2f4]
cmp eax, edx
jge 0x4b4853
push dword [ebp - 0x274]
push ebx
call fcn.004b6050
add esp, 8
mov ecx, esi
push eax
lea eax, [edx - 1]
push eax
call fcn.0047b700
cmp byte [ebp - 0x2bd], 0
je 0x4b487e
mov ebx, dword [ebp - 0x290]
mov ecx, esi
push ebx
call fcn.0047ca20
and eax, 0xfffff000
mov ecx, esi
or eax, dword [ebp - 0x298]
push eax
push ebx
call fcn.0047ca70
lea ecx, [ebp - 0x33c]
call fcn.0047d990
lea ecx, [ebp - 0x348]
call fcn.0047d990
lea ecx, [ebp - 0x354]
call fcn.0047d990
lea ecx, [ebp - 0x32c]
call fcn.0047d990
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0052a352
mov esp, ebp
pop ebp
ret