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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd0
mov dword [ebp - 8], esi
mov esi, edx
xor edx, edx
mov dword [ebp - 4], ebx
mov ebx, eax
mov dword [ebp - 0xc], edx
mov eax, 0x54
mov dword [ebp + eax - 0x70], edx
mov dword [ebp + eax - 0x74], edx
mov dword [ebp + eax - 0x78], edx
mov dword [ebp + eax - 0x7c], edx
mov dword [ebp + eax - 0x80], edx
mov dword [ebp + eax - 0x84], edx
mov dword [ebp + eax - 0x88], edx
sub eax, 0x1c
jne 0x500d2d
movsx eax, byte [ecx + 0x191]
cmp eax, 0xffffffff
je 0x500d79
mov byte [ecx + 0x190], al
xor eax, eax
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov byte [ecx + 0x191], 0xff
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebx + 0x161]
cmp eax, 2
mov eax, 0x3b
je 0x500d8f
mov eax, 0x2c
cmp dword [ebp - 0xc], 0
jne 0x5024e0
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edi
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
cmp ecx, eax
jb 0x500e41
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x500dea
mov edx, dword [ebx + 0x38]
inc eax
add edx, dword [ebx + 0x8c]
cmp eax, edx
jbe 0x500dd3
mov edx, 0xffffffff
xor eax, eax
jmp 0x500e20
mov edx, dword [ebx + 0xf8]
xor eax, eax
add edx, ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x44], edx
mov edx, 0xa
jmp 0x500e20
xor eax, eax
push eax
push eax
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x500e09
mov eax, 0
je 0x500e10
mov edx, 0xa
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x500e20
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502d79
mov eax, edx
jmp 0x500e63
movsx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x3c], ecx
mov eax, edx
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x500e63
test eax, eax
jne 0x500e5c
mov edx, 0x20
jne 0x500e63
mov eax, 0x20
lea edi, [eax + 1]
cmp edi, 0x75
ja case.0x500e6f.0
jmp dword [edi*4 + 0x5efa00]
cmp esi, 5
je case.0x500e6f.59
cmp esi, 4
je case.0x500e6f.59
cmp esi, 1
je case.0x500e6f.59
mov edi, dword [ebp - 0x14]
cmp byte [edi + 0x192], 0x38
je 0x5027c9
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi]
mov byte [ecx], dl
inc dword [edi]
inc dword [edi + 4]
cmp eax, 0x46
je 0x500ecc
cmp eax, 0x66
je 0x500ecc
cmp eax, 0x54
je 0x500ecc
cmp eax, 0x74
je 0x500ecc
mov eax, edi
mov byte [eax + 0x190], 8
jmp 0x500ee0
mov eax, edi
mov byte [eax + 0x190], 0xa
jmp 0x500ee0
mov eax, dword [edi]
mov byte [eax], dl
inc dword [edi]
inc dword [edi + 4]
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x44]
cmp eax, edx
jb 0x500f7f
mov dword [ebp - 0x14], edi
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x500f28
mov edi, dword [ebx + 0x38]
inc edx
add edi, dword [ebx + 0x8c]
cmp edx, edi
jbe 0x500f11
mov edx, 0xffffffff
xor ecx, ecx
jmp 0x500f60
mov edx, dword [ebx + 0xf8]
xor ecx, ecx
add edx, eax
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x44], edx
mov edx, 0xa
jmp 0x500f60
xor eax, eax
push eax
push eax
push ebx
call fcn.005151b0
add esp, 0xc
mov ecx, eax
mov edx, 0xffffffff
cmp ecx, 0x18
mov eax, dword [ebx + 0x3c]
jne 0x500f49
mov ecx, 0
je 0x500f50
mov edx, 0xa
mov dword [ebx + 0x48], eax
test byte [ebx + 0x168], 2
jne 0x500f60
inc eax
mov dword [ebx + 0x3c], eax
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test ecx, ecx
jne 0x502d58
jmp 0x500fd3
movsx edx, byte [eax]
inc eax
mov dword [ebx + 0x3c], eax
cmp dword [ebx + 0x100], 0xfffffffb
je 0x5027b4
cmp edx, 0x5f
je 0x500ed7
cmp edx, 0x30
jge 0x500fa6
mov dword [ebp - 0x14], edi
jmp 0x500fd3
cmp edx, 0x39
jle 0x500ed7
cmp edx, 0x61
jl 0x500fc2
cmp edx, 0x7a
jle 0x500ed7
mov dword [ebp - 0x14], edi
jmp 0x500fd3
cmp edx, 0x41
jl 0x500fd0
cmp edx, 0x5a
jle 0x500ed7
mov dword [ebp - 0x14], edi
xor ecx, ecx
mov edi, 1
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x74], esi
mov esi, ecx
cmp edx, 0x21
je 0x5027a7
cmp edx, 0xa
je 0x501022
cmp edx, 0x20
je 0x501015
cmp edx, 9
je 0x501005
mov dword [ebp - 0x70], esi
mov esi, dword [ebp - 0x74]
jmp 0x5010d4
mov edx, eax
mov esi, 0x20
mov ecx, dword [ebx + 0x44]
mov eax, ecx
mov ecx, edx
jmp 0x501031
mov esi, eax
mov ecx, dword [ebx + 0x44]
mov eax, ecx
mov ecx, esi
xor esi, esi
jmp 0x50102f
mov ecx, dword [ebx + 0x44]
mov esi, eax
mov eax, ecx
mov ecx, esi
xor esi, esi
mov edi, esi
mov esi, edx
cmp ecx, eax
jb 0x501569
mov dword [ebp - 0x70], esi
xor esi, esi
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x501075
mov edx, dword [ebx + 0x38]
inc eax
add edx, dword [ebx + 0x8c]
cmp eax, edx
jbe 0x50105e
mov edx, 0xffffffff
mov eax, esi
jmp 0x5010a9
mov edx, dword [ebx + 0xf8]
mov eax, esi
add edx, ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x44], edx
mov edx, 0xa
jmp 0x5010a9
push esi
push esi
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x501092
mov eax, 0
je 0x501099
mov edx, 0xa
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x5010a9
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502d79
cmp edx, 0xa
je 0x502d95
mov esi, dword [ebp - 0x74]
mov eax, ecx
lea ecx, [edx - 0x22]
cmp ecx, 0x1d
ja case.0x5010e0.35
jmp dword [ecx*4 + 0x5efbe0]
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x190]
cmp eax, 8
je 0x502d67
jmp 0x5014fc
mov edx, dword [ebx + 0x44]
cmp eax, edx
jb 0x501194
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x50113f
mov edi, dword [ebx + 0x38]
inc edx
add edi, dword [ebx + 0x8c]
cmp edx, edi
jbe 0x50112a
mov edx, 0xffffffff
xor eax, eax
jmp 0x501175
mov dword [ebx + 0x48], eax
mov edx, 0xa
add eax, dword [ebx + 0xf8]
mov dword [ebx + 0x44], eax
xor eax, eax
jmp 0x501175
xor eax, eax
push eax
push eax
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x50115e
mov eax, 0
je 0x501165
mov edx, 0xa
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x501175
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502d79
jmp 0x5011ad
movsx edx, byte [eax]
inc eax
mov dword [ebx + 0x3c], eax
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x5011ad
test edx, edx
jne 0x5011ad
mov edx, 0x20
cmp edx, 0x3f
je 0x5024ec
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
sub dword [edx], eax
mov byte [edx + 0x190], 3
mov byte [edx + 0x191], 4
test byte [ebx + 0x168], 2
jne 0x5011f5
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x48]
dec edx
inc eax
cmp edx, eax
mov ecx, dword [ebp - 0x14]
ja 0x5011e6
mov edx, eax
mov dword [ebx + 0x3c], edx
movsx eax, byte [ecx + 0x190]
jmp 0x5014fc
mov edx, dword [ebx + 0x3c]
dec edx
mov eax, dword [ebx + 0x48]
cmp edx, eax
mov ecx, dword [ebp - 0x14]
ja 0x501205
mov edx, eax
mov dword [ebx + 0x3c], edx
movsx eax, byte [ecx + 0x190]
jmp 0x5014fc
test byte [ebx + 0x168], 2
je 0x502d67
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x191], 2
movsx eax, byte [eax + 0x190]
jmp 0x5014fc
test byte [ebx + 0x168], 2
je 0x502525
test edi, edi
je 0x502525
dec eax
mov edx, dword [ebx + 0x48]
cmp eax, edx
ja 0x501256
mov eax, edx
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x190]
cmp eax, 0xa
je 0x502502
jmp 0x5014fc
cmp edx, dword [ebp - 0x18]
jne 0x502d67
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x191], 0xe
movsx eax, byte [eax + 0x190]
jmp 0x5014fc
test byte [ebx + 0x168], 2
jne 0x5014e5
mov edx, dword [ebx + 0x48]
dec eax
inc edx
cmp eax, edx
ja 0x5012a8
mov eax, edx
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x190]
jmp 0x5014fc
cmp esi, 0xc
je 0x50143b
test edi, edi
je 0x50145b
mov ecx, dword [ebx + 0x44]
mov edi, 1
mov dword [ebp - 0x94], 0
cmp eax, ecx
jae 0x50277b
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x8c], ecx
mov esi, dword [ebp - 0x94]
inc esi
je 0x501335
movsx edx, byte [eax]
inc eax
mov dword [ebx + 0x3c], eax
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x501316
test edx, edx
jne 0x501316
mov edx, 0x20
lea ecx, [edx - 0x24]
cmp ecx, 0x20
jae 0x5013fc
mov edi, 1
shl edi, cl
test edi, 0x825
je 0x5013fc
cmp edx, 0x29
jne 0x5025b0
cmp eax, dword [ebp - 0x8c]
jae 0x502763
mov edi, dword [ebp - 0x8c]
inc esi
je 0x50274f
movsx edx, byte [eax]
inc eax
cmp dword [ebx + 0x100], 0xfffffffb
je 0x50273a
cmp edx, 0x20
je 0x501376
cmp edx, 9
jne 0x502562
mov dword [ebx + 0x3c], eax
cmp eax, edi
jb 0x501350
movzx edx, byte [ebx + 0x168]
and edx, 2
mov dword [ebp - 0x94], esi
mov edi, dword [ebp - 0x98]
mov esi, dword [ebp - 0x74]
shr edx, 1
cmp edi, 1
je 0x502537
mov edi, dword [ebp - 0x94]
dec edi
mov dword [ebp - 0x94], edi
cmp edi, 0xffffffff
je 0x501467
xor edi, edi
mov ecx, dword [ebx + 0x48]
test edx, edx
mov dword [ebp - 0xa0], ecx
lea ecx, [ecx + 1]
je 0x5013e4
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa0]
dec eax
dec edx
cmp eax, ecx
ja 0x5013dd
mov eax, ecx
cmp edx, 0xffffffff
jne 0x5013d5
jmp 0x5013f7
mov edx, dword [ebp - 0x94]
dec eax
dec edx
cmp eax, ecx
ja 0x5013f2
mov eax, ecx
cmp edx, 0xffffffff
jne 0x5013ea
mov dword [ebx + 0x3c], eax
jmp case.0x5010e0.37
cmp eax, dword [ebp - 0x8c]
jb 0x5012fa
jmp 0x502771
test byte [ebx + 0x168], 2
jne 0x5014e5
mov edx, dword [ebx + 0x48]
dec eax
inc edx
cmp eax, edx
ja 0x501425
mov eax, edx
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x190]
jmp 0x5014fc
test edi, edi
je 0x50145b
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
sub dword [edx], eax
mov byte [edx + 0x190], 3
movzx edx, byte [ebx + 0x168]
and edx, 2
mov eax, dword [ebx + 0x3c]
shr edx, 1
jmp 0x501467
movzx edx, byte [ebx + 0x168]
and edx, 2
shr edx, 1
test edx, edx
jne 0x5014e5
mov edx, dword [ebx + 0x48]
dec eax
inc edx
cmp eax, edx
ja 0x501476
mov eax, edx
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x190]
jmp 0x5014fc
test byte [ebx + 0x168], 2
jne 0x5014e5
jmp 0x502d67
cmp edx, 0x30
jl 0x501557
cmp edx, 0x39
jle 0x5014c2
cmp edx, 0x61
jl 0x5014b0
cmp edx, 0x7a
jle 0x5014c2
jmp 0x501557
cmp edx, 0x41
jl 0x501557
cmp edx, 0x5a
jg 0x501557
test byte [ebx + 0x168], 2
jne 0x5014e5
mov edx, dword [ebx + 0x48]
dec eax
inc edx
cmp eax, edx
ja 0x5014d6
mov eax, edx
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x190]
jmp 0x5014fc
dec eax
mov edx, dword [ebx + 0x48]
cmp eax, edx
ja 0x5014ef
mov eax, edx
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x190]
cmp eax, 0xa
jne 0x501519
mov eax, ebx
lea edi, [ebp - 0x6c]
mov dword [esp + 0xc], edi
mov ecx, 1
mov edx, dword [ebp - 0x14]
call fcn.00503d90
jmp 0x501543
cmp eax, 8
jne 0x50154b
mov dword [esp + 0xc], 1
lea edi, [ebp - 0x6c]
mov dword [esp + 0x10], edi
lea eax, [ebp - 0xc]
mov dword [esp + 0x14], eax
mov eax, ebx
mov ecx, 1
mov edx, dword [ebp - 0x14]
call fcn.00502da0
test eax, eax
jne 0x502d79
mov dword [ebp - 0xc], 1
jmp case.0x500e6f.9
mov edi, dword [ebp - 0x10]
mov eax, 0x11
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x100], 0xfffffffb
je 0x502795
mov eax, ecx
jmp 0x500fe2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
mov byte [eax + 0x190], 5
jmp case.0x500e6f.9
mov eax, dword [ebx + 0x44]
cmp ecx, eax
jb 0x50162f
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x5015da
mov edx, dword [ebx + 0x38]
inc eax
add edx, dword [ebx + 0x8c]
cmp eax, edx
jbe 0x5015c5
mov edx, 0xffffffff
xor eax, eax
jmp 0x501610
mov dword [ebx + 0x48], ecx
mov edx, 0xa
add ecx, dword [ebx + 0xf8]
xor eax, eax
mov dword [ebx + 0x44], ecx
jmp 0x501610
xor eax, eax
push eax
push eax
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x5015f9
mov eax, 0
je 0x501600
mov edx, 0xa
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x501610
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502d79
jmp 0x501648
movsx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x501648
test edx, edx
jne 0x501648
mov edx, 0x20
cmp edx, 0x3f
jne 0x5028d8
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x190], 0xf
mov dword [ebp - 0xc], 1
jmp case.0x500e6f.9
cmp eax, dword [ebp - 0x18]
jne case.0x500e6f.0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
mov byte [eax + 0x190], 0xe
jmp case.0x500e6f.9
cmp esi, 4
je 0x501690
cmp esi, 1
jne 0x50169c
mov eax, ebx
call fcn.005037d0
jmp case.0x500e6f.9
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
mov byte [eax + 0x190], 2
jmp case.0x500e6f.9
cmp eax, 0x2c
je 0x502916
cmp esi, 8
je 0x5016c5
cmp esi, 6
jne 0x5016f9
cmp dword [0x64280c], 0
jne 0x502d67
mov eax, dword [ebp - 0x14]
mov edx, 1
mov dword [0x642804], 0
mov dword [0x642808], edx
mov byte [eax + 0x190], 0x10
mov dword [ebp - 0xc], edx
jmp case.0x500e6f.9
mov dword [ebp - 0x80], 0
cmp esi, 4
je 0x50170a
cmp esi, 1
jne 0x501716
mov eax, ebx
call fcn.005037d0
jmp case.0x500e6f.9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov byte [eax], dl
inc dword [ecx]
inc dword [ecx + 4]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
cmp ecx, eax
jb 0x5017ca
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x50176f
mov edx, dword [ebx + 0x38]
inc eax
add edx, dword [ebx + 0x8c]
cmp eax, edx
jbe 0x501755
mov dword [ebp - 0x90], 0xffffffff
xor eax, eax
jmp 0x5017ab
mov dword [ebx + 0x48], ecx
xor eax, eax
add ecx, dword [ebx + 0xf8]
mov dword [ebx + 0x44], ecx
mov dword [ebp - 0x90], 0xa
jmp 0x5017ab
xor eax, eax
push eax
push eax
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
je 0x50178b
mov edx, 0xa
mov dword [ebp - 0x90], edx
mov edx, dword [ebx + 0x3c]
jne 0x50179b
mov eax, 0
mov dword [ebx + 0x48], edx
test byte [ebx + 0x168], 2
jne 0x5017ab
inc edx
mov dword [ebx + 0x3c], edx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502d79
jmp 0x5017ef
movsx eax, byte [ecx]
inc ecx
mov dword [ebp - 0x90], eax
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x5017ef
test eax, eax
jne 0x5017e9
mov eax, 0x20
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x90]
mov edx, dword [ecx]
mov byte [edx], al
inc dword [ecx]
inc dword [ecx + 4]
cmp dword [ebp - 0x80], 0
jne 0x501851
cmp dword [ebp - 0x90], 0x46
je 0x50182b
cmp dword [ebp - 0x90], 0x66
je 0x50182b
cmp dword [ebp - 0x90], 0x54
je 0x50182b
cmp dword [ebp - 0x90], 0x74
jne 0x501851
mov eax, ebx
lea edi, [ebp - 0x6c]
mov dword [esp + 0xc], edi
xor ecx, ecx
mov edx, dword [ebp - 0x14]
call fcn.00503d90
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
mov byte [edx + 0x190], 0xa
jmp 0x501876
mov dword [esp + 0xc], 0
lea edi, [ebp - 0x6c]
mov dword [esp + 0x10], edi
lea eax, [ebp - 0xc]
mov dword [esp + 0x14], eax
mov eax, ebx
mov ecx, 1
mov edx, dword [ebp - 0x14]
call fcn.00502da0
test eax, eax
jne 0x502d79
jmp case.0x500e6f.9
cmp eax, dword [ebp - 0x18]
jne case.0x500e6f.46
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
mov byte [eax + 0x190], 0xe
jmp case.0x500e6f.9
cmp esi, 4
je 0x5018ac
cmp esi, 1
jne 0x5018b8
mov eax, ebx
call fcn.005037d0
jmp case.0x500e6f.9
dec ecx
mov eax, dword [ebx + 0x48]
test byte [ebx + 0x168], 2
jne 0x5018ce
inc eax
cmp ecx, eax
ja 0x5018d4
mov ecx, eax
jmp 0x5018d4
cmp ecx, eax
ja 0x5018d4
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x3c], ecx
cmp byte [eax + 0x192], 0x38
jne 0x50190a
cmp esi, 0xa
je 0x5018ed
cmp esi, 9
jne 0x50190a
mov eax, ebx
lea edi, [ebp - 0xc]
mov dword [esp + 0xc], edi
lea ecx, [ebp - 0x6c]
mov edx, dword [ebp - 0x14]
call fcn.00503bf0
cmp eax, 1
je 0x502d86
mov dword [esp + 0xc], 0
lea edi, [ebp - 0x6c]
mov dword [esp + 0x10], edi
lea eax, [ebp - 0xc]
mov dword [esp + 0x14], eax
mov eax, ebx
mov ecx, 4
mov edx, dword [ebp - 0x14]
call fcn.00502da0
test eax, eax
jne 0x502d79
jmp case.0x500e6f.9
cmp esi, 4
je 0x501946
cmp esi, 1
jne 0x501952
mov eax, ebx
call fcn.005037d0
jmp case.0x500e6f.9
cmp esi, 6
je 0x502b75
cmp esi, 8
je 0x501d99
cmp esi, 0xa
je 0x50197d
cmp esi, 9
je 0x50197d
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x190], 0
jmp 0x50204f
mov dword [ebp - 0x88], 0
xor edi, edi
mov eax, dword [ebx + 0x44]
cmp ecx, eax
jb 0x501a27
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x5019cb
mov edx, dword [ebx + 0x38]
inc eax
add edx, dword [ebx + 0x8c]
cmp eax, edx
jbe 0x5019b4
mov edx, 0xffffffff
mov eax, edi
jmp 0x5019ff
mov eax, dword [ebx + 0xf8]
mov edx, 0xa
add eax, ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x44], eax
mov eax, edi
jmp 0x5019ff
push edi
push edi
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x5019e8
mov eax, 0
je 0x5019ef
mov edx, 0xa
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x5019ff
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x501d7c
cmp edx, 0xa
je 0x502afd
jmp 0x501a5f
movsx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x100], 0xfffffffb
je 0x502b05
cmp edx, 0x20
je 0x50198c
cmp edx, 0xa
je 0x50198c
cmp edx, 9
je 0x50198c
cmp edx, 0x21
je 0x502a84
dec ecx
mov eax, dword [ebx + 0x48]
test byte [ebx + 0x168], 2
jne 0x501a75
inc eax
cmp ecx, eax
ja 0x501a7b
mov ecx, eax
jmp 0x501a7b
cmp ecx, eax
ja 0x501a7b
mov ecx, eax
mov edx, dword [ebp - 0x14]
lea edi, [ebp - 0x6c]
mov dword [esp + 0xc], 0
lea eax, [ebp - 0x88]
mov dword [esp + 0x10], edi
mov dword [ebx + 0x3c], ecx
mov ecx, 4
mov dword [esp + 0x14], eax
mov eax, ebx
mov byte [edx + 0x190], 0xff
call fcn.00502da0
test eax, eax
jne 0x501d7c
cmp dword [ebp - 0x88], 0
jne 0x501acb
mov edi, dword [ebp - 0x10]
mov eax, 0x11
jmp 0x501d8f
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x190], 0xff
je 0x501abe
mov dword [eax + 4], 0
movsx eax, byte [eax + 0x192]
cmp eax, 0x19
jl 0x501b11
cmp eax, 0x1f
jg 0x501afb
mov dword [ebp - 0xb8], 4
jmp 0x501b1b
cmp eax, 0x28
jl 0x501b11
cmp eax, 0x30
jg 0x501b11
mov dword [ebp - 0xb8], 8
jmp 0x501b1b
mov dword [ebp - 0xb8], 0x10
mov eax, dword [ebp - 0x14]
xor edi, edi
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x74], esi
xor esi, esi
add dword [eax], edx
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
cmp edx, eax
jb 0x501bce
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x501b72
mov ecx, dword [ebx + 0x38]
inc eax
add ecx, dword [ebx + 0x8c]
cmp eax, ecx
jbe 0x501b5b
mov ecx, 0xffffffff
mov eax, esi
jmp 0x501ba6
mov eax, dword [ebx + 0xf8]
mov ecx, 0xa
add eax, edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x44], eax
mov eax, esi
jmp 0x501ba6
push esi
push esi
push ebx
call fcn.005151b0
add esp, 0xc
mov ecx, 0xffffffff
cmp eax, 0x18
mov edx, dword [ebx + 0x3c]
jne 0x501b8f
mov eax, 0
je 0x501b96
mov ecx, 0xa
mov dword [ebx + 0x48], edx
test byte [ebx + 0x168], 2
jne 0x501ba6
inc edx
mov dword [ebx + 0x3c], edx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502922
cmp ecx, 0xa
je 0x502a55
jmp 0x501c0f
movsx ecx, byte [edx]
inc edx
mov dword [ebx + 0x3c], edx
cmp dword [ebx + 0x100], 0xfffffffb
je 0x502a6f
cmp ecx, 0x20
je 0x501b33
cmp ecx, 0xa
je 0x501b33
cmp ecx, 9
je 0x501b33
cmp ecx, 0x2c
je 0x502a5d
cmp ecx, 0x21
je 0x5029dc
mov esi, dword [ebp - 0x74]
test edi, edi
je 0x501d87
dec edx
mov eax, dword [ebx + 0x48]
test byte [ebx + 0x168], 2
jne 0x501c30
inc eax
cmp edx, eax
ja 0x501c36
mov edx, eax
jmp 0x501c36
cmp edx, eax
ja 0x501c36
mov edx, eax
mov ecx, 4
lea edi, [ebp - 0x6c]
lea eax, [ebp - 0x88]
mov dword [ebx + 0x3c], edx
mov edx, dword [ebp - 0x14]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, ebx
mov byte [edx + 0x190], 0xff
call fcn.00502da0
test eax, eax
jne 0x501d7c
cmp dword [ebp - 0x88], 0
jne 0x501c86
mov edi, dword [ebp - 0x10]
mov eax, 0x11
jmp 0x501d8f
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x190], 0xff
je 0x501c79
mov edx, dword [ebx + 0x3c]
xor edi, edi
mov eax, dword [ebx + 0x44]
cmp edx, eax
jb 0x501d31
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x501cd9
mov ecx, dword [ebx + 0x38]
inc eax
add ecx, dword [ebx + 0x8c]
cmp eax, ecx
jbe 0x501cc2
mov ecx, 0xffffffff
mov eax, edi
jmp 0x501d0d
mov eax, dword [ebx + 0xf8]
mov ecx, 0xa
add eax, edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x44], eax
mov eax, edi
jmp 0x501d0d
push edi
push edi
push ebx
call fcn.005151b0
add esp, 0xc
mov ecx, 0xffffffff
cmp eax, 0x18
mov edx, dword [ebx + 0x3c]
jne 0x501cf6
mov eax, 0
je 0x501cfd
mov ecx, 0xa
mov dword [ebx + 0x48], edx
test byte [ebx + 0x168], 2
jne 0x501d0d
inc edx
mov dword [ebx + 0x3c], edx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x501d7c
cmp ecx, 0xa
je 0x5029c7
jmp 0x501d72
movsx ecx, byte [edx]
inc edx
mov dword [ebx + 0x3c], edx
cmp dword [ebx + 0x100], 0xfffffffb
je 0x5029cf
cmp ecx, 0x20
je 0x501c9a
cmp ecx, 0xa
je 0x501c9a
cmp ecx, 9
je 0x501c9a
cmp ecx, 0x21
je 0x50294e
cmp ecx, 0x29
je 0x502930
mov edi, dword [ebp - 0x10]
mov eax, 0x11
jmp 0x501d8f
jne 0x502a7c
jmp 0x50204f
mov edi, dword [ebp - 0x10]
mov eax, 0x11
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x194], 0
je 0x501db7
mov eax, ebx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x14]
call fcn.00503800
jmp 0x502047
xor eax, eax
xor edi, edi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xac], edi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov edi, dword [ebp - 0xb4]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x44]
cmp eax, edx
jb 0x501e7d
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x501e28
mov ecx, dword [ebx + 0x38]
inc edx
add ecx, dword [ebx + 0x8c]
cmp edx, ecx
jbe 0x501e13
mov edx, 0xffffffff
xor eax, eax
jmp 0x501e5e
mov dword [ebx + 0x48], eax
mov edx, 0xa
add eax, dword [ebx + 0xf8]
mov dword [ebx + 0x44], eax
xor eax, eax
jmp 0x501e5e
xor eax, eax
push eax
push eax
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x501e47
mov eax, 0
je 0x501e4e
mov edx, 0xa
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x501e5e
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502b12
jmp 0x501e96
movsx edx, byte [eax]
inc eax
mov dword [ebx + 0x3c], eax
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x501e96
test edx, edx
jne 0x501e96
mov edx, 0x20
lea eax, [edx - 9]
cmp eax, 0x31
ja case.0x501ea2.11
jmp dword [eax*4 + 0x5efc60]
cmp dword [ebp - 0xa4], 0
jne 0x502b2d
cmp dword [ebp - 0xac], 0
jne 0x501ece
cmp dword [ebp - 0xb0], 0
jne 0x502b1d
jmp 0x501ee3
cmp dword [ebp - 0xb0], 0
jl 0x502b1d
test edi, edi
je 0x502b2d
cmp edi, 1
mov dword [ebp - 0xa4], 1
jg 0x501ef7
mov edi, 1
mov dword [esi + 0x188], edi
xor edi, edi
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xb0], edi
jmp 0x502036
cmp dword [ebp - 0xa8], 0
je 0x501f2c
cmp dword [ebp - 0xac], 0
jne 0x502b2d
xor eax, eax
lea edi, [edi + edi*4]
mov dword [ebp - 0xac], 1
lea edi, [edx + edi*2]
mov dword [ebp - 0xa8], eax
add edi, 0xffffffd0
jmp 0x502036
cmp dword [ebp - 0xb0], 0
jne 0x502b3d
cmp dword [ebp - 0xac], 0
jne 0x502b3d
mov dword [ebp - 0xb0], 0xffffffff
jmp 0x502036
cmp dword [ebp - 0xb0], 0
jne 0x502b4d
cmp dword [ebp - 0xac], 0
jne 0x502b4d
mov dword [ebp - 0xb0], 1
jmp 0x502036
cmp dword [ebp - 0xac], 0
jne 0x501fd0
cmp dword [ebp - 0xb0], 0
jne 0x502b5d
cmp dword [ebp - 0xa4], 0
je 0x502b5d
mov dword [esi + 0x18c], edi
mov byte [esi + 0x190], 0xd
jmp 0x502036
cmp dword [ebp - 0xb0], 0
jl 0x502b6d
cmp dword [ebp - 0xa4], 0
je 0x502b6d
test edi, edi
je 0x502b2d
mov dword [esi + 0x18c], edi
mov byte [esi + 0x190], 0xd
jmp 0x502036
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x3c], eax
jmp 0x502036
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
mov eax, 0x11
jmp 0x502047
cmp dword [ebp - 0xac], 0
jne 0x50202c
cmp dword [ebp - 0xb0], 0
jne 0x502b2d
mov dword [ebp - 0xa8], 1
cmp edx, 0x29
jne 0x501de5
mov dword [ebp - 0x14], esi
xor eax, eax
mov esi, dword [ebp - 0x74]
test eax, eax
jne 0x502d79
mov dword [ebp - 0xc], 1
jmp case.0x500e6f.9
cmp esi, 4
je 0x502065
cmp esi, 1
jne 0x502071
mov eax, ebx
call fcn.005037d0
jmp case.0x500e6f.9
cmp dword [0x642808], 0
jne 0x502d67
mov eax, dword [ebp - 0x14]
mov edx, 1
mov dword [0x642804], 0
mov dword [0x64280c], edx
mov byte [eax + 0x190], 0x10
mov dword [ebp - 0xc], edx
jmp case.0x500e6f.9
sub ecx, dword [ebx + 0x48]
cmp esi, 1
je 0x502ba4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov byte [ecx + 0x190], 2
mov byte [eax], dl
mov edx, 1
mov dword [ecx + 4], edx
mov dword [ebp - 0xc], edx
jmp case.0x500e6f.9
cmp esi, 4
je 0x5020d9
cmp esi, 1
jne 0x5020e5
mov eax, ebx
call fcn.005037d0
jmp case.0x500e6f.9
mov dword [ebp - 0x7c], eax
xor edi, edi
mov dword [ebp - 0x74], esi
mov esi, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
cmp esi, eax
jb 0x502185
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x502132
mov edx, dword [ebx + 0x38]
inc eax
add edx, dword [ebx + 0x8c]
cmp eax, edx
jbe 0x50211b
mov edx, 0xffffffff
mov eax, edi
jmp 0x502166
mov eax, dword [ebx + 0xf8]
mov edx, 0xa
add eax, esi
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x44], eax
mov eax, edi
jmp 0x502166
push edi
push edi
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov esi, dword [ebx + 0x3c]
jne 0x50214f
mov eax, 0
je 0x502156
mov edx, 0xa
mov dword [ebx + 0x48], esi
test byte [ebx + 0x168], 2
jne 0x502166
inc esi
mov dword [ebx + 0x3c], esi
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502d79
jmp 0x50219b
movsx edx, byte [esi]
inc esi
mov ecx, dword [ebx + 0x100]
cmp ecx, 0xfffffffb
mov dword [ebx + 0x3c], esi
je 0x502c43
cmp edx, dword [ebp - 0x7c]
jne 0x502c06
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x100]
mov dword [ebp - 0x78], eax
mov edx, edi
mov eax, ecx
mov ecx, esi
mov esi, edx
mov edx, dword [ebp - 0x78]
jmp 0x5021cb
mov edx, dword [ebx + 0x44]
mov esi, 1
mov eax, dword [ebx + 0x100]
cmp ecx, edx
jb 0x502259
cmp eax, 0xfffffffb
jne 0x502206
mov eax, dword [ebx + 0x38]
inc edx
add eax, dword [ebx + 0x8c]
cmp edx, eax
jbe 0x5021ef
mov edx, 0xffffffff
mov eax, edi
jmp 0x50223a
mov eax, dword [ebx + 0xf8]
mov edx, 0xa
add eax, ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x44], eax
mov eax, edi
jmp 0x50223a
push edi
push edi
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x502223
mov eax, 0
je 0x50222a
mov edx, 0xa
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x50223a
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502d79
jmp 0x502269
movsx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x3c], ecx
cmp eax, 0xfffffffb
je 0x502bf2
cmp edx, 0xa
je 0x5021bd
mov eax, edx
mov edx, esi
cmp eax, dword [ebp - 0x7c]
jne 0x5022a1
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi]
mov byte [ecx], al
inc dword [esi]
inc dword [esi + 4]
test byte [ebx + 0x168], 2
je 0x5020ed
test edx, edx
je 0x5020ed
jmp 0x502d67
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x74]
mov byte [eax + 0x190], 9
test byte [ebx + 0x168], 2
jne 0x5022dc
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x48]
dec edx
inc eax
cmp edx, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
ja 0x5022cf
mov edx, eax
mov dword [ebx + 0x3c], edx
mov ecx, dword [edi + 4]
sub dword [edi], ecx
jmp case.0x500e6f.9
mov edx, dword [ebx + 0x3c]
dec edx
mov eax, dword [ebx + 0x48]
cmp edx, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
ja 0x5022f3
mov edx, eax
mov dword [ebx + 0x3c], edx
mov ecx, dword [edi + 4]
sub dword [edi], ecx
jmp case.0x500e6f.9
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x3c], eax
jmp case.0x500e6f.9
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
mov byte [eax + 0x190], 6
jmp case.0x500e6f.9
mov edi, dword [ebp - 0x14]
cmp byte [edi + 0x192], 0x38
je 0x502c6a
cmp eax, 0x30
jl 0x502351
cmp eax, 0x39
jle 0x502379
cmp eax, 0x61
jl 0x502347
cmp eax, 0x7a
jle 0x502379
jmp 0x502351
cmp eax, 0x41
jl 0x502351
cmp eax, 0x5a
jle 0x502379
cmp esi, 4
je 0x50235b
cmp esi, 1
jne 0x502367
mov eax, ebx
call fcn.005037d0
jmp case.0x500e6f.9
mov edi, dword [ebp - 0x10]
mov eax, 0x11
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x74], esi
xor edi, edi
mov esi, dword [ebp - 0x14]
mov eax, dword [esi]
mov byte [eax], dl
inc dword [esi]
inc dword [esi + 4]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
cmp ecx, eax
jb 0x502424
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x5023cf
mov edx, dword [ebx + 0x38]
inc eax
add edx, dword [ebx + 0x8c]
cmp eax, edx
jbe 0x5023b8
mov edx, 0xffffffff
mov eax, edi
jmp 0x502403
mov eax, dword [ebx + 0xf8]
mov edx, 0xa
add eax, ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x44], eax
mov eax, edi
jmp 0x502403
push edi
push edi
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x5023ec
mov eax, 0
je 0x5023f3
mov edx, 0xa
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x502403
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502d79
mov eax, edx
jmp 0x502446
movsx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x3c], ecx
mov eax, edx
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x502446
test eax, eax
jne 0x50243f
mov edx, 0x20
jne 0x502446
mov eax, 0x20
cmp eax, 0x30
jge 0x502c5c
cmp eax, 0x24
je 0x502381
cmp eax, 0x5f
je 0x502381
cmp eax, 0x61
jl 0x502477
cmp eax, 0x7a
jle 0x502381
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
jmp 0x50248b
cmp eax, 0x41
jl 0x502485
cmp eax, 0x5a
jle 0x502381
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
dec ecx
mov eax, dword [ebx + 0x48]
test byte [ebx + 0x168], 2
jne 0x5024a1
inc eax
cmp ecx, eax
ja 0x5024a7
mov ecx, eax
jmp 0x5024a7
cmp ecx, eax
ja 0x5024a7
mov ecx, eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xc], 1
mov dword [ebx + 0x3c], ecx
mov eax, dword [edx + 4]
sub dword [edx], eax
mov byte [edx + 0x190], 3
jmp case.0x500e6f.9
mov edi, dword [ebp - 0x14]
mov eax, 1
mov dword [ebp - 0xc], eax
mov byte [edi + 0x190], al
cmp dword [ebp - 0xc], 0
je 0x500da5
mov edi, dword [ebp - 0x10]
xor eax, eax
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x191], 0xf
movsx eax, byte [eax + 0x190]
jmp 0x5014fc
cmp dword [ebp - 0x70], 0x20
je 0x5014fc
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
sub dword [edx], eax
mov eax, 3
mov byte [edx + 0x190], 3
jmp 0x5014fc
mov edi, dword [ebp - 0x10]
mov eax, 0x11
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x14]
cmp byte [edi + 0x190], 8
je 0x501467
mov edi, dword [ebp - 0x94]
dec edi
mov dword [ebp - 0x94], edi
cmp edi, 0xffffffff
jne 0x5013b7
jmp 0x501467
mov dword [ebp - 0x8c], edi
cmp edx, 0x28
jne 0x502616
mov dword [ebx + 0x3c], eax
mov dword [ebp - 0x9c], ebx
mov edi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x8c]
xor ebx, ebx
cmp edi, 1
sete bl
inc edi
test ebx, ebx
je 0x5025f6
cmp eax, ecx
jae 0x5025e0
mov dword [ebp - 0x98], edi
inc esi
mov dword [ebp - 0x8c], ecx
mov ebx, dword [ebp - 0x9c]
jne 0x5012fd
mov dword [ebp - 0x94], esi
mov esi, dword [ebp - 0x74]
movzx edx, byte [ebx + 0x168]
mov edi, dword [ebp - 0x94]
and edx, 2
dec edi
shr edx, 1
mov dword [ebp - 0x94], edi
cmp edi, 0xffffffff
jne 0x5013b7
jmp 0x501467
cmp edx, 0x29
je 0x502586
mov dword [ebp - 0x94], esi
mov ebx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x74]
jmp 0x5025b9
mov ebx, dword [ebp - 0x9c]
movzx edx, byte [ebx + 0x168]
and edx, 2
mov dword [ebp - 0x94], esi
mov esi, dword [ebp - 0x74]
shr edx, 1
jmp 0x501398
mov dword [ebp - 0x94], esi
cmp edx, 0x3d
mov edi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x74]
je 0x502692
cmp edx, 0x25
je 0x50264a
cmp edx, 0x2e
jne 0x50267e
movzx edx, byte [ebx + 0x168]
and edx, 2
shr edx, 1
test edx, edx
je 0x502676
mov edx, dword [ebp - 0x94]
dec edx
mov dword [ebp - 0x94], edx
cmp edx, 0xffffffff
je 0x5026e4
movzx edx, byte [ebx + 0x168]
mov edi, 1
and edx, 2
shr edx, 1
jmp 0x5013b9
mov dword [ebx + 0x3c], eax
jmp 0x501398
movzx edx, byte [ebx + 0x168]
and edx, 2
mov dword [ebx + 0x3c], eax
shr edx, 1
jmp 0x501398
mov dword [ebx + 0x3c], eax
cmp eax, ecx
jae 0x5026b8
inc dword [ebp - 0x94]
movsx edx, byte [eax]
inc eax
cmp dword [ebx + 0x100], 0xfffffffb
je 0x502731
cmp edx, 0x3f
je 0x50270a
mov dword [ebx + 0x3c], eax
mov edx, dword [ebp - 0x94]
dec edx
mov dword [ebp - 0x94], edx
cmp edx, 0xffffffff
je 0x50143b
movzx edx, byte [ebx + 0x168]
mov edi, 1
and edx, 2
shr edx, 1
jmp 0x5013b9
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x3c], eax
mov eax, dword [edx + 4]
sub dword [edx], eax
mov byte [edx + 0x190], 3
movzx edx, byte [ebx + 0x168]
and edx, 2
mov eax, dword [ebx + 0x3c]
shr edx, 1
jmp 0x501467
movzx edx, byte [ebx + 0x168]
mov edi, dword [ebp - 0x94]
and edx, 2
dec edi
shr edx, 1
mov dword [ebp - 0x94], edi
cmp edi, 0xffffffff
jne 0x5013b7
jmp 0x501467
test edx, edx
je 0x5026b5
jmp 0x5026b0
test edx, edx
jne 0x501368
mov dword [ebx + 0x3c], eax
mov edx, 0x20
jmp 0x501379
mov dword [ebp - 0x8c], edi
cmp edx, 0x28
je 0x502574
jmp 0x50137d
cmp edx, 0x28
je 0x502574
jmp 0x50137d
cmp edx, 0x29
je 0x502763
jmp 0x5025b0
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x8c], ecx
mov esi, dword [ebp - 0x94]
jmp 0x501335
test edx, edx
jne 0x50157d
mov edx, 0x20
jmp 0x50102f
mov eax, dword [ebx + 0x44]
mov ecx, eax
mov dword [ebx + 0x3c], eax
jmp 0x501025
test edx, edx
jne 0x500f93
mov dword [ebp - 0x14], edi
mov edx, 0x20
jmp 0x500fd3
cmp esi, 0xa
je 0x5027d7
cmp esi, 9
jne 0x500ea1
dec ecx
mov eax, dword [ebx + 0x48]
test byte [ebx + 0x168], 2
jne 0x5027ed
inc eax
cmp ecx, eax
ja 0x5027f3
mov ecx, eax
jmp 0x5027f3
cmp ecx, eax
ja 0x5027f3
mov ecx, eax
mov eax, ebx
lea edi, [ebp - 0xc]
mov dword [esp + 0xc], edi
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x3c], ecx
lea ecx, [ebp - 0x6c]
call fcn.00503bf0
cmp eax, 1
je 0x502d86
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x44]
cmp eax, edx
mov dword [ebp - 0x84], eax
jb 0x5028a9
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x50285e
mov eax, dword [ebx + 0x38]
inc edx
add eax, dword [ebx + 0x8c]
cmp edx, eax
jbe 0x502845
mov edx, 0xffffffff
jmp 0x50288d
mov eax, dword [ebp - 0x84]
mov edx, 0xa
mov dword [ebx + 0x48], eax
add eax, dword [ebx + 0xf8]
mov dword [ebx + 0x44], eax
jmp 0x50288d
xor eax, eax
push eax
push eax
push ebx
call fcn.005151b0
add esp, 0xc
mov edx, 0xffffffff
cmp eax, 0x18
mov eax, dword [ebx + 0x3c]
je 0x50287d
mov edx, 0xa
mov dword [ebx + 0x48], eax
test byte [ebx + 0x168], 2
jne 0x50288d
inc eax
mov dword [ebx + 0x3c], eax
add dword [ebx + 0x98], 1
mov eax, edx
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
jmp 0x500ea1
movsx edx, byte [eax]
inc eax
mov dword [ebx + 0x3c], eax
mov eax, edx
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x500ea1
test eax, eax
jne 0x5028c8
mov edx, 0x20
jne 0x500ea1
mov eax, 0x20
jmp 0x500ea1
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x190], 4
test byte [ebx + 0x168], 2
jne 0x502901
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x48]
dec edx
inc eax
cmp edx, eax
ja 0x5028f9
mov edx, eax
mov dword [ebx + 0x3c], edx
jmp 0x50165b
mov edx, dword [ebx + 0x3c]
dec edx
mov eax, dword [ebx + 0x48]
cmp edx, eax
ja 0x50290e
mov edx, eax
mov dword [ebx + 0x3c], edx
jmp 0x50165b
mov dword [ebp - 0x80], 1
jmp 0x501700
mov esi, dword [ebp - 0x74]
jne 0x502a7c
jmp 0x50204f
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xc], 1
mov byte [edx + 0x190], 0xb
sub dword [edx], eax
jmp case.0x500e6f.9
mov edx, eax
mov dword [ebx + 0x3c], edx
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x502982
mov ecx, dword [ebx + 0x38]
lea eax, [edx + 1]
add ecx, dword [ebx + 0x8c]
cmp eax, ecx
jbe 0x502970
mov eax, edi
jmp 0x5029aa
mov eax, dword [ebx + 0xf8]
add eax, edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x44], eax
mov eax, edi
jmp 0x5029aa
push edi
push edi
push ebx
call fcn.005151b0
add esp, 0xc
cmp eax, 0x18
mov edx, dword [ebx + 0x3c]
jne 0x50299a
mov eax, 0
mov dword [ebx + 0x48], edx
test byte [ebx + 0x168], 2
jne 0x5029aa
inc edx
mov dword [ebx + 0x3c], edx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x501d7c
mov eax, dword [ebx + 0x44]
jmp 0x501c9a
test ecx, ecx
jne 0x501d45
jmp 0x501c9a
mov edx, eax
mov dword [ebx + 0x3c], edx
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x502a10
mov ecx, dword [ebx + 0x38]
lea eax, [edx + 1]
add ecx, dword [ebx + 0x8c]
cmp eax, ecx
jbe 0x5029fe
mov eax, esi
jmp 0x502a38
mov eax, dword [ebx + 0xf8]
add eax, edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x44], eax
mov eax, esi
jmp 0x502a38
push esi
push esi
push ebx
call fcn.005151b0
add esp, 0xc
cmp eax, 0x18
mov edx, dword [ebx + 0x3c]
jne 0x502a28
mov eax, 0
mov dword [ebx + 0x48], edx
test byte [ebx + 0x168], 2
jne 0x502a38
inc edx
mov dword [ebx + 0x3c], edx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x502922
mov eax, dword [ebx + 0x44]
jmp 0x501b33
test edi, edi
jne 0x501d87
mov edi, 1
jmp 0x501b33
test ecx, ecx
jne 0x501be2
jmp 0x501b33
mov edi, dword [ebp - 0x10]
jmp 0x501d8f
mov ecx, eax
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x502ab8
mov edx, dword [ebx + 0x38]
lea eax, [ecx + 1]
add edx, dword [ebx + 0x8c]
cmp eax, edx
jbe 0x502aa6
mov eax, edi
jmp 0x502ae0
mov eax, dword [ebx + 0xf8]
add eax, ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x44], eax
mov eax, edi
jmp 0x502ae0
push edi
push edi
push ebx
call fcn.005151b0
add esp, 0xc
cmp eax, 0x18
mov ecx, dword [ebx + 0x3c]
jne 0x502ad0
mov eax, 0
mov dword [ebx + 0x48], ecx
test byte [ebx + 0x168], 2
jne 0x502ae0
inc ecx
mov dword [ebx + 0x3c], ecx
add dword [ebx + 0x98], 1
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
test eax, eax
jne 0x501d7c
mov eax, dword [ebx + 0x44]
jmp 0x50198c
test edx, edx
jne 0x501a3b
jmp 0x50198c
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
jmp 0x502047
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
mov eax, 0x11
jmp 0x502047
mov dword [ebp - 0x14], esi
mov eax, 0x11
mov esi, dword [ebp - 0x74]
jmp 0x502047
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
mov eax, 0x11
jmp 0x502047
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
mov eax, 0x11
jmp 0x502047
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
mov eax, 0x11
jmp 0x502047
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x74]
jmp 0x502b63
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x194], 0
jne 0x501da5
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x10], 0
je 0x501db7
mov eax, ebx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x14]
call fcn.00503800
jmp 0x502047
cmp ecx, 2
jne 0x502bc7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov byte [ecx + 0x190], 2
mov byte [eax], dl
mov edx, 1
mov dword [ecx + 4], edx
mov dword [ebp - 0xc], edx
jmp case.0x500e6f.9
test byte [ebx + 0x168], 2
je case.0x500e6f.33
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov byte [ecx + 0x190], 2
mov byte [eax], dl
mov edx, 1
mov dword [ecx + 4], edx
mov dword [ebp - 0xc], edx
jmp case.0x500e6f.9
test edx, edx
jne 0x502269
mov edx, esi
mov eax, 0x20
jmp 0x502276
cmp edx, 0xa
je 0x5020ed
cmp edx, 0xffffffff
je 0x502c25
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov byte [eax], dl
inc dword [ecx]
inc dword [ecx + 4]
jmp 0x5020ed
mov ecx, dword [ebp - 0x14]
mov eax, 1
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0xc], eax
mov edx, dword [ecx + 4]
sub dword [ecx], edx
mov byte [ecx + 0x190], al
jmp case.0x500e6f.9
test edx, edx
jne 0x50219b
cmp dword [ebp - 0x7c], 0x20
je 0x5021ad
mov edx, 0x20
jmp 0x502c14
cmp eax, 0x39
jg 0x50244f
jmp 0x502381
cmp esi, 0xa
je 0x502c78
cmp esi, 9
jne 0x502331
dec ecx
mov eax, dword [ebx + 0x48]
test byte [ebx + 0x168], 2
jne 0x502c8e
inc eax
cmp ecx, eax
ja 0x502c94
mov ecx, eax
jmp 0x502c94
cmp ecx, eax
ja 0x502c94
mov ecx, eax
mov eax, ebx
lea edi, [ebp - 0xc]
mov dword [esp + 0xc], edi
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x3c], ecx
lea ecx, [ebp - 0x6c]
call fcn.00503bf0
cmp eax, 1
je 0x502d86
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x44]
cmp eax, edx
jb 0x502d22
cmp dword [ebx + 0x100], 0xfffffffb
jne 0x502ce5
mov ecx, dword [ebx + 0x38]
inc edx
add ecx, dword [ebx + 0x8c]
cmp edx, ecx
ja 0x502d05
mov edx, dword [ebx + 0xf8]
mov dword [ebx + 0x48], eax
add eax, edx
mov dword [ebx + 0x44], eax
jmp 0x502d05
xor eax, eax
push eax
push eax
push ebx
call fcn.005151b0
add esp, 0xc
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x48], eax
test byte [ebx + 0x168], 2
jne 0x502d05
inc eax
mov dword [ebx + 0x3c], eax
add dword [ebx + 0x98], 1
mov edi, dword [ebp - 0x10]
adc dword [ebx + 0x9c], 0
and byte [ebx + 0x16f], 0xfb
jmp 0x50236a
movsx edx, byte [eax]
inc eax
mov dword [ebx + 0x3c], eax
mov eax, edx
cmp dword [ebx + 0x100], 0xfffffffb
je 0x502d42
cmp eax, 0x30
jge 0x502336
jmp 0x502367
test eax, eax
je 0x502367
cmp eax, 0x30
jge 0x502336
jmp 0x502367
mov eax, ecx
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x11
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x44]
jmp 0x50102d