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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
push dword [ebp + 8]
call sym.MZKERNEL32.DLL_JS_EnterLocalRootScope
test eax, eax
pop ecx
je 0x600cbbbf
mov edx, dword [ebp + 0xc]
mov cx, word [edx]
movzx eax, cx
cmp eax, 0x3d
je 0x600cb707
cmp eax, 0x3f
je 0x600cb707
cmp eax, 0x42
jle 0x600cbb6d
cmp eax, 0x47
jle 0x600cb149
cmp eax, 0x4d
je 0x600cb012
cmp eax, 0x4e
jne 0x600cbb6d
push 0
push dword [ebp + 8]
call fcn.600d2904
mov ebx, eax
pop ecx
test ebx, ebx
pop ecx
je 0x600cbbb6
mov edi, dword [ebp + 0xc]
lea ecx, [ebx + 0x14]
mov eax, dword [edi + 0x18]
push eax
push ecx
push dword [ebp + 8]
mov dword [ebp - 8], eax
call fcn.600cae69
add esp, 0xc
test eax, eax
je 0x600cbbb6
and dword [ebp - 4], 0
mov esi, dword [edi + 0x10]
jmp 0x600caff3
cmp word [esi], 0x43
je 0x600cafca
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
push dword [ebp + 8]
call fcn.600caf14
add esp, 0x10
cmp eax, 1
jne 0x600cafcf
dec dword [ebp - 8]
jmp 0x600caff0
test eax, eax
je 0x600cbbb6
mov ecx, dword [ebp - 4]
cmp dword [ebx + 0x14], ecx
ja 0x600cafe6
inc ecx
mov dword [ebx + 0x14], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebx + 0x1c]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [ebp - 4], ecx
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x600cafad
mov eax, dword [ebp - 8]
cmp eax, dword [edi + 0x18]
jae 0x600cbbdd
lea eax, [ebx + 0x14]
push eax
call fcn.600cbc4a
pop ecx
jmp 0x600cbbdd
mov eax, dword [ebp + 0x10]
push dword [ebp + 0x14]
mov edi, dword [ebp + 8]
mov ecx, dword [eax]
push eax
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx + 0x10]
push esi
push edi
call fcn.600caf14
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x600cbbb6
push ebx
push dword [edi + 0x168]
push edi
call fcn.6008a35b
add esp, 0xc
test eax, eax
jl 0x600cbbb6
mov eax, dword [ebp + 0xc]
and dword [ebp + 0x14], 0xffffffdf
mov edi, dword [eax + 0x18]
lea eax, [ebx + 0x14]
dec edi
dec edi
push edi
push eax
push dword [ebp + 8]
call fcn.600cae69
add esp, 0xc
test eax, eax
je 0x600cbbb6
mov esi, dword [esi + 0x20]
and dword [ebp - 4], 0
test esi, esi
mov dword [ebp - 0xc], esi
je 0x600cb12a
jmp 0x600cb08e
mov esi, dword [ebp - 0xc]
cmp dword [esi + 0x20], 0
je 0x600cb12a
mov eax, dword [ebp + 0x14]
and eax, 4
mov dword [ebp - 0x14], eax
je 0x600cb0ae
cmp edi, 1
jbe 0x600cb0ae
cmp word [esi], 0x43
je 0x600cb0c9
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.600caf14
mov esi, eax
add esp, 0x10
cmp esi, 1
jne 0x600cb0cc
dec edi
jmp 0x600cb119
test esi, esi
je 0x600cbbb6
mov eax, dword [ebp - 4]
cmp dword [ebx + 0x14], eax
ja 0x600cb0e2
lea ecx, [eax + 1]
mov dword [ebx + 0x14], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [ecx + eax*4], esi
inc eax
cmp dword [ebp - 0x14], 0
mov dword [esi + 8], ebx
mov dword [ebp - 4], eax
je 0x600cb119
cmp edi, 1
jbe 0x600cb119
cmp word [esi + 0x10], 4
jne 0x600cb119
push dword [esi + 0x14]
push dword [ebp + 8]
call fcn.600cc111
pop ecx
test eax, eax
pop ecx
je 0x600cbbb6
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x600cb08b
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
dec eax
dec eax
cmp edi, eax
jae 0x600cbbcc
lea eax, [ebx + 0x14]
push eax
call fcn.600cbc4a
pop ecx
jmp 0x600cbbcc
mov eax, dword [ebp + 0xc]
xor edi, edi
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
and esi, 0xfffffff8
cmp cx, 0x45
jne 0x600cb16e
test byte [ebp + 0x14], 1
jne 0x600cb694
push 5
jmp 0x600cb6d9
cmp cx, 0x47
jne 0x600cb6d7
mov ecx, dword [esi]
mov edi, 0x40000000
mov ebx, ecx
mov edx, 0x7fff
and ebx, edi
mov eax, ecx
je 0x600cb19e
and eax, 0x80000000
neg eax
sbb eax, eax
and eax, 0x3fff8000
add eax, edx
and eax, ecx
cmp eax, 3
jne 0x600cb68e
test ebx, ebx
je 0x600cb1d7
mov eax, dword [esi + 4]
test dword [eax], edi
je 0x600cb1c2
push esi
call fcn.600c466c
pop ecx
mov ebx, eax
mov edx, 0x7fff
jmp 0x600cb1da
test ecx, ecx
jns 0x600cb1ca
xor ecx, ecx
jmp 0x600cb1cf
shr ecx, 0xf
and ecx, edx
mov eax, dword [eax + 4]
lea ebx, [eax + ecx*2]
jmp 0x600cb1da
mov ebx, dword [esi + 4]
mov eax, dword [esi]
test edi, eax
je 0x600cb20a
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb1f5
push esi
call fcn.600c466c
pop ecx
mov edx, 0x7fff
jmp 0x600cb20d
test eax, eax
jns 0x600cb1fd
xor eax, eax
jmp 0x600cb202
shr eax, 0xf
and eax, edx
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb20d
mov eax, dword [esi + 4]
movzx ecx, word [ebx]
mov al, byte [eax]
shr ecx, 6
and eax, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, eax
movzx eax, byte [ecx + 0x600d79e0]
test byte [eax*4 + 0x600d9862], 0x20
mov eax, dword [esi]
je 0x600cb302
test edi, eax
je 0x600cb269
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb254
push esi
call fcn.600c466c
pop ecx
mov edx, 0x7fff
jmp 0x600cb26c
test eax, eax
jns 0x600cb25c
xor eax, eax
jmp 0x600cb261
shr eax, 0xf
and eax, edx
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb26c
mov eax, dword [esi + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
test edi, eax
je 0x600cb29c
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb287
push esi
call fcn.600c466c
pop ecx
mov ebx, eax
jmp 0x600cb29f
test eax, eax
jns 0x600cb28f
xor eax, eax
jmp 0x600cb294
shr eax, 0xf
and eax, edx
mov ecx, dword [ecx + 4]
lea ebx, [ecx + eax*2]
jmp 0x600cb29f
mov ebx, dword [esi + 4]
mov eax, dword [esi]
test edi, eax
je 0x600cb2cd
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb2b5
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb2d0
test eax, eax
jns 0x600cb2bd
xor eax, eax
jmp 0x600cb2c5
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb2d0
mov eax, dword [esi + 4]
movzx ecx, word [ebx]
mov al, byte [eax]
shr ecx, 6
and eax, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, eax
movzx eax, byte [ecx + 0x600d79e0]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x600d9860]
movzx ecx, word [ecx]
sar eax, 0x16
add eax, ecx
jmp 0x600cb331
test edi, eax
je 0x600cb32b
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb316
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb32e
test eax, eax
jns 0x600cb31e
xor eax, eax
jmp 0x600cb323
shr eax, 0xf
and eax, edx
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb32e
mov eax, dword [esi + 4]
movzx eax, word [eax]
cmp ax, 0x78
jne 0x600cb68e
mov eax, dword [esi]
test edi, eax
je 0x600cb36b
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb353
push esi
call fcn.600c466c
pop ecx
mov ebx, eax
jmp 0x600cb36e
test eax, eax
jns 0x600cb35b
xor eax, eax
jmp 0x600cb363
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea ebx, [ecx + eax*2]
jmp 0x600cb36e
mov ebx, dword [esi + 4]
mov eax, dword [esi]
test edi, eax
je 0x600cb39c
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb384
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb39f
test eax, eax
jns 0x600cb38c
xor eax, eax
jmp 0x600cb394
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb39f
mov eax, dword [esi + 4]
movzx ecx, word [ebx + 2]
mov al, byte [eax + 2]
shr ecx, 6
and eax, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, eax
movzx eax, byte [ecx + 0x600d79e0]
test byte [eax*4 + 0x600d9862], 0x20
mov eax, dword [esi]
je 0x600cb49a
test edi, eax
je 0x600cb3fb
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb3e3
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb3fe
test eax, eax
jns 0x600cb3eb
xor eax, eax
jmp 0x600cb3f3
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb3fe
mov eax, dword [esi + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
test edi, eax
je 0x600cb431
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb419
push esi
call fcn.600c466c
pop ecx
mov ebx, eax
jmp 0x600cb434
test eax, eax
jns 0x600cb421
xor eax, eax
jmp 0x600cb429
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea ebx, [ecx + eax*2]
jmp 0x600cb434
mov ebx, dword [esi + 4]
mov eax, dword [esi]
test edi, eax
je 0x600cb462
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb44a
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb465
test eax, eax
jns 0x600cb452
xor eax, eax
jmp 0x600cb45a
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb465
mov eax, dword [esi + 4]
movzx ecx, word [ebx + 2]
mov al, byte [eax + 2]
shr ecx, 6
and eax, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, eax
movzx eax, byte [ecx + 0x600d79e0]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x600d9860]
movzx ecx, word [ecx + 2]
sar eax, 0x16
add eax, ecx
jmp 0x600cb4cd
test edi, eax
je 0x600cb4c6
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb4ae
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb4c9
test eax, eax
jns 0x600cb4b6
xor eax, eax
jmp 0x600cb4be
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb4c9
mov eax, dword [esi + 4]
movzx eax, word [eax + 2]
cmp ax, 0x6d
jne 0x600cb68e
mov eax, dword [esi]
test edi, eax
je 0x600cb507
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb4ef
push esi
call fcn.600c466c
pop ecx
mov ebx, eax
jmp 0x600cb50a
test eax, eax
jns 0x600cb4f7
xor eax, eax
jmp 0x600cb4ff
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea ebx, [ecx + eax*2]
jmp 0x600cb50a
mov ebx, dword [esi + 4]
mov eax, dword [esi]
test edi, eax
je 0x600cb538
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb520
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb53b
test eax, eax
jns 0x600cb528
xor eax, eax
jmp 0x600cb530
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb53b
mov eax, dword [esi + 4]
movzx ecx, word [ebx + 4]
mov al, byte [eax + 4]
shr ecx, 6
and eax, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, eax
movzx eax, byte [ecx + 0x600d79e0]
test byte [eax*4 + 0x600d9862], 0x20
mov eax, dword [esi]
je 0x600cb636
test edi, eax
je 0x600cb597
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb57f
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb59a
test eax, eax
jns 0x600cb587
xor eax, eax
jmp 0x600cb58f
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb59a
mov eax, dword [esi + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
test edi, eax
je 0x600cb5cd
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb5b5
push esi
call fcn.600c466c
pop ecx
mov ebx, eax
jmp 0x600cb5d0
test eax, eax
jns 0x600cb5bd
xor eax, eax
jmp 0x600cb5c5
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea ebx, [ecx + eax*2]
jmp 0x600cb5d0
mov ebx, dword [esi + 4]
mov eax, dword [esi]
test edi, eax
je 0x600cb5fe
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb5e6
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb601
test eax, eax
jns 0x600cb5ee
xor eax, eax
jmp 0x600cb5f6
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb601
mov eax, dword [esi + 4]
movzx ecx, word [ebx + 4]
mov al, byte [eax + 4]
shr ecx, 6
and eax, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, eax
movzx eax, byte [ecx + 0x600d79e0]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x600d9860]
movzx ecx, word [ecx + 4]
sar eax, 0x16
add eax, ecx
jmp 0x600cb669
test edi, eax
je 0x600cb662
mov ecx, dword [esi + 4]
test dword [ecx], edi
je 0x600cb64a
push esi
call fcn.600c466c
pop ecx
jmp 0x600cb665
test eax, eax
jns 0x600cb652
xor eax, eax
jmp 0x600cb65a
shr eax, 0xf
and eax, 0x7fff
mov ecx, dword [ecx + 4]
lea eax, [ecx + eax*2]
jmp 0x600cb665
mov eax, dword [esi + 4]
movzx eax, word [eax + 4]
cmp ax, 0x6c
jne 0x600cb68e
or esi, 4
push esi
push dword [ebp + 8]
call sym.MZKERNEL32.DLL_js_ValueToPrintableString
push eax
push 0x84
push 0x200
push dword [ebp + 0xc]
jmp 0x600cbbab
test byte [ebp + 0x14], 2
je 0x600cb69c
xor eax, eax
inc eax
jmp 0x600cbbfd
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push 0
push dword [ebp + 0x10]
push esi
push ebx
call fcn.600cbddd
mov edi, eax
add esp, 0x10
test edi, edi
je 0x600cbbb6
mov eax, dword [esi + 0x14]
test eax, eax
je 0x600cb6ca
mov esi, dword [eax + 8]
and esi, 0xfffffff8
jmp 0x600cb6d3
mov eax, dword [ebx + 0x14]
mov esi, dword [eax + 0x37c]
push 3
jmp 0x600cb6d9
push 4
pop eax
push eax
push dword [ebp + 8]
call fcn.600d2904
mov ebx, eax
pop ecx
test ebx, ebx
pop ecx
je 0x600cbbb6
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0xc], edi
cmp word [eax], 0x43
jne 0x600cb6ff
or byte [ebx + 0x12], 1
mov dword [ebx + 0x14], esi
jmp 0x600cbbdd
mov eax, dword [ebp + 0x10]
mov esi, dword [edx + 0x10]
mov eax, dword [eax]
cmp byte [esi + 3], 0xfe
mov dword [ebp - 0x10], eax
je 0x600cbb6d
push 1
push dword [ebp + 8]
call fcn.600d2904
mov ebx, eax
pop ecx
test ebx, ebx
pop ecx
mov dword [ebp - 0x14], ebx
je 0x600cbbb6
mov eax, dword [ebp + 0xc]
add esi, 0x20
mov dword [ebp - 4], esi
mov edi, dword [eax + 0x18]
mov eax, dword [esi]
mov esi, eax
dec edi
test esi, esi
mov dword [ebp - 8], edi
mov dword [ebp - 0x18], eax
je 0x600cba14
mov edi, 0x40000000
cmp word [esi], 0x41
jne 0x600cbb6d
cmp byte [esi + 3], 0
jne 0x600cbb6d
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x600cb78a
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x10], ecx
je 0x600cbb91
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x20]
cmp eax, esi
jne 0x600cb777
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x20]
mov dword [ebp - 0xc], esi
mov eax, dword [eax + 8]
and al, 0xf8
cmp word [esi], 0x42
jne 0x600cbb6d
mov ecx, dword [eax]
mov edx, ecx
mov ebx, ecx
and edx, edi
je 0x600cb7c4
and ebx, 0x80000000
neg ebx
sbb ebx, ebx
and ebx, 0x3fff8000
add ebx, 0x7fff
and ebx, ecx
test edx, edx
je 0x600cb7f1
mov edx, dword [eax + 4]
test dword [edx], edi
je 0x600cb7d8
push eax
call fcn.600c466c
pop ecx
jmp 0x600cb7f4
test ecx, ecx
jns 0x600cb7e0
xor ecx, ecx
jmp 0x600cb7e9
shr ecx, 0xf
and ecx, 0x7fff
mov eax, dword [edx + 4]
lea eax, [eax + ecx*2]
jmp 0x600cb7f4
mov eax, dword [eax + 4]
cmp ebx, 5
jb 0x600cb9f8
movzx edx, word [eax]
mov ecx, edx
mov esi, edx
shr ecx, 6
and esi, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, esi
movzx ecx, byte [ecx + 0x600d79e0]
mov ecx, dword [ecx*4 + 0x600d9860]
test ecx, 0x200000
je 0x600cb831
sar ecx, 0x16
add edx, ecx
cmp dx, 0x78
jne 0x600cb9f8
movzx edx, word [eax + 2]
mov ecx, edx
mov esi, edx
shr ecx, 6
and esi, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, esi
movzx ecx, byte [ecx + 0x600d79e0]
mov ecx, dword [ecx*4 + 0x600d9860]
test ecx, 0x200000
je 0x600cb870
sar ecx, 0x16
add edx, ecx
cmp dx, 0x6d
jne 0x600cb9f8
movzx edx, word [eax + 4]
mov ecx, edx
mov esi, edx
shr ecx, 6
and esi, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, esi
movzx ecx, byte [ecx + 0x600d79e0]
mov ecx, dword [ecx*4 + 0x600d9860]
test ecx, 0x200000
je 0x600cb8af
sar ecx, 0x16
add edx, ecx
cmp dx, 0x6c
jne 0x600cb9f8
movzx edx, word [eax + 6]
mov ecx, edx
mov esi, edx
shr ecx, 6
and esi, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, esi
movzx ecx, byte [ecx + 0x600d79e0]
mov ecx, dword [ecx*4 + 0x600d9860]
test ecx, 0x200000
je 0x600cb8ee
sar ecx, 0x16
add edx, ecx
cmp dx, 0x6e
jne 0x600cb9f8
movzx edx, word [eax + 8]
mov ecx, edx
mov esi, edx
shr ecx, 6
and esi, 0x3f
movzx ecx, byte [ecx + 0x600d75e0]
shl ecx, 6
or ecx, esi
movzx ecx, byte [ecx + 0x600d79e0]
mov ecx, dword [ecx*4 + 0x600d9860]
test ecx, 0x200000
je 0x600cb92d
sar ecx, 0x16
add edx, ecx
cmp dx, 0x73
jne 0x600cb9f8
cmp ebx, 5
je 0x600cb947
cmp word [eax + 0xa], 0x3a
jne 0x600cb9f8
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x10]
mov esi, dword [ecx + 8]
and esi, 0xfffffff8
cmp ebx, 5
jne 0x600cb966
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x37c]
jmp 0x600cb983
add ebx, 0xfffffffa
push 0
add eax, 0xc
push ebx
push eax
push dword [ebp + 8]
call fcn.600c803c
add esp, 0x10
test eax, eax
je 0x600cbbb6
push 1
push esi
push eax
push dword [ebp + 8]
call fcn.600c9dd8
mov esi, eax
add esp, 0x10
test esi, esi
je 0x600cbbb6
mov ebx, dword [ebp + 0x10]
push 0x600cbc02
push esi
push ebx
call fcn.600cbc68
add esp, 0xc
cmp eax, 0xffffffff
jne 0x600cb9e7
push esi
push dword [ebx]
push ebx
push dword [ebp + 8]
call fcn.600cbcb8
add esp, 0x10
test eax, eax
je 0x600cbbb6
mov eax, dword [ebp - 0x14]
push esi
add eax, 0x24
push dword [eax]
push eax
push dword [ebp + 8]
call fcn.600cbcb8
add esp, 0x10
test eax, eax
je 0x600cbbb6
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
sub dword [ebp - 8], 2
mov eax, dword [eax + 0x20]
mov dword [ecx], eax
jmp 0x600cba01
mov eax, dword [ebp - 0xc]
add eax, 0x20
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
test esi, esi
jne 0x600cb759
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 8]
test byte [ebp + 0x14], 0x20
je 0x600cba57
mov eax, dword [ebp + 0x10]
push 0
mov eax, dword [eax + 8]
mov eax, dword [eax]
push dword [eax + 8]
push dword [eax + 4]
push dword [ebp + 8]
call fcn.600c9dd8
add esp, 0x10
test eax, eax
je 0x600cbbb6
lea ecx, [ebx + 0x24]
push eax
push dword [ecx]
push ecx
push dword [ebp + 8]
call fcn.600cbcb8
add esp, 0x10
test eax, eax
je 0x600cbbb6
lea eax, [ebx + 0x24]
push eax
call fcn.600cbc4a
mov eax, dword [ebp + 0xc]
push 0
push dword [ebp + 0x10]
mov esi, dword [eax + 0x10]
push esi
push dword [ebp + 8]
call fcn.600cbddd
add esp, 0x14
test eax, eax
je 0x600cbbb6
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x34]
shr edi, 1
push edi
push eax
push dword [ebp + 8]
mov dword [ebp - 0x14], eax
call fcn.600cae69
add esp, 0xc
test eax, eax
je 0x600cbbb6
mov esi, dword [esi + 0x20]
and dword [ebp - 4], 0
test esi, esi
je 0x600cbbc3
and dword [ebp - 8], 0
push 1
push dword [ebp + 0x10]
push esi
push dword [ebp + 8]
call fcn.600cbddd
mov edi, eax
add esp, 0x10
test edi, edi
je 0x600cbb87
and dword [ebp - 0xc], 0
cmp dword [ebp - 8], 0
jbe 0x600cbb1a
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebp - 0xc]
push dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x18], eax
push dword [eax + 4]
call fcn.600c8400
pop ecx
test eax, eax
pop ecx
jne 0x600cbb0f
push dword [edi + 0xc]
mov eax, dword [ebp - 0x18]
push dword [eax + 0xc]
call fcn.600c8400
pop ecx
test eax, eax
pop ecx
je 0x600cbb91
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 4]
jb 0x600cbad7
mov esi, dword [esi + 0x20]
push 2
push dword [ebp + 8]
call fcn.600d2904
pop ecx
test eax, eax
pop ecx
je 0x600cbbb6
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
cmp dword [edx], ecx
ja 0x600cbb3e
inc ecx
mov dword [edx], ecx
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ebp - 8]
add dword [ebp - 8], 4
mov dword [edx + ecx], eax
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 8]
and ecx, 0xfffffff8
inc dword [ebp - 4]
mov dword [eax + 0x14], ecx
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x600cbab2
jmp 0x600cbbc3
push 0xaa
push 0x200
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.600bf1f7
add esp, 0x10
jmp 0x600cbbb6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x600cbbb6
mov eax, dword [esi + 0x10]
push dword [eax + 8]
push dword [ebp + 8]
call sym.MZKERNEL32.DLL_js_ValueToPrintableString
push eax
push 0xc6
push 0x200
push esi
push dword [ebp + 8]
call fcn.600bf1f7
add esp, 0x1c
push dword [ebp + 8]
call sym.MZKERNEL32.DLL_JS_LeaveLocalRootScope
pop ecx
xor eax, eax
jmp 0x600cbbfd
mov eax, dword [ebp + 0xc]
cmp word [eax], 0x3f
jne 0x600cbbdd
push dword [ebp - 0x10]
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.600cbd94
add esp, 0xc
push dword [ebp + 8]
call sym.MZKERNEL32.DLL_JS_LeaveLocalRootScope
test byte [ebp + 0x14], 0x20
pop ecx
je 0x600cbbfb
push ebx
push dword [ebp + 8]
call fcn.600d2c64
pop ecx
test eax, eax
pop ecx
je 0x600cbbbf
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret