Function at 0x4bdaf0
Capabilities:
Encode data using base64
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x224
mov eax, dword [esp + 0x234]
push ebp
mov ebp, dword [esp + 0x23c]
push esi
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [esp + 0x230]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x84], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x80], edx
mov edx, dword [eax + 0x14]
mov eax, dword [ebp]
push edi
mov dword [esp + 0x7c], ecx
push 0x7f
push esi
mov ecx, ebp
mov dword [esp + 0x98], edx
call dword [eax + 0x38]
mov ecx, dword [esp + 0x23c]
mov byte [esp + 0x168], 0
push ecx
mov byte [esp + 0xa4], 0
call fcn.004c1830
mov edi, eax
push edi
mov dword [esp + 0x14], edi
call fcn.004c2140
add esp, 8
test al, al
je 0x4bdbb9
test esi, esi
jbe 0x4bdbb3
lea edi, [esi - 1]
mov edx, dword [ebp]
push edi
mov ecx, ebp
call dword [edx + 0x10]
movsx eax, al
push eax
call fcn.004c2140
add esp, 4
test al, al
je 0x4bdbb3
mov ecx, dword [esp + 0x238]
dec esi
dec edi
inc ecx
test esi, esi
mov dword [esp + 0x238], ecx
ja 0x4bdb85
xor edi, edi
mov dword [esp + 0xc], edi
test esi, esi
jbe 0x4bdbf3
push edi
call fcn.004c2210
add esp, 4
test al, al
je 0x4bdbef
cmp edi, 0x78
je 0x4bdbef
mov edx, dword [esp + 0x238]
dec esi
inc edx
push esi
mov dword [esp + 0x23c], edx
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x10]
test esi, esi
movsx edi, al
ja 0x4bdbbd
mov dword [esp + 0xc], edi
mov eax, dword [ebp]
push 0x7f
push esi
mov ecx, ebp
call dword [eax + 0x38]
mov edx, dword [ebp]
push esi
mov ecx, ebp
call dword [edx + 0x14]
test eax, eax
mov dword [esp + 0x5c], eax
jle 0x4bdc1a
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x28]
jmp 0x4bdc2e
mov eax, dword [ebp]
push 1
push str.asp.default.language
mov ecx, ebp
call dword [eax + 0x30]
or al, 0x10
shl eax, 4
mov ecx, eax
push ebx
and ecx, 3
push edi
mov dword [esp + 0x30], ecx
mov ecx, eax
sar ecx, 2
and cl, 1
mov byte [esp + 0x47], 0
mov byte [esp + 0x37], cl
mov ecx, eax
sar ecx, 3
and cl, 1
mov byte [esp + 0x2b], cl
mov ecx, eax
sar ecx, 4
and ecx, 0xf
mov dword [esp + 0x6c], ecx
mov ecx, eax
sar ecx, 8
sar eax, 0xc
and ecx, 0xf
and eax, 0xff
mov dword [esp + 0x74], ecx
mov dword [esp + 0x68], eax
call fcn.004c1760
mov edx, dword [ebp]
add esp, 4
mov ecx, ebp
mov dword [esp + 0x34], eax
push 0
push str.fold.html
call dword [edx + 0x30]
test eax, eax
setne bl
test bl, bl
je 0x4bdcb6
mov eax, dword [ebp]
push 0
push 0x797814
mov ecx, ebp
call dword [eax + 0x30]
test eax, eax
mov byte [esp + 0x42], 1
jne 0x4bdcbb
mov byte [esp + 0x42], 0
test bl, bl
je 0x4bdcd7
mov edx, dword [ebp]
push 1
push str.fold.html.preprocessor
mov ecx, ebp
call dword [edx + 0x30]
test eax, eax
mov byte [esp + 0x41], 1
jne 0x4bdcdc
mov byte [esp + 0x41], 0
mov eax, dword [ebp]
push 1
push 0x7977ec
mov ecx, ebp
call dword [eax + 0x30]
mov edx, dword [ebp]
push 0
test eax, eax
push str.html.tags.case.sensitive
mov ecx, ebp
setne byte [esp + 0x67]
call dword [edx + 0x30]
mov edx, dword [ebp]
mov ecx, ebp
test eax, eax
setne al
mov byte [esp + 0x98], al
mov eax, dword [esp + 0x60]
push eax
call dword [edx + 0x1c]
mov edx, dword [ebp]
and eax, 0xfff
mov bl, 0x20
push esi
mov ecx, ebp
mov dword [esp + 0x7c], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], 0
mov byte [esp + 0x1b], 0x20
mov byte [esp + 0x80], bl
call dword [edx + 0x44]
mov eax, dword [esp + 0x23c]
mov dword [esp + 0x74], esi
add eax, esi
cmp esi, eax
mov dword [esp + 0x6c], eax
jge 0x4c118c
mov cl, byte [esp + 0x17]
cmp bl, 0x20
mov byte [esp + 0x4b], cl
mov byte [esp + 0x17], bl
je 0x4bdd79
cmp bl, 9
je 0x4bdd79
mov byte [esp + 0x7c], bl
cmp esi, dword [ebp + 0xfa8]
jl 0x4bdd89
cmp esi, dword [ebp + 0xfac]
jl 0x4bdd92
mov edx, dword [ebp]
push esi
mov ecx, ebp
call dword [edx + 4]
mov eax, dword [ebp + 0xfa8]
mov ecx, esi
sub ecx, eax
mov bl, byte [ecx + ebp + 4]
lea ecx, [esi + 1]
cmp ecx, eax
mov byte [esp + 0x58], bl
mov dword [esp + 0x38], ecx
jl 0x4bddb7
cmp ecx, dword [ebp + 0xfac]
jl 0x4bddda
mov eax, dword [esp + 0x38]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 4]
mov eax, dword [ebp + 0xfa8]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jl 0x4bddea
cmp ecx, dword [ebp + 0xfac]
jge 0x4bddea
mov edx, dword [esp + 0x38]
sub edx, eax
mov cl, byte [edx + ebp + 4]
mov byte [esp + 0x20], cl
jmp 0x4bddef
mov byte [esp + 0x20], 0x20
lea ecx, [esi + 2]
cmp ecx, eax
mov dword [esp + 0x44], ecx
jl 0x4bde02
cmp ecx, dword [ebp + 0xfac]
jl 0x4bde25
mov eax, dword [esp + 0x44]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 4]
mov eax, dword [ebp + 0xfa8]
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jl 0x4bde35
cmp ecx, dword [ebp + 0xfac]
jge 0x4bde35
mov edx, dword [esp + 0x44]
sub edx, eax
mov al, byte [edx + ebp + 4]
mov byte [esp + 0x3c], al
jmp 0x4bde3a
mov byte [esp + 0x3c], 0x20
mov eax, dword [ebp + 0xfb0]
test eax, eax
je 0x4bde62
mov eax, dword [esp + 0x58]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx]
test al, al
je 0x4bde62
mov esi, dword [esp + 0x38]
mov byte [esp + 0x17], 0x20
jmp case.0x4be327.48
cmp bl, 0x20
je 0x4bde71
cmp bl, 9
jb 0x4bde79
cmp bl, 0xd
ja 0x4bde79
mov al, byte [esp + 0x5f]
test al, al
jne 0x4bde85
mov al, byte [esp + 0x42]
test al, al
je 0x4bde85
inc dword [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
push ecx
push edi
call fcn.004c17d0
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x4a]
add esp, 8
test al, al
je case.0x4be00a.48
mov eax, dword [esp + 0x34]
dec eax
je 0x4bdfe1
sub eax, 2
je 0x4bdebf
dec eax
je 0x4bdfe1
jmp case.0x4be00a.48
cmp edi, 0x5c
je case.0x4be00a.48
cmp bl, 0x3a
jne 0x4bdef1
mov al, byte [esp + 0x20]
cmp al, 0xa
je 0x4bdee8
cmp al, 0xd
jne 0x4be0ff
cmp byte [esp + 0x3c], 0xa
jne 0x4be0ff
inc dword [esp + 0x28]
jmp 0x4be0ff
cmp bl, 0xa
jne case.0x4be00a.48
mov al, byte [esp + 0x20]
cmp al, 0xd
jne 0x4bdf0e
cmp byte [esp + 0x3c], bl
je 0x4be04b
jmp 0x4bdf16
cmp al, 0xa
je 0x4be04b
mov eax, dword [esp + 0x28]
and ah, 0xfb
shl eax, 3
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x4be04b
mov eax, dword [esp + 0x38]
mov edx, dword [ebp + 0xfa8]
mov dword [esp + 0x54], eax
cmp eax, edx
jl 0x4bdf46
cmp eax, dword [ebp + 0xfac]
jl 0x4bdf6d
mov eax, dword [esp + 0x54]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 4]
mov edx, dword [ebp + 0xfa8]
mov eax, dword [esp + 0x54]
cmp eax, edx
jl 0x4bdf8a
mov ecx, eax
mov eax, dword [ebp + 0xfac]
cmp ecx, eax
jge 0x4bdf8a
mov eax, dword [esp + 0x54]
mov ecx, eax
sub ecx, edx
mov cl, byte [ecx + ebp + 4]
cmp cl, 9
jne 0x4bdf85
sub dword [esp + 0x1c], 8
jmp 0x4bdf97
cmp cl, 0x20
jne 0x4bdfa9
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x1c]
inc eax
test ecx, ecx
mov dword [esp + 0x54], eax
jg 0x4bdf3a
jmp 0x4be04b
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x4be04b
mov eax, ecx
cdq
and edx, 7
add eax, edx
mov edx, dword [esp + 0x28]
sar eax, 3
neg eax
add edx, eax
and ecx, 0x80000007
mov dword [esp + 0x28], edx
jns 0x4bdfd9
dec ecx
or ecx, 0xfffffff8
inc ecx
je 0x4be04b
dec dword [esp + 0x28]
jmp 0x4be04b
cmp edi, 0x7c
je case.0x4be00a.48
cmp edi, 0x7d
je case.0x4be00a.48
cmp edi, 0x2a
je case.0x4be00a.48
cmp edi, 0x2b
je case.0x4be00a.48
cmp edi, 0x2c
je case.0x4be00a.48
lea eax, [edi - 0x30]
cmp eax, 0x4e
ja case.0x4be00a.49
xor edx, edx
mov dl, byte [eax + 0x4c11e8]
jmp dword [edx*4 + 0x4c11e0]
cmp bl, 0x7b
je 0x4be01b
cmp bl, 0x7d
jne case.0x4be00a.48
mov al, bl
mov ecx, dword [esp + 0x28]
sub al, 0x7b
neg al
sbb eax, eax
and al, 0xfe
inc eax
add ecx, eax
mov dword [esp + 0x28], ecx
cmp bl, 0xd
jne 0x4be042
mov al, byte [esp + 0x20]
cmp al, 0xa
jne 0x4be04b
jmp 0x4be0ff
cmp bl, 0xa
jne 0x4be0fb
mov al, byte [esp + 0x42]
test al, al
je 0x4be08f
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x78]
test edx, edx
mov eax, ecx
jne 0x4be064
or ah, 0x10
cmp dword [esp + 0x28], ecx
jle 0x4be071
test edx, edx
jle 0x4be071
or ah, 0x20
mov edx, dword [ebp]
push eax
mov eax, dword [esp + 0x64]
mov ecx, ebp
push eax
call dword [edx + 0x4c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x70]
and eax, 0xff
and ecx, 0xf
shl eax, 4
or eax, ecx
mov ecx, dword [esp + 0x68]
shl eax, 4
and ecx, 0xf
mov edx, dword [esp + 0x60]
or eax, ecx
mov cl, byte [esp + 0x27]
shl eax, 1
and ecx, 1
inc edx
or eax, ecx
mov cl, byte [esp + 0x33]
shl eax, 1
and ecx, 1
mov dword [esp + 0x60], edx
or eax, ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp]
and ecx, 3
shl eax, 2
or eax, ecx
mov ecx, ebp
push eax
mov eax, dword [esp + 0x64]
push eax
call dword [edx + 0x2c]
mov al, byte [esp + 0x20]
cmp edi, 0x7f
ja 0x4c0ded
jmp 0x4be85e
mov al, byte [esp + 0x20]
cmp dword [esp + 0x2c], 1
jne 0x4be2ab
cmp bl, 0x3c
jne 0x4be2ab
cmp al, 0x2f
jne 0x4be2ab
lea ecx, [edi - 6]
cmp ecx, 0x5c
ja case.0x4be12b.7
xor edx, edx
mov dl, byte [ecx + 0x4c1240]
jmp dword [edx*4 + 0x4c1238]
cmp edi, 0x2b
jne 0x4be269
mov ecx, dword [ebp + 0xfa8]
mov eax, dword [esp + 0x44]
cmp eax, ecx
mov dword [esp + 0x54], 0
jl 0x4be159
cmp eax, dword [ebp + 0xfac]
jl 0x4be180
mov ecx, dword [esp + 0x44]
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 4]
mov ecx, dword [ebp + 0xfa8]
mov eax, dword [esp + 0x44]
cmp eax, ecx
jl 0x4be18c
mov edx, eax
mov eax, dword [ebp + 0xfac]
cmp edx, eax
jge 0x4be18c
mov eax, dword [esp + 0x44]
sub eax, ecx
mov al, byte [eax + ebp + 4]
jmp 0x4be18e
mov al, 0x20
mov edx, dword [esp + 0x44]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x54]
cmp al, 0x20
je 0x4be215
cmp al, 9
jb 0x4be1a6
cmp al, 0xd
jbe 0x4be215
movsx eax, al
cmp eax, 0x41
jl 0x4be1b6
cmp eax, 0x5a
jg 0x4be1b6
add eax, 0x20
mov byte [esp + edx + 0x9c], al
mov eax, dword [esp + 0x1c]
inc edx
inc eax
cmp eax, ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x1c], eax
jl 0x4be1d7
cmp eax, dword [ebp + 0xfac]
jl 0x4be1fe
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 4]
mov ecx, dword [ebp + 0xfa8]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jl 0x4be20a
mov edx, eax
mov eax, dword [ebp + 0xfac]
cmp edx, eax
jge 0x4be20a
mov eax, dword [esp + 0x1c]
sub eax, ecx
mov al, byte [eax + ebp + 4]
jmp 0x4be20c
mov al, 0x20
mov edx, dword [esp + 0x54]
cmp edx, 6
jl 0x4be19a
mov byte [esp + edx + 0x9c], 0
mov dword [esp + 0x1c], str.script
lea eax, [esp + 0x9c]
mov cl, byte [eax]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x53], cl
cmp cl, byte [edx]
jne 0x4be25c
test cl, cl
je 0x4be258
mov cl, byte [eax + 1]
mov byte [esp + 0x53], cl
cmp cl, byte [edx + 1]
jne 0x4be25c
add eax, 2
add edx, 2
test cl, cl
mov dword [esp + 0x1c], edx
jne 0x4be22c
xor eax, eax
jmp 0x4be261
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4be85a
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp]
dec esi
push ecx
push esi
mov ecx, ebp
call dword [eax + 0x48]
mov esi, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
mov edi, 2
add eax, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x70], 1
mov dword [esp + 0x4c], eax
mov byte [esp + 0x27], 1
jmp case.0x4be327.48
cmp edi, 0x10
je 0x4be40c
push edi
call fcn.004c2210
add esp, 4
test al, al
jne 0x4be40c
cmp edi, 0x7c
je 0x4be40c
cmp bl, 0x3c
jne 0x4be40c
cmp byte [esp + 0x20], 0x3f
jne 0x4be40c
push edi
call fcn.004c21a0
add esp, 4
test al, al
jne 0x4be40c
mov eax, dword [ebp]
lea edx, [esi + 0xa]
push 4
push edx
mov ecx, ebp
call dword [eax + 0x40]
add eax, 2
push eax
push ebp
call fcn.004c1580
add esp, 0x10
cmp eax, 4
mov dword [esp + 0x34], eax
je case.0x4be327.49
lea eax, [edi - 0x30]
cmp eax, 0x4e
ja case.0x4be327.49
xor ecx, ecx
mov cl, byte [eax + 0x4c12a8]
jmp dword [ecx*4 + 0x4c12a0]
mov eax, dword [esp + 0x18]
mov edx, dword [ebp]
dec esi
push eax
push esi
mov ecx, ebp
call dword [edx + 0x48]
mov esi, dword [esp + 0x38]
mov edx, dword [ebp]
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x4c]
lea ecx, [esi + 0xa]
inc edi
push ecx
mov ecx, ebp
mov dword [esp + 0x50], edi
call dword [edx + 0x40]
add eax, 2
push eax
push ebp
call fcn.004c1710
mov ebx, dword [esp + 0x40]
add esp, 0xc
add esi, eax
cmp ebx, 5
jne 0x4be37f
mov eax, dword [ebp]
push 0xc
push esi
mov ecx, ebp
call dword [eax + 0x48]
jmp 0x4be38a
mov edx, dword [ebp]
push 0x12
push esi
mov ecx, ebp
call dword [edx + 0x48]
push ebx
call fcn.004c20f0
mov edi, eax
mov eax, dword [esp + 0x30]
add esp, 4
dec eax
neg eax
sbb eax, eax
mov dword [esp + 0x10], edi
add eax, 3
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x41]
test al, al
je 0x4be3c6
mov ecx, dword [esp + 0x28]
inc ecx
cmp ebx, 5
mov dword [esp + 0x28], ecx
jne 0x4be3c6
mov eax, ecx
dec eax
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xfa8]
cmp esi, eax
jl 0x4be3dc
cmp esi, dword [ebp + 0xfac]
jl 0x4be56f
mov edx, dword [ebp]
push esi
mov ecx, ebp
call dword [edx + 4]
mov eax, dword [ebp + 0xfa8]
cmp esi, eax
jl 0x4be57c
cmp esi, dword [ebp + 0xfac]
jge 0x4be57c
mov ecx, esi
sub ecx, eax
mov bl, byte [ecx + ebp + 4]
jmp case.0x4be327.48
lea eax, [edi - 0x2a]
cmp eax, 0x53
ja case.0x4be41c.43
xor edx, edx
mov dl, byte [eax + 0x4c1300]
jmp dword [edx*4 + 0x4c12f8]
cmp bl, 0x3c
jne case.0x4be41c.42
cmp byte [esp + 0x20], 0x25
jne case.0x4be41c.42
push edi
call fcn.004c2210
add esp, 4
test al, al
jne case.0x4be41c.42
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp]
lea edx, [esi - 1]
push ecx
push edx
mov ecx, ebp
call dword [eax + 0x48]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x64], edi
dec eax
neg eax
sbb eax, eax
add eax, 3
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x3c]
cmp al, 0x40
jne 0x4be48e
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
add eax, 2
mov edi, 0x10
mov dword [esp + 0x4c], eax
jmp 0x4be51f
mov al, byte [esp + 0x3c]
cmp al, 0x2d
jne 0x4be4f2
mov eax, dword [ebp + 0xfa8]
lea edi, [esi + 3]
cmp edi, eax
jl 0x4be4ab
cmp edi, dword [ebp + 0xfac]
jl 0x4be4c6
mov edx, dword [ebp]
push edi
mov ecx, ebp
call dword [edx + 4]
mov eax, dword [ebp + 0xfa8]
cmp edi, eax
jl 0x4be503
cmp edi, dword [ebp + 0xfac]
jge 0x4be503
mov ecx, edi
sub ecx, eax
cmp byte [ecx + ebp + 4], 0x2d
jne 0x4be503
mov edx, dword [ebp]
push 0xf
push edi
mov ecx, ebp
call dword [edx + 0x48]
mov edi, 0x14
mov dword [esp + 0x34], 2
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp al, 0x3d
jne 0x4be503
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
add eax, 2
jmp 0x4be50c
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x38]
inc eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
push eax
call fcn.004c20f0
add esp, 4
mov edi, eax
mov edx, dword [ebp]
push 0xf
push esi
mov ecx, ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x3c], 2
call dword [edx + 0x48]
mov al, byte [esp + 0x41]
test al, al
je 0x4be542
inc dword [esp + 0x28]
mov eax, dword [ebp + 0xfa8]
cmp esi, eax
jl 0x4be554
cmp esi, dword [ebp + 0xfac]
jl 0x4be56f
mov eax, dword [ebp]
push esi
mov ecx, ebp
call dword [eax + 4]
mov eax, dword [ebp + 0xfa8]
cmp esi, eax
jl 0x4be57c
cmp esi, dword [ebp + 0xfac]
jge 0x4be57c
mov ecx, esi
sub ecx, eax
mov bl, byte [ecx + ebp + 4]
jmp case.0x4be327.48
mov bl, 0x20
jmp case.0x4be327.48
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4be594
cmp eax, 5
jne 0x4be66b
cmp byte [esp + 0x17], 0x3c
jne 0x4be66b
cmp bl, 0x21
jne 0x4be66b
mov ecx, dword [esp + 0x18]
cmp ecx, 0x11
je 0x4be66b
mov edx, ecx
push edx
call fcn.004c2180
add esp, 4
test al, al
jne 0x4be667
mov eax, dword [esp + 0x18]
push eax
call fcn.004c21a0
add esp, 4
test al, al
jne 0x4be667
mov eax, dword [esp + 0x18]
mov edx, dword [ebp]
lea ecx, [esi - 2]
push eax
push ecx
mov ecx, ebp
mov dword [esp + 0x6c], edi
call dword [edx + 0x48]
cmp byte [esp + 0x20], 0x2d
jne 0x4be619
cmp byte [esp + 0x3c], 0x2d
jne 0x4be619
mov esi, dword [esp + 0x44]
mov edx, dword [ebp]
mov edi, 9
mov ecx, ebp
push edi
push esi
mov dword [esp + 0x18], edi
call dword [edx + 0x48]
jmp 0x4be652
mov ecx, dword [esp + 0x38]
lea eax, [esi + 7]
push ebp
push eax
push ecx
call fcn.004c2030
add esp, 0xc
test al, al
je 0x4be636
mov edi, 0x11
jmp 0x4be64e
mov edx, dword [ebp]
push 0x15
push esi
mov ecx, ebp
call dword [edx + 0x48]
mov dword [esp + 0x34], 6
mov edi, 0x16
mov dword [esp + 0x10], edi
mov al, byte [esp + 0x41]
test al, al
je case.0x4be327.48
inc dword [esp + 0x28]
jmp case.0x4be327.48
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
je 0x4be679
cmp ecx, 3
jne case.0x4be6ab.48
cmp eax, 4
jne 0x4be697
cmp bl, 0x3f
jne 0x4be69b
push edi
call fcn.004c2210
add esp, 4
test al, al
jne 0x4be69b
cmp edi, 0x7c
jne 0x4be6b7
jmp 0x4be69b
test eax, eax
je case.0x4be6ab.48
lea eax, [edi - 0x30]
cmp eax, 0x4e
ja case.0x4be6ab.49
xor ecx, ecx
mov cl, byte [eax + 0x4c135c]
jmp dword [ecx*4 + 0x4c1354]
cmp bl, 0x25
jne case.0x4be6ab.48
cmp byte [esp + 0x20], 0x3e
je 0x4be6db
cmp dword [esp + 0x34], 6
jne 0x4be0e9
cmp bl, 0x3e
jne 0x4be0e9
cmp edi, 0x1d
je 0x4be0e9
cmp edi, 0x10
jne 0x4be6ff
mov edx, dword [esp + 0x68]
lea eax, [esi - 1]
push edx
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x40]
push eax
push ebp
call fcn.004c1580
add esp, 0x10
mov dword [esp + 0x68], eax
lea eax, [edi - 0x14]
cmp eax, 0x65
ja case.0x4be713.25
xor ecx, ecx
mov cl, byte [eax + 0x4c13c4]
jmp dword [ecx*4 + 0x4c13ac]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [ebp]
push ebp
lea ecx, [esi - 1]
push eax
push ecx
mov ecx, ebp
call dword [edx + 0x40]
push eax
call fcn.004c1b10
add esp, 0x14
jmp 0x4be7d4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x84]
push eax
mov eax, dword [ebp]
push ebp
lea edx, [esi - 1]
push ecx
push edx
mov ecx, ebp
call dword [eax + 0x40]
push eax
call fcn.004c1c20
add esp, 0x14
jmp 0x4be7d4
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x88]
lea edx, [esp + 0x16c]
push ecx
push edx
mov edx, dword [ebp]
push ebp
lea ecx, [esi - 1]
push eax
push ecx
mov ecx, ebp
call dword [edx + 0x40]
push eax
call fcn.004c1d30
add esp, 0x18
jmp 0x4be7d4
mov eax, dword [esp + 0x80]
mov edx, dword [ebp]
push ebp
lea ecx, [esi - 1]
push eax
push ecx
mov ecx, ebp
call dword [edx + 0x40]
push eax
call fcn.004c1eb0
add esp, 0x10
jmp 0x4be7d4
mov eax, dword [ebp]
lea ecx, [esi - 1]
push edi
push ecx
mov ecx, ebp
call dword [eax + 0x48]
jmp 0x4be7d4
mov eax, dword [esp + 0x18]
mov edx, dword [ebp]
lea ecx, [esi - 1]
push eax
push ecx
mov ecx, ebp
call dword [edx + 0x48]
mov eax, dword [esp + 0x34]
cmp eax, 6
je 0x4be7ea
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x38]
inc ecx
mov dword [esp + 0x4c], ecx
cmp bl, 0x25
jne 0x4be7fc
mov edx, dword [ebp]
push 0xf
push esi
mov ecx, ebp
call dword [edx + 0x48]
jmp 0x4be825
cmp eax, 5
jne 0x4be808
mov eax, dword [ebp]
push 0xd
jmp 0x4be81f
cmp eax, 6
jne 0x4be81a
mov edx, dword [ebp]
push 0x15
push esi
mov ecx, ebp
call dword [edx + 0x48]
jmp 0x4be825
mov eax, dword [ebp]
push 0x12
push esi
mov ecx, ebp
call dword [eax + 0x48]
mov edx, dword [esp + 0x2c]
mov al, byte [esp + 0x41]
mov edi, dword [esp + 0x64]
xor ecx, ecx
cmp edx, 3
mov dword [esp + 0x10], edi
sete cl
test al, al
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], 0
je case.0x4be327.48
dec dword [esp + 0x28]
jmp case.0x4be327.48
mov al, byte [esp + 0x20]
xor edx, edx
mov dl, byte [edi + 0x4c14f8]
jmp dword [edx*4 + 0x4c142c]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x40]
cmp esi, eax
setge al
cmp edi, 0x47
jne 0x4c0efa
cmp bl, 0x22
jne 0x4c0e1a
test al, al
je 0x4c0e32
mov edi, 0x4b
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x27
jne 0x4c0e2d
mov edi, 0x48
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x80
jae 0x4c0e6e
movsx eax, bl
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne 0x4c0e47
cmp bl, 0x5f
jne 0x4c0e55
mov edi, 0x4a
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x80
jae 0x4c0e6e
movsx eax, bl
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne case.0x4be327.48
cmp bl, 0x25
je 0x4c0eea
cmp bl, 0x5e
je 0x4c0eea
cmp bl, 0x26
je 0x4c0eea
cmp bl, 0x2a
je 0x4c0eea
cmp bl, 0x28
je 0x4c0eea
cmp bl, 0x29
je 0x4c0eea
cmp bl, 0x2d
je 0x4c0eea
cmp bl, 0x2b
je 0x4c0eea
cmp bl, 0x3d
je 0x4c0eea
cmp bl, 0x7c
je 0x4c0eea
cmp bl, 0x7b
je 0x4c0eea
cmp bl, 0x7d
je 0x4c0eea
cmp bl, 0x5b
je 0x4c0eea
cmp bl, 0x5d
je 0x4c0eea
cmp bl, 0x3a
je 0x4c0eea
cmp bl, 0x3b
je 0x4c0eea
cmp bl, 0x3c
je 0x4c0eea
cmp bl, 0x3e
je 0x4c0eea
cmp bl, 0x2c
je 0x4c0eea
cmp bl, 0x2f
je 0x4c0eea
cmp bl, 0x3f
je 0x4c0eea
cmp bl, 0x21
je 0x4c0eea
cmp bl, 0x2e
je 0x4c0eea
cmp bl, 0x7e
jne case.0x4be327.48
mov edx, dword [ebp]
push 0x47
push esi
mov ecx, ebp
call dword [edx + 0x48]
jmp case.0x4be327.48
cmp edi, 0x51
jne 0x4c0ffa
cmp bl, 0x22
jne 0x4c0f1a
test al, al
je 0x4c0f32
mov edi, 0x55
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x27
jne 0x4c0f2d
mov edi, 0x52
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x80
jae 0x4c0f6e
movsx eax, bl
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne 0x4c0f47
cmp bl, 0x5f
jne 0x4c0f55
mov edi, 0x54
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x80
jae 0x4c0f6e
movsx eax, bl
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne case.0x4be327.48
cmp bl, 0x25
je 0x4c0fea
cmp bl, 0x5e
je 0x4c0fea
cmp bl, 0x26
je 0x4c0fea
cmp bl, 0x2a
je 0x4c0fea
cmp bl, 0x28
je 0x4c0fea
cmp bl, 0x29
je 0x4c0fea
cmp bl, 0x2d
je 0x4c0fea
cmp bl, 0x2b
je 0x4c0fea
cmp bl, 0x3d
je 0x4c0fea
cmp bl, 0x7c
je 0x4c0fea
cmp bl, 0x7b
je 0x4c0fea
cmp bl, 0x7d
je 0x4c0fea
cmp bl, 0x5b
je 0x4c0fea
cmp bl, 0x5d
je 0x4c0fea
cmp bl, 0x3a
je 0x4c0fea
cmp bl, 0x3b
je 0x4c0fea
cmp bl, 0x3c
je 0x4c0fea
cmp bl, 0x3e
je 0x4c0fea
cmp bl, 0x2c
je 0x4c0fea
cmp bl, 0x2f
je 0x4c0fea
cmp bl, 0x3f
je 0x4c0fea
cmp bl, 0x21
je 0x4c0fea
cmp bl, 0x2e
je 0x4c0fea
cmp bl, 0x7e
jne case.0x4be327.48
mov eax, dword [ebp]
push 0x51
push esi
mov ecx, ebp
call dword [eax + 0x48]
jmp case.0x4be327.48
cmp edi, 0x29
jne case.0x4be327.48
cmp bl, 0x2f
jne 0x4c1077
mov al, byte [esp + 0x20]
cmp al, 0x2a
jne 0x4c1065
mov eax, dword [ebp + 0xfa8]
lea edi, [esi + 2]
cmp edi, eax
jl 0x4c1025
cmp edi, dword [ebp + 0xfac]
jl 0x4c1040
mov edx, dword [ebp]
push edi
mov ecx, ebp
call dword [edx + 4]
mov eax, dword [ebp + 0xfa8]
cmp edi, eax
jl 0x4c1057
cmp edi, dword [ebp + 0xfac]
jge 0x4c1057
sub edi, eax
cmp byte [edi + ebp + 4], 0x2a
jne 0x4c1057
mov edi, 0x2c
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
mov edi, 0x2a
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp al, 0x2f
jne 0x4c10aa
mov edi, 0x2b
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x22
jne 0x4c108e
test al, al
je 0x4c10aa
mov edi, 0x30
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x27
jne 0x4c10a5
test al, al
je 0x4c10aa
mov edi, 0x31
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x80
jae 0x4c10e6
movsx eax, bl
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne 0x4c10bf
cmp bl, 0x5f
jne 0x4c10cd
mov edi, 0x2e
mov dword [esp + 0x10], edi
jmp case.0x4be327.48
cmp bl, 0x80
jae 0x4c10e6
movsx eax, bl
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne case.0x4be327.48
cmp bl, 0x25
je 0x4c115e
cmp bl, 0x5e
je 0x4c115e
cmp bl, 0x26
je 0x4c115e
cmp bl, 0x2a
je 0x4c115e
cmp bl, 0x28
je 0x4c115e
cmp bl, 0x29
je 0x4c115e
cmp bl, 0x2d
je 0x4c115e
cmp bl, 0x2b
je 0x4c115e
cmp bl, 0x3d
je 0x4c115e
cmp bl, 0x7c
je 0x4c115e
cmp bl, 0x7b
je 0x4c115e
cmp bl, 0x7d
je 0x4c115e
cmp bl, 0x5b
je 0x4c115e
cmp bl, 0x5d
je 0x4c115e
cmp bl, 0x3a
je 0x4c115e
cmp bl, 0x3b
je 0x4c115e
cmp bl, 0x3c
je 0x4c115e
cmp bl, 0x3e
je 0x4c115e
cmp bl, 0x2c
je 0x4c115e
cmp bl, 0x2f
je 0x4c115e
cmp bl, 0x3f
je 0x4c115e
cmp bl, 0x21
je 0x4c115e
cmp bl, 0x2e
je 0x4c115e
cmp bl, 0x7e
jne case.0x4be327.48
mov eax, dword [esp + 0x2c]
mov edi, dword [ebp]
push eax
push 0x32
call fcn.004c17d0
add esp, 8
mov ecx, ebp
push eax
push esi
call dword [edi + 0x48]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x6c]
inc esi
cmp esi, eax
mov dword [esp + 0x74], esi
jl 0x4bdd5f
mov ecx, dword [esp + 0x2c]
push ecx
push edi
call fcn.004c17d0
mov edx, dword [ebp]
add esp, 8
mov ecx, ebp
push eax
mov eax, dword [esp + 0x70]
dec eax
push eax
call dword [edx + 0x48]
mov al, byte [esp + 0x42]
pop ebx
test al, al
je 0x4c11d4
mov esi, dword [esp + 0x5c]
mov edx, dword [ebp]
push esi
mov ecx, ebp
call dword [edx + 0x1c]
mov edi, dword [esp + 0x74]
mov edx, dword [ebp]
and eax, 0xfffff000
mov ecx, ebp
or eax, edi
push eax
push esi
call dword [edx + 0x4c]
pop edi
pop esi
pop ebp
add esp, 0x224
ret