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

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0xa8
mov eax, dword [ebp + 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x64]
push ebx
mov ebx, dword [eax]
mov eax, dword [ebp + 0x68]
push esi
push edi
mov edi, dword [eax]
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0x2c], eax
xor eax, 1
mov dword [ebp - 0x28], eax
push 0xfffffffffffffffe
pop eax
xor esi, esi
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x38], eax
mov eax, ecx
and eax, 1
shl eax, 8
mov dword [ebp + 0x34], esi
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0xc], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x44], esi
mov dword [ebp], eax
cmp dword [ebp + 0xc], esi
movzx eax, byte [edi]
mov dword [ebp + 0x48], eax
je 0x450278
cmp eax, esi
je 0x450278
cmp eax, 0x5c
jne 0x450fcf
lea ecx, [edi + 1]
cmp byte [ecx], 0x45
jne 0x450fcf
and dword [ebp + 0xc], 0
mov dword [ebp + 0x50], ecx
jmp 0x45152e
cmp eax, 0x2a
je 0x45029f
cmp eax, 0x2b
je 0x45029f
cmp eax, 0x3f
je 0x45029f
cmp eax, 0x7b
jne 0x45029b
lea eax, [edi + 1]
call fcn.0044fbd4
test eax, eax
mov eax, dword [ebp + 0x48]
jne 0x45029f
xor edx, edx
jmp 0x4502a2
xor edx, edx
inc edx
test byte [ebp + 0x20], 8
je 0x450305
mov ecx, dword [ebp + 0x7c]
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 1
jne 0x45152e
mov eax, dword [ebp + 0x48]
cmp eax, 0x23
mov edi, dword [ebp + 0x50]
jne 0x450305
inc edi
mov dword [ebp + 0x50], edi
mov al, byte [edi]
test al, al
je 0x450303
mov esi, dword [ebp + 0x7c]
mov cl, byte [esi + 0x38]
cmp al, cl
jne 0x4502e5
cmp dword [esi + 0x34], 1
je 0x4502ef
mov al, byte [edi + 1]
cmp al, byte [esi + 0x39]
je 0x4502ef
inc edi
mov dword [ebp + 0x50], edi
mov al, byte [edi]
test al, al
jne 0x4502d3
cmp byte [edi], 0
je 0x450303
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 0x34]
lea eax, [edi + eax - 1]
jmp 0x450af6
xor eax, eax
cmp eax, 0x2e
jg 0x450a26
je 0x450a05
mov ecx, eax
xor edx, edx
sub ecx, edx
je 0x450a4d
sub ecx, 0x24
je 0x4509fa
sub ecx, 4
je 0x450354
dec ecx
je 0x450a4d
dec ecx
je 0x450348
dec ecx
jne 0x450fcf
mov dword [ebp + 0x34], 1
jmp 0x45034b
mov dword [ebp + 0x34], edx
or dword [ebp + 0x2c], 0xffffffff
jmp 0x451078
mov esi, dword [ebp + 0x20]
inc edi
mov dword [ebp + 0x50], edi
cmp byte [edi], 0x3f
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x48], edx
jne 0x4508c1
inc edi
mov dword [ebp + 0x50], edi
mov cl, byte [edi]
movzx eax, cl
cmp eax, 0x3c
jg 0x450531
je 0x4504ff
cmp eax, 0x21
je 0x4504f6
cmp eax, 0x23
je 0x4504d9
cmp eax, 0x28
je 0x4503c4
cmp eax, 0x2f
jle 0x450552
cmp eax, 0x39
jle 0x45061e
cmp eax, 0x3a
jne 0x450552
mov dword [ebp + 0x24], 0x50
inc edi
mov dword [ebp + 0x50], edi
jmp 0x4508e2
mov edx, dword [ebp + 0x7c]
mov esi, dword [edx + 0xc]
lea eax, [edi + 1]
movzx ecx, byte [eax]
test byte [ecx + esi], 0x10
mov dword [ebp + 0x24], 0x4b
je 0x4508e2
mov esi, dword [edx + 0x18]
mov edx, eax
mov dword [ebp + 0x50], edx
mov al, byte [edx]
xor ecx, ecx
cmp al, 0x29
mov dword [ebp + 8], ecx
mov dword [ebp + 0x48], 3
mov dword [ebp + 0x40], edx
je 0x450427
test ecx, ecx
jl 0x45041a
movzx eax, al
test byte [eax + 0x45cb00], 4
je 0x450417
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
jmp 0x45041a
or ecx, 0xffffffff
inc edx
mov dword [ebp + 0x50], edx
mov al, byte [edx]
cmp al, 0x29
jne 0x4503fe
mov dword [ebp + 8], ecx
mov eax, dword [ebp + 0x7c]
and dword [ebp + 0x4c], 0
mov edi, edx
sub edi, dword [ebp + 0x40]
inc edx
cmp dword [eax + 0x1c], 0
mov dword [ebp + 0x50], edx
jle 0x450465
push edi
lea eax, [esi + 2]
push eax
push dword [ebp + 0x40]
call fcn.00454370
add esp, 0xc
test eax, eax
je 0x450462
mov eax, dword [ebp + 0x7c]
add esi, dword [eax + 0x20]
inc dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x4c]
cmp ecx, dword [eax + 0x1c]
jl 0x45043d
mov edx, dword [ebp + 0x50]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x7c]
cmp eax, dword [ecx + 0x1c]
jge 0x45048b
xor eax, eax
mov ah, byte [esi]
mov al, byte [esi + 1]
mov ecx, eax
sar ecx, 8
mov byte [ebx + 3], 0x4c
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
jmp 0x4508e2
mov esi, dword [ebp + 0x40]
mov eax, dword [ebp + 0x60]
push edi
push esi
push dword [eax]
mov eax, edx
call fcn.0044fccb
add esp, 0xc
test eax, eax
jg 0x450477
cmp edi, 1
jne 0x4504be
cmp byte [esi], 0x52
jne 0x4504be
mov byte [ebx + 3], 0x4c
mov byte [ebx + 4], 0xff
mov byte [ebx + 5], 0xff
jmp 0x4508e2
mov eax, dword [ebp + 8]
test eax, eax
jg 0x450477
mov ecx, dword [ebp + 0x6c]
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
mov dword [ecx], eax
jmp 0x4515a8
inc edi
mov dword [ebp + 0x50], edi
cmp byte [edi], 0x29
je 0x45152e
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
cmp byte [eax], 0x29
jne 0x4504e6
jmp 0x45152e
mov dword [ebp + 0x24], 0x46
jmp 0x450518
inc edi
mov dword [ebp + 0x50], edi
mov al, byte [edi]
cmp al, 0x21
je 0x450521
cmp al, 0x3d
jne 0x4508dc
mov dword [ebp + 0x24], 0x47
inc edi
mov dword [ebp + 0x50], edi
jmp 0x4508eb
mov dword [ebp + 0x24], 0x48
inc edi
mov dword [ebp + 0x50], edi
jmp 0x4508dc
sub eax, 0x3d
je 0x4508b5
dec eax
je 0x4508a9
sub eax, 0x12
je 0x45063e
dec eax
dec eax
je 0x45061a
mov dword [ebp + 0x40], edx
mov dword [ebp + 0x30], edx
lea eax, [ebp + 0x30]
jmp 0x4505bd
cmp cl, 0x3a
je 0x4505c2
movzx ecx, cl
inc edi
cmp ecx, 0x69
mov dword [ebp + 0x50], edi
jg 0x45059f
je 0x45059a
cmp ecx, 0x2d
je 0x450595
cmp ecx, 0x4a
je 0x45058f
cmp ecx, 0x55
je 0x450589
cmp ecx, 0x58
jne 0x4505bb
or dword [eax], 0x40
jmp 0x4505bb
or byte [eax + 1], 2
jmp 0x4505bb
or byte [eax + 2], 8
jmp 0x4505bb
lea eax, [ebp + 0x40]
jmp 0x4505bb
or dword [eax], 1
jmp 0x4505bb
cmp ecx, 0x6d
je 0x4505b8
cmp ecx, 0x73
je 0x4505b3
cmp ecx, 0x78
jne 0x4505bb
or dword [eax], 8
jmp 0x4505bb
or dword [eax], 4
jmp 0x4505bb
or dword [eax], 2
mov cl, byte [edi]
cmp cl, 0x29
jne 0x45055d
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x40]
or eax, esi
not ecx
and eax, ecx
cmp byte [edi], 0x29
mov dword [ebp + 0x30], eax
jne 0x4503b4
mov ecx, eax
xor ecx, esi
test cl, 7
je 0x4505ef
mov byte [ebx], 0x12
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 0x5c]
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [ebp + 0x20], eax
and eax, 1
mov dword [ebp - 0x2c], ecx
xor ecx, 1
shl eax, 8
and dword [ebp + 0x44], 0
mov dword [ebp - 0x28], ecx
mov dword [ebp], eax
jmp 0x45152e
inc edi
mov dword [ebp + 0x50], edi
xor eax, eax
jmp 0x45062d
lea eax, [eax + eax*4]
inc edi
lea eax, [ecx + eax*2 - 0x30]
mov dword [ebp + 0x50], edi
movzx ecx, byte [edi]
test byte [ecx + 0x45cb00], 4
jne 0x450622
jmp 0x4507ca
inc edi
mov dword [ebp + 0x50], edi
mov al, byte [edi]
cmp al, 0x3c
jne 0x450735
mov eax, dword [ebp + 0x7c]
mov esi, dword [eax + 0x18]
inc edi
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x40], edi
mov cl, byte [edi]
inc edi
cmp cl, 0x3e
mov dword [ebp + 0x50], edi
jne 0x450659
sub edi, dword [ebp + 0x40]
mov dword [ebp + 0x4c], edx
dec edi
cmp dword [eax + 0x1c], edx
jle 0x4506d4
push edi
lea eax, [esi + 2]
push eax
push dword [ebp + 0x40]
call fcn.004543b0
add esp, 0xc
test eax, eax
jne 0x4506a3
cmp byte [edi + esi + 2], al
jne 0x45069e
test byte [ebp + 0x22], 8
jne 0x4506a5
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x2b
jmp 0x4515a8
or eax, 0xffffffff
test eax, eax
jl 0x4506b8
mov eax, dword [ebp + 0x7c]
add esi, dword [eax + 0x20]
inc dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x4c]
cmp ecx, dword [eax + 0x1c]
jl 0x450670
jmp 0x4506d4
mov ecx, dword [ebp + 0x7c]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
sub ecx, dword [ebp + 0x4c]
imul ecx, eax
push ecx
add eax, esi
push esi
push eax
call fcn.00453cf0
add esp, 0xc
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax]
inc ecx
sar ecx, 8
mov byte [esi], cl
mov al, byte [eax]
inc al
push edi
push dword [ebp + 0x40]
mov byte [esi + 1], al
lea eax, [esi + 2]
push eax
call fcn.00453500
mov eax, dword [ebp + 0x7c]
add esp, 0xc
mov byte [edi + esi + 2], 0
inc dword [eax + 0x1c]
mov eax, dword [ebp + 0x60]
inc dword [eax]
mov ecx, dword [eax]
cmp ecx, 0x64
jle 0x4508d6
mov byte [ebx + 3], 0x4f
mov ecx, dword [eax]
sar ecx, 8
mov byte [ebx + 4], cl
mov al, byte [eax]
mov dword [ebp + 0x24], 0xb5
mov byte [ebx + 5], al
mov dword [ebp + 0x48], 3
jmp 0x4508e2
cmp al, 0x3d
je 0x450741
cmp al, 0x3e
jne 0x4508dc
movzx eax, al
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x7c]
mov esi, dword [eax + 0x18]
inc edi
mov dword [ebp + 0x40], edi
jmp 0x450754
inc edi
mov dword [ebp + 0x50], edi
cmp byte [edi], 0x29
jne 0x450753
mov eax, dword [ebp + 0x7c]
sub edi, dword [ebp + 0x40]
and dword [ebp + 0x4c], 0
cmp dword [eax + 0x1c], 0
jle 0x450791
push edi
lea eax, [esi + 2]
push eax
push dword [ebp + 0x40]
call fcn.00454370
add esp, 0xc
test eax, eax
je 0x450791
mov eax, dword [ebp + 0x7c]
add esi, dword [eax + 0x20]
inc dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x4c]
cmp ecx, dword [eax + 0x1c]
jl 0x45076c
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x7c]
cmp eax, dword [ecx + 0x1c]
jge 0x4507a4
movzx eax, byte [esi + 1]
mov ah, byte [esi]
jmp 0x4507c0
mov eax, dword [ebp + 0x60]
push edi
push dword [ebp + 0x40]
push dword [eax]
mov eax, dword [ebp + 0x50]
call fcn.0044fccb
add esp, 0xc
test eax, eax
jle 0x45153b
cmp dword [ebp + 0x1c], 0x3e
jne 0x450873
test eax, eax
mov esi, dword [ebp + 0x7c]
mov dword [ebp + 0x44], ebx
mov byte [ebx], 0
jne 0x4507df
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x4c], eax
jmp 0x4507ef
push eax
mov eax, dword [esi + 0x10]
push 0
call fcn.0044ff4f
pop ecx
pop ecx
mov dword [ebp + 0x4c], eax
test eax, eax
je 0x45153b
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x45083b
mov edi, dword [ebp + 0x78]
test edi, edi
je 0x451546
mov ecx, dword [edi + 4]
cmp ecx, eax
jb 0x451546
push 0
push ebx
push ecx
call fcn.0044ffc1
add esp, 0xc
test eax, eax
je 0x450838
mov edi, dword [edi]
test edi, edi
je 0x451546
mov eax, dword [ebp + 0x4c]
jmp 0x45080e
mov eax, dword [ebp + 0x4c]
mov byte [ebx], 0x4a
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
mov byte [ebx], 0x3f
mov ecx, eax
sub ecx, dword [esi + 0x10]
add ebx, 3
sar ecx, 8
mov byte [ebx - 2], cl
sub al, byte [esi + 0x10]
mov byte [ebx - 1], al
mov byte [ebx], 0x42
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
jmp 0x45152e
mov byte [ebx], 0x3e
mov dword [ebp + 0x44], ebx
inc ebx
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
xor edx, edx
inc ebx
inc edx
cmp eax, 0x20
jge 0x450892
mov ecx, eax
shl edx, cl
mov ecx, dword [ebp + 0x7c]
or dword [ecx + 0x28], edx
cmp eax, dword [ecx + 0x24]
jle 0x45152e
mov dword [ecx + 0x24], eax
jmp 0x45152e
mov dword [ebp + 0x24], 0x4a
jmp 0x4503bb
mov dword [ebp + 0x24], 0x45
jmp 0x450528
test esi, 0x1000
je 0x450701
mov dword [ebp + 0x24], 0x50
jmp 0x4508e2
add ecx, 0x50
mov dword [ebp + 0x24], ecx
cmp dword [ebp + 0x24], 0x4a
jl 0x4508e9
mov dword [ebp + 0x44], ebx
xor edx, edx
jmp 0x4508ee
xor edx, edx
mov dword [ebp + 0x44], edx
mov eax, dword [ebp + 0x24]
cmp eax, 0x47
mov ecx, dword [ebp + 0x7c]
mov byte [ebx], al
mov esi, dword [ecx + 0x2c]
mov dword [ebp + 0x10], ebx
je 0x45090a
cmp eax, 0x48
je 0x45090a
xor eax, eax
jmp 0x45090d
xor eax, eax
inc eax
push dword [ebp + 0x7c]
lea ecx, [ebp - 4]
push dword [ebp + 0x78]
push ecx
lea ecx, [ebp - 0x30]
push ecx
push dword [ebp + 0x48]
push eax
push dword [ebp + 0x6c]
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0x60]
mov eax, dword [ebp + 0x20]
and eax, 7
push eax
push dword [ebp + 0x30]
call fcn.004515ba
add esp, 0x30
test eax, eax
je 0x4515a8
mov edi, dword [ebp + 0x24]
cmp edi, 0x4b
jne 0x45097c
xor eax, eax
xor ecx, ecx
mov ch, byte [ebx + 1]
inc eax
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x42
jne 0x450951
cmp eax, 2
jg 0x451551
cmp eax, 1
jne 0x45097c
or eax, 0xffffffff
mov edx, eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x30], eax
jmp 0x450982
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x28]
and dword [ebp + 8], 0
cmp edi, 0x50
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x18], ecx
jge 0x4509a8
cmp edi, 0x4a
je 0x4509a8
cmp edi, 0x4b
je 0x4509a8
cmp edi, 0x45
jne 0x4509dd
jmp 0x4509d6
cmp ecx, 0xfffffffe
jne 0x4509c7
test eax, eax
jl 0x4509bd
mov dword [ebp + 0x38], eax
mov dword [ebp + 8], 1
jmp 0x4509c1
or dword [ebp + 0x38], 0xffffffff
or dword [ebp + 0x18], 0xffffffff
jmp 0x4509d6
test eax, eax
jl 0x4509d6
test edx, edx
jge 0x4509da
or eax, esi
mov edx, eax
mov dword [ebp - 4], edx
test edx, edx
jl 0x4509dd
mov dword [ebp + 0x28], edx
mov edi, dword [ebp + 0x50]
cmp byte [edi], 0x29
mov ebx, dword [ebp + 0x10]
je 0x45152e
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xe
jmp 0x4515ab
mov dword [ebp + 0x44], edx
mov byte [ebx], 0x14
jmp 0x450fc6
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x450a0f
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x44], ebx
mov byte [ebx], 0xb
jmp 0x450fc6
mov ecx, eax
sub ecx, 0x3f
je 0x45106d
sub ecx, 0x1c
je 0x450b66
dec ecx
je 0x450ab8
dec ecx
dec ecx
je 0x450a9c
sub ecx, 0x1d
je 0x450a6a
dec ecx
jne 0x450fcf
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp + 0x38]
mov dword [eax], ecx
mov eax, dword [ebp + 0x74]
mov ecx, dword [ebp + 0x28]
mov dword [eax], ecx
mov eax, dword [ebp + 0x64]
mov dword [eax], ebx
xor eax, eax
inc eax
jmp 0x4515ad
test edx, edx
je 0x450fcf
mov esi, dword [ebp + 0x6c]
push esi
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x34]
push eax
lea eax, [edi + 1]
call fcn.0044fc36
add esp, 0xc
cmp dword [esi], 0
mov edi, eax
mov dword [ebp + 0x50], edi
jne 0x4515ab
jmp 0x451078
test byte [ebp + 0x20], 2
je 0x450aac
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x450aac
or dword [ebp + 0x38], 0xffffffff
and dword [ebp + 0x44], 0
mov byte [ebx], 0x13
jmp 0x450fc6
mov eax, dword [ebp + 0x60]
push 0
push dword [ebp + 0x20]
mov dword [ebp + 4], edi
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.0044f9a5
add esp, 0x14
test eax, eax
jge 0x450fcf
mov ecx, eax
neg ecx
cmp ecx, 0x13
jne 0x450b0a
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x450afe
add eax, 2
cmp byte [eax], 0x45
jne 0x450afe
mov dword [ebp + 0x50], eax
jmp 0x45152e
mov dword [ebp + 0xc], 1
jmp 0x45152e
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x450b1e
cmp ecx, 4
jle 0x450b1e
cmp ecx, 0x10
jge 0x450b1e
or dword [ebp + 0x38], 0xffffffff
cmp ecx, 0x14
mov edx, dword [ebp + 0x38]
mov dword [ebp + 0x18], edx
mov edx, dword [ebp + 0x28]
mov dword [ebp + 0x14], edx
jl 0x450b4c
push 0xffffffffffffffec
pop ecx
sub ecx, eax
mov byte [ebx], 0x3e
mov dword [ebp + 0x44], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x45152e
cmp ecx, 4
jle 0x450b5b
cmp ecx, 0x10
jge 0x450b5b
mov dword [ebp + 0x44], ebx
jmp 0x450b5f
and dword [ebp + 0x44], 0
neg al
jmp 0x450fc4
mov al, byte [edi + 1]
cmp al, 0x3a
mov dword [ebp + 0x44], ebx
je 0x450b78
cmp al, 0x2e
je 0x450b78
cmp al, 0x3d
jne 0x450b92
mov ecx, dword [ebp + 0x7c]
lea eax, [ebp + 4]
push eax
mov eax, edi
call fcn.004500db
test eax, eax
mov edi, dword [ebp + 0x50]
pop ecx
jne 0x45155c
inc edi
mov dword [ebp + 0x50], edi
movzx esi, byte [edi]
cmp esi, 0x5e
jne 0x450bae
inc edi
mov dword [ebp + 0x50], edi
movzx esi, byte [edi]
mov dword [ebp + 0x30], 1
jmp 0x450bb2
and dword [ebp + 0x30], 0
and dword [ebp + 0x48], 0
or dword [ebp + 0x40], 0xffffffff
push 0x20
lea eax, [ebp - 0x24]
push 0
push eax
call fcn.004539d0
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x450bef
cmp esi, 0x5c
jne 0x450f3b
mov eax, dword [ebp + 0x50]
inc eax
cmp byte [eax], 0x45
jne 0x450f3b
and dword [ebp + 0xc], 0
jmp 0x450e39
cmp esi, 0x5b
jne 0x450d23
mov edx, dword [ebp + 0x50]
mov al, byte [edx + 1]
cmp al, 0x3a
je 0x450c0e
cmp al, 0x2e
je 0x450c0e
cmp al, 0x3d
jne 0x450d5e
mov ecx, dword [ebp + 0x7c]
lea eax, [ebp + 4]
push eax
mov eax, edx
call fcn.004500db
test eax, eax
pop ecx
je 0x450d5e
mov eax, dword [ebp + 0x7c]
mov edi, dword [ebp + 0x50]
and dword [ebp + 0x4c], 0
cmp byte [edi + 1], 0x3a
mov eax, dword [eax + 8]
mov dword [ebp + 0x1c], eax
jne 0x451573
inc edi
inc edi
mov dword [ebp + 0x50], edi
cmp byte [edi], 0x5e
jne 0x450c54
inc edi
mov dword [ebp + 0x4c], 1
mov dword [ebp + 0x50], edi
mov eax, dword [ebp + 4]
sub eax, edi
push eax
push edi
call fcn.00450111
test eax, eax
pop ecx
pop ecx
jl 0x45157e
test byte [ebp + 0x20], 1
je 0x450c77
cmp eax, 2
jg 0x450c77
xor eax, eax
mov edi, dword [ebp + 0x1c]
lea eax, [eax + eax*2]
mov esi, eax
shl esi, 2
mov eax, dword [esi + 0x45ca58]
add eax, edi
push 0x20
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00453500
mov eax, dword [esi + 0x45ca5c]
mov esi, dword [esi + 0x45ca60]
add esp, 0xc
test eax, eax
jl 0x450ccf
xor ecx, ecx
add edi, eax
test esi, esi
jl 0x450cc0
mov al, byte [edi + ecx]
or byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 0x20
jl 0x450cb1
jmp 0x450ccf
mov al, byte [edi + ecx]
not al
and byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 0x20
jl 0x450cc0
test esi, esi
jge 0x450cd5
neg esi
cmp esi, 1
jne 0x450ce0
and byte [ebp - 0x53], 0xc3
jmp 0x450ce9
cmp esi, 2
jne 0x450ce9
and byte [ebp - 0x49], 0x7f
xor eax, eax
cmp dword [ebp + 0x4c], eax
je 0x450d02
mov cl, byte [ebp + eax - 0x54]
not cl
or byte [ebp + eax - 0x24], cl
inc eax
cmp eax, 0x20
jl 0x450cf0
jmp 0x450d10
mov cl, byte [ebp + eax - 0x54]
or byte [ebp + eax - 0x24], cl
inc eax
cmp eax, 0x20
jl 0x450d02
mov eax, dword [ebp + 4]
inc eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x48], 0xa
jmp 0x450f7f
cmp esi, 0x5c
jne 0x450d5e
mov eax, dword [ebp + 0x60]
xor edi, edi
inc edi
push edi
push dword [ebp + 0x20]
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.0044f9a5
mov esi, eax
mov ecx, esi
neg ecx
add esp, 0x14
cmp ecx, 4
jne 0x450d52
push 8
jmp 0x450d5d
cmp ecx, 0xf
jne 0x450e23
push 0x58
pop esi
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x2d
jne 0x450f3b
add eax, 2
cmp byte [eax], 0x5d
je 0x450f3b
mov edi, eax
mov dword [ebp + 0x50], edi
movzx eax, byte [edi]
cmp eax, 0x5c
mov dword [ebp + 0x4c], eax
jne 0x450db6
mov eax, dword [ebp + 0x60]
push 1
push dword [ebp + 0x20]
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.0044f9a5
add esp, 0x14
test eax, eax
mov dword [ebp + 0x4c], eax
jge 0x450db6
cmp eax, 0xfffffffc
jne 0x450f29
push 8
pop eax
mov dword [ebp + 0x4c], eax
cmp esi, eax
je 0x450f3b
jg 0x450f7f
mov ecx, dword [ebp + 0x20]
and ecx, 1
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x48]
sub eax, esi
lea eax, [ecx + eax + 1]
mov dword [ebp + 0x48], eax
mov eax, esi
cdq
push 8
pop ecx
idiv ecx
mov ecx, esi
and ecx, 7
lea edi, [ebp + eax - 0x24]
mov al, 1
shl al, cl
or byte [edi], al
cmp dword [ebp + 0x1c], 0
je 0x450e15
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + esi]
mov eax, ecx
cdq
push 8
pop edi
idiv edi
and ecx, 7
lea edi, [ebp + eax - 0x24]
mov al, 1
shl al, cl
or byte [edi], al
mov dword [ebp + 0x40], esi
inc esi
cmp esi, dword [ebp + 0x4c]
jle 0x450dd9
jmp 0x450f7f
cmp ecx, 0x13
jne 0x450e49
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x450e41
add eax, 2
cmp byte [eax], 0x45
jne 0x450e41
mov dword [ebp + 0x50], eax
jmp 0x450f7f
mov dword [ebp + 0xc], edi
jmp 0x450f7f
test esi, esi
jge 0x450d5e
mov eax, dword [ebp + 0x7c]
add dword [ebp + 0x48], 2
sub ecx, 5
mov eax, dword [eax + 8]
je 0x450f15
dec ecx
je 0x450f03
dec ecx
je 0x450ee3
dec ecx
je 0x450ec2
dec ecx
je 0x450ea8
dec ecx
je 0x450e90
test byte [ebp + 0x20], 0x40
jne 0x451589
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
sub dword [ebp + 0x48], 2
jmp 0x450d5e
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x24], cl
inc esi
cmp esi, 0x20
jl 0x450e92
jmp 0x450f7f
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x24], cl
inc esi
cmp esi, 0x20
jl 0x450eaa
jmp 0x450f7f
mov edi, eax
lea eax, [ebp - 0x24]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x24]
mov al, byte [edi + ecx]
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x450ecb
and byte [ebp - 0x23], 0xf7
jmp 0x450f7f
mov edi, eax
lea eax, [ebp - 0x24]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x24]
mov al, byte [edi + ecx]
not al
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x450eec
or byte [ebp - 0x23], 8
jmp 0x450f7f
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x24], cl
inc esi
cmp esi, 0x20
jl 0x450f05
jmp 0x450f7f
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x24], cl
inc esi
cmp esi, 0x20
jl 0x450f17
jmp 0x450f7f
cmp eax, 0xfffffff1
jne 0x450f35
push 0x58
jmp 0x450db2
add edi, 0xfffffffe
mov dword [ebp + 0x50], edi
mov eax, esi
cdq
push 8
pop ecx
idiv ecx
mov ecx, esi
and ecx, 7
lea edi, [ebp + eax - 0x24]
mov al, 1
shl al, cl
or byte [edi], al
test byte [ebp + 0x20], 1
je 0x450f79
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 4]
movzx esi, byte [eax + esi]
mov eax, esi
cdq
push 8
pop ecx
idiv ecx
mov ecx, esi
and ecx, 7
lea edi, [ebp + eax - 0x24]
mov al, 1
shl al, cl
or byte [edi], al
inc dword [ebp + 0x48]
mov dword [ebp + 0x40], esi
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
cmp esi, 0x5d
jne 0x450bca
cmp dword [ebp + 0xc], 0
jne 0x450bd0
cmp dword [ebp + 0x48], 1
jne 0x451020
cmp dword [ebp + 0x30], 0
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x14], eax
je 0x450fcc
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x450fb7
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x18], eax
mov al, byte [ebp + 0x40]
mov byte [ebx], 0x17
inc ebx
mov byte [ebx], al
inc ebx
jmp 0x45152e
mov al, byte [ebp + 0x40]
test byte [ebp + 0x20], 1
mov dword [ebp + 0x44], ebx
setne cl
add cl, 0x15
mov byte [ebx], cl
mov ecx, dword [ebp + 0x38]
inc ebx
mov byte [ebx], al
inc ebx
cmp ecx, 0xfffffffe
jne 0x451002
or dword [ebp + 0x18], 0xffffffff
mov ecx, dword [ebp + 0x28]
movzx eax, al
or eax, dword [ebp]
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x38], eax
jmp 0x45152e
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x14], eax
movzx eax, byte [ebx - 1]
mov dword [ebp + 0x18], ecx
mov ecx, dword [ebp + 0x7c]
or eax, dword [ecx + 0x2c]
or eax, dword [ebp]
mov dword [ebp + 0x28], eax
jmp 0x45152e
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x45102a
or dword [ebp + 0x38], 0xffffffff
cmp dword [ebp + 0x30], 0
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x14], eax
push 0x20
lea eax, [ebp - 0x24]
je 0x451057
mov byte [ebx], 0x3c
inc ebx
mov esi, ebx
sub eax, ebx
pop edi
mov cl, byte [eax + esi]
not cl
mov byte [esi], cl
inc esi
dec edi
jne 0x45104a
jmp 0x451065
mov byte [ebx], 0x3b
push eax
inc ebx
push ebx
call fcn.00453500
add esp, 0xc
add ebx, 0x20
jmp 0x45152e
and dword [ebp + 0x34], 0
mov dword [ebp + 0x2c], 1
mov esi, dword [ebp + 0x44]
test esi, esi
mov ecx, dword [ebp + 0x2c]
je 0x451594
mov eax, dword [ebp + 0x34]
test eax, eax
jne 0x451099
mov edx, dword [ebp + 0x18]
mov dword [ebp + 0x38], edx
mov edx, dword [ebp + 0x14]
mov dword [ebp + 0x28], edx
mov edi, dword [ebp + 0x50]
sub eax, ecx
neg eax
sbb eax, eax
and dword [ebp + 0x30], 0
and dword [ebp + 0x1c], 0
and eax, 0x200
inc edi
mov dword [ebp - 0x34], eax
mov dword [ebp + 0x10], esi
mov al, byte [edi]
cmp al, 0x2b
jne 0x4510c7
xor eax, eax
mov dword [ebp + 0x1c], 1
jmp 0x4510ce
cmp al, 0x3f
jne 0x4510d3
mov eax, dword [ebp - 0x28]
mov dword [ebp + 0x50], edi
jmp 0x4510d6
mov eax, dword [ebp - 0x2c]
cmp byte [esi], 0x3f
mov dword [ebp + 0x48], eax
jne 0x45111e
mov eax, dword [ebp + 0x44]
push 3
push eax
add eax, 3
push eax
call fcn.00453cf0
mov eax, dword [ebp + 0x44]
add ebx, 3
mov ecx, ebx
sub ecx, eax
sar ecx, 8
mov dl, bl
sub dl, al
mov byte [eax + 1], cl
mov byte [eax], 0x50
mov byte [eax + 2], dl
mov byte [ebx + 1], cl
mov ecx, dword [ebp + 0x2c]
add esp, 0xc
mov byte [ebx], 0x42
mov byte [ebx + 2], dl
mov esi, eax
mov eax, dword [ebp + 0x48]
add ebx, 3
mov dl, byte [esi]
cmp dl, 0x15
mov byte [ebp + 0x3f], dl
je 0x4513a7
cmp dl, 0x16
je 0x4513a7
cmp dl, 0x17
jne 0x451147
movzx edx, byte [esi + 1]
mov dword [ebp + 0x30], 9
jmp 0x451157
cmp dl, 0x10
jae 0x45115f
movzx edx, byte [ebp + 0x3f]
mov dword [ebp + 0x30], 0x12
mov dword [ebp + 0x48], edx
jmp 0x4513c3
cmp dl, 0x3b
je 0x451334
cmp dl, 0x3c
je 0x451334
cmp dl, 0x3e
je 0x451334
cmp dl, 0x50
jae 0x45118d
cmp dl, 0x4a
je 0x45118d
cmp dl, 0x4b
jne 0x45159f
and dword [ebp + 0x30], 0
and dword [ebp + 0x4c], 0
mov edi, ebx
sub edi, esi
cmp ecx, 0xffffffff
jne 0x4511b6
mov edx, esi
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x42
jne 0x4511a0
mov eax, ebx
sub eax, edx
mov dword [ebp + 0x30], eax
cmp dword [ebp + 0x34], 0
jne 0x451245
test ecx, ecx
jne 0x4511cb
mov ebx, esi
jmp 0x451521
push dword [ebp + 0x7c]
xor edx, edx
inc edx
cmp ecx, edx
push 0
push dword [ebp + 0x44]
mov byte [ebx], 0
jg 0x451203
call fcn.0045014f
mov eax, dword [ebp + 0x44]
push edi
lea esi, [eax + 1]
push eax
push esi
call fcn.00453cf0
mov al, byte [ebp + 0x48]
mov ecx, dword [ebp + 0x44]
add esp, 0x18
inc ebx
add al, 0x4d
mov byte [ecx], al
mov dword [ebp + 0x44], esi
jmp 0x45123d
push 4
pop edx
call fcn.0045014f
mov eax, dword [ebp + 0x44]
push edi
push eax
add eax, edx
push eax
call fcn.00453cf0
mov cl, byte [ebp + 0x48]
mov eax, dword [ebp + 0x44]
add cl, 0x4d
mov byte [eax], cl
add esp, 0x18
add ebx, 4
inc eax
mov byte [eax], 0x50
inc eax
mov dword [ebp + 0x4c], eax
mov byte [eax], 0
mov byte [eax + 1], 0
inc eax
inc eax
mov dword [ebp + 0x44], eax
dec dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
jmp 0x451286
cmp dword [ebp + 0x34], 1
jle 0x451279
cmp dword [ebp + 8], 0
je 0x45125d
cmp dword [ebp + 0x28], 0
jge 0x45125d
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x28], eax
cmp dword [ebp + 0x34], 1
jle 0x451279
mov esi, dword [ebp + 0x34]
dec esi
push edi
push dword [ebp + 0x44]
push ebx
call fcn.00453500
add esp, 0xc
add ebx, edi
dec esi
jne 0x451267
mov eax, dword [ebp + 0x2c]
test eax, eax
jle 0x451288
sub eax, dword [ebp + 0x34]
mov dword [ebp + 0x2c], eax
test eax, eax
jl 0x451323
lea esi, [eax - 1]
test esi, esi
jl 0x4512db
mov al, byte [ebp + 0x48]
add al, 0x4d
mov byte [ebp + 0x3f], al
jmp 0x4512a2
mov al, byte [ebp + 0x3f]
mov byte [ebx], al
inc ebx
test esi, esi
je 0x4512c9
mov eax, dword [ebp + 0x4c]
mov byte [ebx], 0x50
inc ebx
mov ecx, ebx
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, eax
sar ecx, 8
mov dword [ebp + 0x4c], ebx
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
inc ebx
push edi
push dword [ebp + 0x44]
push ebx
call fcn.00453500
add esp, 0xc
add ebx, edi
dec esi
jns 0x45129f
cmp dword [ebp + 0x4c], 0
je 0x4514d8
mov esi, dword [ebp + 0x4c]
xor edx, edx
mov ecx, ebx
sub ecx, esi
inc ecx
mov eax, ebx
sub eax, ecx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov byte [ebx], 0x42
mov byte [ebx + 2], cl
sub esi, edx
mov dword [ebp + 0x30], edx
neg edx
sbb edx, edx
and esi, edx
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
inc ebx
inc ebx
test esi, esi
mov byte [eax + 1], dl
mov byte [eax + 2], cl
jne 0x4512e8
jmp 0x4514d8
mov al, byte [ebp + 0x48]
add al, 0x43
mov ecx, ebx
sub ecx, dword [ebp + 0x30]
mov byte [ecx], al
jmp 0x4514d8
test ecx, ecx
je 0x4511c4
xor esi, esi
inc esi
cmp ecx, esi
je 0x451349
mov edx, dword [ebp + 0x7c]
mov dword [edx + 0x30], esi
cmp dword [ebp + 0x34], 0
jne 0x45135b
cmp ecx, 0xffffffff
jne 0x45136d
add al, 0x33
jmp 0x4514d5
cmp dword [ebp + 0x34], 1
jne 0x451378
cmp ecx, 0xffffffff
jne 0x451378
add al, 0x35
jmp 0x4514d5
cmp ecx, esi
jne 0x451378
add al, 0x37
jmp 0x4514d5
add al, 0x39
mov byte [ebx], al
mov eax, dword [ebp + 0x34]
inc ebx
mov edx, eax
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], al
inc ebx
inc ebx
cmp ecx, 0xffffffff
jne 0x451396
xor ecx, ecx
mov dword [ebp + 0x2c], ecx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x4514d8
cmp dword [ebp + 0x34], 1
movzx edx, byte [ebx - 1]
mov dword [ebp + 0x48], edx
jle 0x4513c3
mov edx, dword [ebp + 0x7c]
mov edi, dword [edx + 0x2c]
or edi, dword [ebp + 0x48]
or edi, dword [ebp]
mov dword [ebp + 0x28], edi
cmp byte [ebp + 0x3f], 0xe
je 0x4513d9
cmp byte [ebp + 0x3f], 0xd
je 0x4513d9
or dword [ebp + 0x4c], 0xffffffff
or dword [ebp + 0x40], 0xffffffff
jmp 0x4513e7
movzx edx, byte [esi + 1]
mov dword [ebp + 0x40], edx
movzx edx, byte [esi + 2]
mov dword [ebp + 0x4c], edx
test ecx, ecx
mov edi, ebx
mov ebx, esi
je 0x451521
xor edx, edx
inc edx
cmp ecx, edx
je 0x451400
mov ebx, dword [ebp + 0x7c]
mov dword [ebx + 0x30], edx
mov edx, dword [ebp + 0x30]
add eax, edx
cmp dword [ebp + 0x34], 0
jne 0x45142e
cmp ecx, 0xffffffff
jne 0x451414
add al, 0x18
jmp 0x45143b
cmp ecx, 1
lea ebx, [esi + 1]
jne 0x451425
add al, 0x1c
mov byte [esi], al
jmp 0x4514d2
add al, 0x1e
mov byte [esi], al
jmp 0x4514c6
cmp dword [ebp + 0x34], 1
jne 0x451461
cmp ecx, 0xffffffff
jne 0x451445
add al, 0x1a
mov byte [esi], al
lea ebx, [esi + 1]
jmp 0x4514d2
cmp ecx, 1
mov ebx, edi
je 0x451521
add al, 0x1e
mov byte [edi], al
lea eax, [ecx - 1]
sar eax, 8
lea ebx, [edi + 1]
dec cl
jmp 0x4514cb
add dl, 0x20
mov byte [esi], dl
mov edx, dword [ebp + 0x34]
sar edx, 8
lea ebx, [esi + 1]
mov byte [ebx], dl
mov dl, byte [ebp + 0x34]
mov byte [ebx + 1], dl
inc ebx
inc ebx
test ecx, ecx
jge 0x45149a
mov cl, byte [ebp + 0x48]
mov byte [ebx], cl
mov ecx, dword [ebp + 0x40]
inc ebx
test ecx, ecx
jl 0x451493
mov byte [ebx], cl
mov cl, byte [ebp + 0x4c]
inc ebx
mov byte [ebx], cl
inc ebx
add al, 0x18
mov byte [ebx], al
inc ebx
jmp 0x4514d2
mov ecx, dword [ebp + 0x34]
cmp dword [ebp + 0x2c], ecx
je 0x4514d2
mov cl, byte [ebp + 0x48]
mov byte [ebx], cl
mov ecx, dword [ebp + 0x40]
inc ebx
test ecx, ecx
jl 0x4514b8
mov byte [ebx], cl
mov cl, byte [ebp + 0x4c]
inc ebx
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 0x2c]
sub ecx, dword [ebp + 0x34]
add al, 0x1e
mov byte [ebx], al
mov dword [ebp + 0x2c], ecx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx + 1], cl
mov byte [ebx], al
inc ebx
inc ebx
mov al, byte [ebp + 0x48]
mov byte [ebx], al
inc ebx
cmp dword [ebp + 0x1c], 0
je 0x451521
mov ecx, dword [ebp + 0x10]
mov eax, ebx
sub eax, ecx
push eax
push ecx
add ecx, 3
push ecx
mov dword [ebp + 0x1c], eax
call fcn.00453cf0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
mov byte [eax], 0x4a
add ecx, 3
add ebx, 3
mov byte [ebx], 0x42
add esp, 0xc
inc ebx
mov byte [ebx + 1], cl
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp + 0x10]
mov byte [edx + 1], al
mov eax, dword [ebp + 0x10]
inc ebx
inc ebx
mov byte [eax + 2], cl
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp + 0x7c]
and dword [ebp + 0x44], 0
or dword [eax + 0x2c], ecx
inc dword [ebp + 0x50]
mov edi, dword [ebp + 0x50]
xor esi, esi
jmp 0x450248
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xf
jmp 0x4515a8
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x28
jmp 0x4515a8
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1b
jmp 0x4515a8
mov ecx, dword [ebp + 0x6c]
xor eax, eax
cmp byte [edi + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
mov dword [ecx], eax
jmp 0x4515ab
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1f
jmp 0x4515ab
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1e
jmp 0x4515a8
mov eax, dword [ebp + 0x6c]
mov dword [eax], 7
jmp 0x4515a8
mov eax, dword [ebp + 0x6c]
mov dword [eax], 9
jmp 0x4515ab
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xb
mov edi, dword [ebp + 0x50]
xor eax, eax
mov ecx, dword [ebp + 0x68]
mov dword [ecx], edi
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret