Function at 0x10005017
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdac
movzx eax, byte [str.no_such_view]
mov ecx, dword [0x10026180]
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], 0x18
push esi
mov esi, dword [0x10026294]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x38], ebx
mov ebx, eax
push edi
mov dword [ebp - 0x30], 0x4e
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x28], 0xffffff92
mov edx, str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
mov al, 0x7b
sub al, 0x30
cmp al, 9
ja 0x10005075
inc edx
mov al, byte [edx]
test al, al
jne 0x10005066
jmp 0x1000507d
mov ecx, esi
xor ecx, 0x4dc40bee
push ecx
mov edx, ecx
call fcn.100011ca
add esp, 4
mov edi, 0x4d7
mov eax, str.no_such_view
mov edx, ebx
test ebx, ebx
je 0x100050c1
add edi, edx
inc eax
cmp edi, 0x24a7
ja 0x100050ac
movzx edx, byte [eax]
test edx, edx
jne 0x10005098
jmp 0x100050c1
push ecx
push ecx
mov edx, ecx
mov ecx, str.Ew_80tTH
call fcn.10001bd7
pop ecx
pop ecx
call fcn.1000189a
mov ecx, esi
imul edi, esi, 0xd0a183bc
call fcn.10001000
push 0x7b
mov edx, 0x1761
mov eax, str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
pop ecx
add edx, ecx
inc eax
cmp edx, 0x94c
ja 0x100050ef
movsx ecx, byte [eax]
test ecx, ecx
jne 0x100050db
jmp 0x10005103
push esi
push edi
mov ecx, str.auth_rsa
call fcn.10001674
pop ecx
pop ecx
imul esi, esi, 0x913c4d5
mov ecx, esi
or ecx, 0x1d138fd4
mov edx, dword [ebp - 0x38]
or edi, 0xb39d0a21
mov dword [0x1002602c], edi
mov edi, dword [ebp - 0xb4]
sub edi, dword [ebp + edx*4 - 0x34]
inc edx
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0x38], edx
cmp edx, 4
jl 0x1000505f
lea eax, [ecx - 0x419bd179]
mov dword [0x10026180], ecx
mov dword [0x10026294], eax
call fcn.10005010
push 0
pop ebx
mov eax, dword [eax + 0xc]
add eax, 0x14
mov dword [ebp - 0x3c], eax
mov ecx, dword [eax]
mov dword [ebp - 0x38], ecx
cmp ecx, eax
je 0x100066dd
push 0x19
pop eax
mov dword [ebp - 0xd0], eax
mov byte [ebp - 0x82], al
mov byte [ebp - 0x1b], al
push 0xa
pop eax
mov byte [ebp - 0x4c], al
push 8
pop eax
mov byte [ebp - 0x46], al
mov byte [ebp - 0x34], al
mov eax, dword [0x10026180]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10026294]
mov dword [ebp - 0x88], 0x9cc6201f
mov word [ebp - 0x84], 0x15c8
mov dword [ebp - 0x81], 0x3adae106
mov byte [ebp - 0x7d], 0x22
mov dword [ebp - 0x94], 0x8c47872e
mov dword [ebp - 0x90], 0xe8ae5b97
mov dword [ebp - 0x8c], 0xaffcc298
mov dword [ebp - 0x64], 0x8a9759b7
mov dword [ebp - 0x60], 0xdb516780
mov word [ebp - 0x5c], 0x7d1f
mov byte [ebp - 0x5a], 0x7a
mov dword [ebp - 0xb0], 0x9443b5fb
mov dword [ebp - 0xac], 0x56de476d
mov dword [ebp - 0xa8], 0x23f892a5
mov byte [ebp - 0xa4], 0xc6
mov dword [ebp - 0x70], 0xdd3608d
mov dword [ebp - 0x6c], 0x3e99c1e2
mov word [ebp - 0x68], 0xa2c8
mov byte [ebp - 0x66], 4
mov dword [ebp - 0xa0], 0x204bc76c
mov dword [ebp - 0x9c], 0xfcf2a6c7
mov dword [ebp - 0x98], 0xf64c65f1
mov dword [ebp - 0x24], 0xb01d0662
mov dword [ebp - 0x20], 0x1b946cf0
mov byte [ebp - 0x1c], 0xa8
mov word [ebp - 0x1a], 0xc8b6
mov dword [ebp - 0x4b], 0x497368b1
mov byte [ebp - 0x47], 0xc4
mov word [ebp - 0x45], 0x9cb2
mov dword [ebp - 0x7c], 0x8ea3c3c5
mov dword [ebp - 0x78], 0xd9429797
mov word [ebp - 0x74], 0xfaae
mov byte [ebp - 0x72], 0xb7
mov dword [ebp - 0x33], 0x88689ee4
mov dword [ebp - 0x2f], 0x62c0c96f
mov dword [ebp - 0x2b], 0x77f9405c
mov dword [ebp - 0x58], 0x56939c1d
mov dword [ebp - 0x54], 0xbd6886e7
mov word [ebp - 0x50], 0x1ad3
push 9
pop ecx
mov esi, str.._AVInvertibleRSAFunction_CryptoPP__
mov dword [ebp - 8], ebx
lea edi, [ebp - 0x2ac]
rep movsd dword es:[edi], dword [esi]
lea edx, [eax + 0x78e5f08]
mov eax, ebx
mov dword [ebp - 4], edx
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x3ac], al
inc eax
cmp eax, 0x100
jb 0x100052cf
mov esi, edx
mov edi, ebx
and esi, 0xf1eb8037
sub esi, 0x8b4cf83
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 8]
push 0x24
xor edx, edx
mov bl, byte [ebp + edi - 0x3ac]
pop ecx
mov eax, edi
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x2ac]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x3ac]
mov byte [ebp + edi - 0x3ac], al
call fcn.1000189a
inc edi
mov byte [ebp + esi - 0x3ac], bl
cmp edi, 0x100
jb 0x100052f4
imul eax, dword [ebp - 0x14], 0xaa4fc1d6
xor ebx, ebx
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 4]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], eax
mov eax, ebx
mov dl, byte [str.no_such_view]
inc eax
movzx eax, al
mov ecx, str.no_such_view
mov dword [ebp - 4], eax
test dl, dl
je 0x10005383
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x1000537a
inc ecx
mov al, byte [ecx]
test al, al
jne 0x1000536b
jmp 0x10005383
lea eax, [esi - 0x5c2d0fc1]
mov dword [ebp - 8], eax
mov esi, edi
mov eax, ebx
xor esi, 0x740706a4
add esi, 0x7607c26c
mov dword [ebp - 0x10], esi
test dl, dl
je 0x100053c3
inc eax
cmp eax, 0x15a6
jl 0x100053b8
cmp byte [eax + str.no_such_view], bl
jne 0x1000539a
cmp eax, 0x248b
jle 0x100053c3
call fcn.1000189a
jmp 0x100053c3
mov esi, edi
xor esi, 0x2a5881b
mov dword [ebp - 0x10], esi
push ecx
or edi, 0x98ad449c
mov ecx, str.InternetSetOptionW
push str.no_such_view
add edi, 0x646e9774
call fcn.1000133e
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 4]
pop ecx
pop ecx
mov cl, byte [ebp + eax - 0x3ac]
mov eax, dword [ebp - 0x14]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x14], eax
mov al, byte [ebp + eax - 0x3ac]
mov byte [ebp + esi - 0x3ac], al
mov eax, dword [ebp - 0x14]
mov byte [ebp + eax - 0x3ac], cl
mov eax, esi
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x3ac]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3ac]
xor al, byte [ebp + ecx - 0x88]
movzx eax, al
mov word [ebp + ecx*2 - 0x1b0], ax
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0xc
jae 0x10005453
mov eax, dword [ebp - 4]
jmp 0x10005353
mov dword [ebp - 4], edi
mov esi, str.product_language:
lea edi, [ebp - 0xcc]
xor eax, eax
push 0x7b
mov word [ebp - 0x198], ax
mov edx, 0xd38
movsd dword es:[edi], dword [esi]
mov eax, str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
imul esi, dword [ebp - 8], 0x6490e447
add edx, ecx
inc eax
cmp edx, 0x94b
ja 0x10005499
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10005485
jmp 0x100054aa
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
xor esi, 0x907d30d0
call fcn.1000120e
add esi, 0xf396112c
mov dword [ebp - 8], ebx
mov eax, ebx
mov byte [ebp + eax - 0x4ac], al
inc eax
cmp eax, 0x100
jb 0x100054b5
push ecx
lea eax, [esi + 0x454817bf]
mov ecx, str.sect409r1
push str.no_such_view
mov dword [ebp - 0x18], eax
call fcn.1000133e
pop ecx
and esi, 0x280ca17f
mov edi, ebx
pop ecx
imul edx, esi, 0x23df89a5
push 9
mov ecx, str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
mov al, 0x7b
pop ebx
sub al, 0x30
cmp al, bl
ja 0x10005506
inc ecx
mov al, byte [ecx]
test al, al
jne 0x100054f7
jmp 0x10005509
mov dword [ebp - 0x18], edx
add edx, 0x2fe109fe
mov bl, byte [ebp + edi - 0x4ac]
mov dword [ebp - 0x10], edx
mov eax, edi
xor edx, edx
sub esi, 0x15cdaa5a
push 0x12
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xcc]
add eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x4ac]
mov byte [ebp + edi - 0x4ac], al
inc edi
mov byte [ebp + ecx - 0x4ac], bl
cmp edi, 0x100
jb 0x100054ed
xor ebx, ebx
imul eax, dword [ebp - 0x18], 0xe328f758
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x10], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x4ac]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x4ac]
mov byte [ebp + edi - 0x4ac], al
mov byte [ebp + ebx - 0x4ac], cl
movzx eax, byte [ebp + edi - 0x4ac]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x4ac]
xor al, byte [ebp + esi - 0x94]
movzx eax, al
mov word [ebp + esi*2 - 0x1cc], ax
inc esi
cmp esi, 0xc
jb 0x1000556f
mov esi, str.SIZE_501_TO_1000
lea edi, [ebp - 0x194]
xor ebx, ebx
xor eax, eax
mov word [ebp - 0x1b4], ax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x5ac], al
inc eax
cmp eax, 0x100
jb 0x100055e3
mov esi, ebx
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp + esi - 0x5ac]
mov eax, esi
and eax, 0xf
movzx ecx, dl
or ebx, 0x98032ff4
movzx eax, byte [ebp + eax - 0x194]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x5ac]
mov byte [ebp + esi - 0x5ac], al
inc esi
mov byte [ebp + edi - 0x5ac], dl
cmp esi, 0x100
jb 0x100055f7
mov dword [ebp - 0x10], ebx
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x5ac]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x5ac]
mov byte [ebp + edi - 0x5ac], al
mov byte [ebp + ebx - 0x5ac], cl
movzx eax, byte [ebp + edi - 0x5ac]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x5ac]
xor al, byte [ebp + esi - 0x64]
movzx eax, al
mov word [ebp + esi*2 - 0x168], ax
inc esi
cmp esi, 0xb
jb 0x10005642
mov esi, str.AWAVVWSH
lea edi, [ebp - 0xdc]
xor ebx, ebx
xor eax, eax
mov word [ebp - 0x152], ax
mov dword [ebp - 4], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x6ac], al
inc eax
cmp eax, 0x100
jb 0x100056b2
mov dl, byte [str.no_such_view]
mov edi, dword [ebp - 0x10]
mov byte [ebp - 9], dl
jmp 0x100056d2
mov dl, byte [ebp - 9]
mov cl, byte [ebp + ebx - 0x6ac]
mov eax, ebx
and eax, 7
mov byte [ebp - 0xa], cl
movzx ecx, cl
movzx eax, byte [ebp + eax - 0xdc]
add eax, dword [ebp - 4]
add ecx, eax
movzx eax, cl
mov dword [ebp - 4], eax
movzx ecx, dl
mov eax, edi
mov dword [ebp - 8], 0x1c4e
or eax, 0xf36cef6c
lea esi, [edi + 0xd680970]
mov edx, str.no_such_view
test ecx, ecx
je 0x1000574d
mov eax, dword [ebp - 8]
add eax, ecx
inc edx
cmp eax, 0x1859
ja 0x1000572d
movzx ecx, byte [edx]
test ecx, ecx
jne 0x1000571a
jmp 0x1000575b
push ecx
push str.no_such_view
mov edx, esi
mov ecx, edi
call fcn.10001c3e
pop ecx
pop ecx
mov cl, byte [str.no_such_view]
imul eax, edi, 0xf93a0dab
mov byte [ebp - 9], cl
push eax
push eax
mov ecx, str..netrc_parser_error
call fcn.10001674
pop ecx
pop ecx
call fcn.100019bc
mov ecx, dword [ebp - 4]
lea edi, [esi + 0x671c01ad]
mov al, byte [ebp + ecx - 0x6ac]
mov byte [ebp + ebx - 0x6ac], al
inc ebx
mov al, byte [ebp - 0xa]
mov byte [ebp + ecx - 0x6ac], al
cmp ebx, 0x100
jb 0x100056cf
movzx edx, byte [ebp - 9]
xor ebx, ebx
mov ecx, ebx
mov dword [ebp - 8], ebx
mov eax, ebx
mov dword [ebp - 4], edx
inc eax
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x6ac]
mov byte [ebp - 0xa], al
movzx eax, al
add eax, ecx
and edi, 0x7f554a66
movzx edx, al
mov eax, ebx
mov dword [ebp - 0x18], edx
inc eax
cmp eax, 0x164a
jg 0x100057d4
cmp byte [eax + str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE], bl
jne 0x100057c2
jmp 0x100057ef
push ecx
push str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
mov ecx, str.id_tc26_gost_3410_2012_512_constants
call fcn.1000133e
mov edx, dword [ebp - 0x18]
add edi, 0x32680409
pop ecx
pop ecx
imul eax, edi, 0xda34891b
mov dword [ebp - 0x14], eax
mov al, byte [ebp + edx - 0x6ac]
lea edi, [esi - 0x7d4da96f]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
mov byte [ebp + ecx - 0x6ac], al
mov ecx, esi
mov al, byte [ebp - 0xa]
mov byte [ebp + edx - 0x6ac], al
mov edx, 0x178c
mov eax, str.no_such_view
test esi, esi
je 0x10005849
add edx, ecx
inc eax
cmp edx, 0x26c3
ja 0x10005840
movzx ecx, byte [eax]
test ecx, ecx
jne 0x1000582c
jmp 0x10005849
mov edi, dword [ebp - 0x14]
and edi, 0x43d67dc7
mov eax, dword [ebp - 0x10]
imul esi, edi, 0x2d79dce2
movzx ecx, byte [ebp + eax - 0x6ac]
movzx eax, byte [ebp - 0xa]
add ecx, eax
movzx eax, cl
mov ecx, dword [ebp - 8]
mov al, byte [ebp + eax - 0x6ac]
xor al, byte [ebp + ecx - 0xb0]
movzx eax, al
mov word [ebp + ecx*2 - 0x234], ax
inc ecx
mov eax, dword [ebp - 0x10]
cmp ecx, 0xd
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x18]
jb 0x1000579e
xor eax, eax
mov dword [ebp - 8], esi
mov word [ebp - 0x21a], ax
mov al, byte [ebp - 9]
mov ecx, str.no_such_view
test al, al
je 0x100058c5
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x100058bc
inc ecx
mov al, byte [ecx]
test al, al
jne 0x100058ad
jmp 0x100058c5
and esi, 0xb5cfbabd
mov dword [ebp - 8], esi
push 6
pop ecx
mov esi, str.delete_from_segment_usage
lea edi, [ebp - 0x284]
rep movsd dword es:[edi], dword [esi]
mov eax, ebx
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0x7ac], al
inc eax
cmp eax, 0x100
jb 0x100058db
mov esi, dword [ebp - 8]
mov eax, ebx
mov dword [ebp - 0x10], eax
mov cl, byte [ebp + eax - 0x7ac]
xor edx, edx
div dword [ebp - 0xd0]
mov byte [ebp - 0xa], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x284]
mov edx, 0x19c4
add eax, edi
add ecx, eax
movzx eax, cl
mov ecx, str.no_such_view
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 9]
jmp 0x10005937
add edx, eax
inc ecx
cmp edx, 0xbf0
ja 0x1000593d
movzx eax, byte [ecx]
test eax, eax
jne 0x10005929
jmp 0x10005942
call fcn.1000102d
mov ecx, dword [ebp - 0x10]
mov edi, esi
xor edi, 0x1e91ff9e
mov edx, 0xe44
imul eax, esi, 0x894120b7
push 0x7b
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov al, byte [ebp + eax - 0x7ac]
mov byte [ebp + ecx - 0x7ac], al
mov eax, str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
pop ecx
add edx, ecx
inc eax
cmp edx, 0x2257
ja 0x10005988
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10005974
jmp 0x100059a3
call fcn.1000102d
mov edi, esi
xor edi, 0x31a770f7
call fcn.10001426
mov esi, dword [ebp - 0x18]
or esi, 0x8b744215
imul ecx, esi, 0x1ef4f5b5
mov eax, ebx
mov dword [ebp - 0x18], ecx
cmp byte [ebp - 9], al
je 0x100059ca
inc eax
cmp eax, 0x1795
jg 0x10005a0e
cmp byte [eax + str.no_such_view], bl
jne 0x100059b3
cmp eax, 0x13d8
jg 0x10005a21
mov cl, byte [ebp - 9]
mov esi, edi
and esi, 0x6b8807cc
mov edi, dword [ebp - 8]
mov al, byte [ebp - 0xa]
mov byte [ebp + edi - 0x7ac], al
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, 0x100
jb 0x100058f2
mov edi, ebx
mov eax, ebx
test cl, cl
je 0x10005a45
inc eax
cmp eax, 0x2540
je 0x10005a33
cmp byte [eax + str.no_such_view], bl
jne 0x100059fc
jmp 0x10005a45
push ecx
mov edx, ecx
call fcn.100011ca
mov edi, esi
add esp, 4
and edi, 0xfd3980af
mov edx, ecx
call fcn.1000120e
mov cl, byte [str.no_such_view]
mov byte [ebp - 9], cl
jmp 0x100059cd
push ecx
push str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
mov ecx, str.AVKService.exe
call fcn.1000133e
pop ecx
pop ecx
mov eax, dword [ebp - 0x18]
mov esi, ebx
and eax, 0xf6dc6fbb
imul eax, eax, 0x3657064f
mov dword [ebp - 0x18], eax
lea eax, [edi + 1]
movzx edi, al
call fcn.1000102d
mov cl, byte [ebp + edi - 0x7ac]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x7ac]
mov byte [ebp + edi - 0x7ac], al
mov byte [ebp + ebx - 0x7ac], cl
movzx eax, byte [ebp + edi - 0x7ac]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x7ac]
xor al, byte [ebp + esi - 0x70]
movzx eax, al
mov word [ebp + esi*2 - 0x180], ax
inc esi
cmp esi, 0xb
jb 0x10005a58
mov esi, 0x1001e120
lea edi, [ebp - 0x100]
xor eax, eax
xor ebx, ebx
mov word [ebp - 0x16a], ax
mov eax, dword [ebp - 0x18]
movsd dword es:[edi], dword [esi]
add eax, 0xeefea504
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
imul edi, eax, 0xcfffb02c
xor edi, 0x722fe41f
call fcn.1000156a
or edi, 0x6a53641e
mov eax, ebx
mov dword [ebp - 0x10], edi
mov byte [ebp + eax - 0x8ac], al
inc eax
cmp eax, 0x100
jb 0x10005af0
mov esi, ebx
mov edi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x8ac]
push 0xa
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x100]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x8ac]
mov byte [ebp + esi - 0x8ac], al
inc esi
mov byte [ebp + edi - 0x8ac], bl
cmp esi, 0x100
jb 0x10005b03
mov edi, dword [ebp - 0x10]
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov eax, ebx
inc eax
lea esi, [edi + 0x10e9220c]
movzx eax, al
mov dword [ebp - 4], eax
mov edi, dword [ebp - 4]
mov cl, byte [ebp + eax - 0x8ac]
mov eax, dword [ebp - 0x10]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x8ac]
mov byte [ebp + edi - 0x8ac], al
mov eax, dword [ebp - 0x10]
imul edi, esi, 0xd14cf043
mov byte [ebp + eax - 0x8ac], cl
mov eax, dword [ebp - 4]
movzx eax, byte [ebp + eax - 0x8ac]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x8ac]
xor al, byte [ebp + ebx - 0xa0]
movzx eax, al
mov word [ebp + ebx*2 - 0x1e8], ax
inc ebx
mov eax, dword [ebp - 4]
cmp ebx, 0xc
jb 0x10005b4d
mov cl, byte [ebp - 9]
and esi, 0xe4042006
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x10], edi
mov esi, str.Loading
lea edi, [ebp - 0xe8]
mov word [ebp - 0x1d0], ax
xor ebx, ebx
mov eax, str.no_such_view
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
test cl, cl
je 0x10005c08
push 9
pop edx
sub cl, 0x30
cmp cl, dl
ja 0x10005cc1
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x10005bf6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
imul esi, eax, 0x682a4dfe
push esi
push ecx
mov ecx, str.block_type_is_not_02
call fcn.10001674
pop ecx
pop ecx
mov eax, ebx
mov byte [ebp + eax - 0x9ac], al
inc eax
cmp eax, 0x100
jb 0x10005c24
mov edi, ebx
mov dl, byte [ebp + edi - 0x9ac]
mov eax, edi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0xe8]
add eax, ebx
add ecx, eax
movzx ebx, cl
mov al, byte [ebp + ebx - 0x9ac]
mov byte [ebp + edi - 0x9ac], al
inc edi
mov byte [ebp + ebx - 0x9ac], dl
cmp edi, 0x100
jb 0x10005c35
mov al, byte [str.no_such_view]
and esi, 0x9b9034bc
xor ebx, ebx
mov dword [ebp - 0x10], esi
mov ecx, str.no_such_view
test al, al
je 0x10005c9a
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x10005cd2
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10005c8d
mov eax, dword [ebp - 4]
lea esi, [eax + 0x4cdda383]
call fcn.10001b21
push 9
mov ecx, str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
mov al, 0x7b
pop edx
sub al, 0x30
cmp al, dl
ja 0x10005cdb
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10005cb2
jmp 0x10005ce1
mov ecx, dword [ebp - 0x10]
lea eax, [ecx - 0x5f38bb1d]
mov dword [ebp - 4], eax
jmp 0x10005c0e
imul eax, dword [ebp - 4], 0xd240e20
jmp 0x10005c9d
xor esi, 0xd378d099
mov edi, esi
or edi, 0xdbbcbe51
call fcn.10001b21
mov dword [ebp - 4], ebx
mov edx, ebx
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x9ac]
movzx eax, cl
add eax, dword [ebp - 4]
sub esi, 0x5d3668d4
movzx eax, al
mov dword [ebp - 4], eax
mov byte [ebp - 0xa], cl
mov al, byte [ebp + eax - 0x9ac]
mov byte [ebp + ebx - 0x9ac], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x9ac], cl
mov ecx, str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
mov al, 0x7b
sub al, 0x30
cmp al, 9
ja 0x10005d43
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10005d34
jmp 0x10005d49
imul esi, edi, 0x1ff76f7
movzx eax, byte [ebp - 0xa]
xor esi, 0xa834c9ff
movzx ecx, byte [ebp + ebx - 0x9ac]
add ecx, eax
movzx eax, cl
mov al, byte [ebp + eax - 0x9ac]
xor al, byte [ebp + edx - 0x24]
movzx eax, al
mov word [ebp + edx*2 - 0x204], ax
inc edx
cmp edx, 0xc
jb 0x10005cf3
mov dword [ebp - 8], esi
lea edi, [ebp - 0xf4]
mov esi, str.id_pkinit
xor ebx, ebx
xor eax, eax
mov word [ebp - 0x1ec], ax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0xaac], al
inc eax
cmp eax, 0x100
jb 0x10005d9f
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0xaac]
push 9
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xf4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0xaac]
mov byte [ebp + esi - 0xaac], al
inc esi
mov byte [ebp + edi - 0xaac], bl
cmp esi, 0x100
jb 0x10005db0
mov esi, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 4], edx
mov ebx, edx
mov edi, edx
imul ecx, dword [ebp - 0x10], 0x3ac5f907
lea eax, [ebx + 1]
movzx ebx, al
mov al, byte [ebp + ebx - 0xaac]
mov byte [ebp - 0xa], al
movzx eax, al
add eax, dword [ebp - 4]
movzx eax, al
mov dword [ebp - 4], eax
mov eax, edx
inc eax
cmp eax, 0x16a
jl 0x10005e33
cmp byte [eax + str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE], dl
jne 0x10005e21
jmp 0x10005e3b
mov ecx, esi
xor ecx, 0x7208064b
or ecx, 0x71a1faae
mov dword [ebp - 0x10], ecx
mov esi, ecx
mov ecx, dword [ebp - 4]
or esi, 0x44c963ab
push 9
mov al, byte [ebp + ecx - 0xaac]
mov byte [ebp + ebx - 0xaac], al
mov al, byte [ebp - 0xa]
mov byte [ebp + ecx - 0xaac], al
movzx ecx, byte [ebp + ebx - 0xaac]
movzx eax, al
add ecx, eax
movzx eax, cl
mov al, byte [ebp + eax - 0xaac]
xor al, byte [ebp + edi - 0x4c]
movzx eax, al
mov word [ebp + edi*2 - 0x120], ax
inc edi
pop eax
cmp edi, eax
jb 0x10005dfc
push 6
pop ecx
mov esi, str.Protocol_is_unsupported
lea edi, [ebp - 0x268]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov word [ebp - 0x10e], ax
mov edi, edx
mov byte [ebp + eax - 0xbac], al
inc eax
cmp eax, 0x100
jb 0x10005eb4
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0xbac]
push 0x17
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x268]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0xbac]
mov byte [ebp + esi - 0xbac], al
inc esi
mov byte [ebp + edi - 0xbac], bl
cmp esi, 0x100
jb 0x10005ec5
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0xbac]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0xbac]
mov byte [ebp + edi - 0xbac], al
mov byte [ebp + ebx - 0xbac], cl
movzx eax, byte [ebp + edi - 0xbac]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0xbac]
xor al, byte [ebp + esi - 0x7c]
movzx eax, al
mov word [ebp + esi*2 - 0x150], ax
inc esi
cmp esi, 0xb
jb 0x10005f0b
mov esi, 0x1001e190
lea edi, [ebp - 0x218]
xor ebx, ebx
xor eax, eax
mov word [ebp - 0x13a], ax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0xcac], al
inc eax
cmp eax, 0x100
jb 0x10005f7d
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0xcac]
push 0x11
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x218]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0xcac]
mov byte [ebp + esi - 0xcac], al
inc esi
mov byte [ebp + edi - 0xcac], bl
cmp esi, 0x100
jb 0x10005f8e
mov eax, dword [ebp - 0x10]
xor ebx, ebx
and eax, 0x9b340c23
mov edi, ebx
mov dword [ebp - 4], eax
mov esi, ebx
mov dword [0x10026294], eax
lea eax, [esi + 1]
movzx esi, al
mov cl, byte [ebp + esi - 0xcac]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0xcac]
mov byte [ebp + esi - 0xcac], al
mov byte [ebp + ebx - 0xcac], cl
movzx eax, byte [ebp + esi - 0xcac]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0xcac]
xor al, byte [ebp + edi - 0x34]
movzx eax, al
mov word [ebp + edi*2 - 0x250], ax
inc edi
cmp edi, 0xd
jb 0x10005fe4
mov esi, str.0x_02I64X
lea edi, [ebp - 0x10c]
xor ebx, ebx
xor eax, eax
mov word [ebp - 0x236], ax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0xdac], al
inc eax
cmp eax, 0x100
jb 0x10006055
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0xdac]
push 0xa
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x10c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0xdac]
mov byte [ebp + esi - 0xdac], al
inc esi
mov byte [ebp + edi - 0xdac], bl
cmp esi, 0x100
jb 0x10006066
mov esi, dword [ebp - 0x10]
xor ebx, ebx
add esi, 0xcbf5821c
mov edi, ebx
mov dword [ebp - 0x14], esi
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
push 0xa
mov cl, byte [ebp + edi - 0xdac]
movzx edx, cl
lea eax, [esi + edx]
movzx esi, al
mov al, byte [ebp + esi - 0xdac]
mov byte [ebp + edi - 0xdac], al
mov byte [ebp + esi - 0xdac], cl
movzx eax, byte [ebp + edi - 0xdac]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0xdac]
xor al, byte [ebp + ebx - 0x58]
movzx eax, al
mov word [ebp + ebx*2 - 0x138], ax
inc ebx
pop eax
cmp ebx, eax
jb 0x100060b8
mov esi, dword [ebp - 0x14]
xor ebx, ebx
mov edi, dword [ebp - 0x10]
mov eax, ebx
cmp byte [str.no_such_view], al
je 0x10006144
inc eax
cmp eax, 0x1ab2
je 0x10006139
cmp byte [eax + str.no_such_view], bl
jne 0x10006120
cmp eax, 0x11c7
jle 0x10006144
jmp 0x1000613f
lea edi, [esi - 0x70084a7a]
call fcn.1000189a
xor esi, 0x3b50b0
mov dword [0x10026180], esi
mov ecx, dword [ebp - 0x38]
and edi, 0xb52e76fb
xor eax, eax
mov dword [ebp - 0x10], edi
mov dword [0x1002602c], edi
mov word [ebp - 0x124], ax
mov ecx, dword [ecx + 0x20]
mov dword [ebp - 0x14], ecx
call fcn.10004fa3
lea edx, [ebp - 0x1b0]
call fcn.1001316e
test eax, eax
je 0x100066ad
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x1cc]
call fcn.1001316e
test eax, eax
je 0x10006614
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x168]
call fcn.1001316e
test eax, eax
je 0x100065ed
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x234]
call fcn.1001316e
test eax, eax
je 0x100065cd
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x180]
call fcn.1001316e
test eax, eax
je 0x10006599
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x1e8]
call fcn.1001316e
test eax, eax
je 0x10006555
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x204]
call fcn.1001316e
test eax, eax
je 0x10006503
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x120]
call fcn.1001316e
test eax, eax
je 0x100064bf
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x150]
call fcn.1001316e
test eax, eax
je 0x1000641e
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x250]
call fcn.1001316e
test eax, eax
je 0x100063ba
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x138]
call fcn.1001316e
test eax, eax
je 0x1000632c
movzx eax, byte [str.no_such_view]
mov ecx, str.no_such_view
mov dword [ebp - 0x10], 0x19fb
mov edx, eax
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x10006298
add dword [ebp - 0x10], edx
inc ecx
cmp dword [ebp - 0x10], 0xf09
ja 0x100062b6
movzx edx, byte [ecx]
test edx, edx
jne 0x10006284
mov edi, dword [ebp - 4]
and esi, 0x124e87ce
mov edx, 0x2396
mov dword [ebp - 0x14], esi
mov ecx, str.no_such_view
mov dword [0x10026180], esi
jmp 0x100062ee
push ecx
push ecx
mov edx, edi
mov ecx, str.ActiveSegments
call fcn.10001bd7
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0xb8]
sub edi, 0x7260409e
pop ecx
pop ecx
mov dword [ebp - 4], edi
mov dword [0x10026294], edi
jmp 0x1000629b
add edx, eax
inc ecx
cmp edx, 0x19ec
ja 0x100062f4
movzx eax, byte [ecx]
test eax, eax
jne 0x100062e0
jmp 0x10006308
call fcn.1000102d
lea esi, [edi + 0x4a23e76b]
mov dword [ebp - 0x14], esi
mov dword [0x10026180], esi
call fcn.1000156a
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
jne 0x100052b0
mov edi, dword [ebp - 0xb4]
jmp 0x100066e3
imul edi, dword [ebp - 4], 0x11652a1b
mov eax, ebx
cmp byte [str.no_such_view], al
je 0x10006378
inc eax
cmp eax, 0x888
jl 0x10006362
cmp byte [eax + str.no_such_view], bl
jne 0x1000633d
cmp eax, 0x1772
jle 0x10006378
imul eax, dword [ebp - 0x10], 0xea6c80ca
mov dword [0x1002602c], eax
jmp 0x1000637e
push ecx
push ecx
mov edx, esi
mov ecx, str.SongBird2
call fcn.10001bd7
pop ecx
pop ecx
imul edi, edi, 0x96138515
xor edi, 0x179892f2
imul eax, edi, 0xd1759426
push 0x25
pop ecx
mov dword [ebp - 0x24], 0x35
mov dword [ebp - 0x20], 0x3b
mov dword [0x10026294], eax
or eax, 0xe81b7e27
mov dword [ebp - 0x1c], 0xffffff6c
mov dword [0x10026180], eax
add ecx, dword [ebp + ebx*4 - 0x24]
inc ebx
cmp ebx, 3
jl 0x100063ab
jmp 0x1000654e
mov eax, esi
mov dword [ebp - 0xcc], 5
and eax, 0x3fc10430
mov dword [ebp - 0xc8], 0x18
mov dword [0x1002602c], eax
or esi, 0xe85e1829
imul eax, esi, 0xa3a9e0eb
push 0xd
mov dword [ebp - 0xc4], 0x1f
mov dword [ebp - 0xc0], 0x1c
mov dword [ebp - 0xbc], 0xffffffb4
mov dword [0x10026294], eax
pop eax
sub eax, dword [ebp + ebx*4 - 0xcc]
inc ebx
cmp ebx, 5
jl 0x1000640c
jmp 0x100066f1
mov eax, ebx
inc eax
cmp eax, 0x191e
je 0x10006443
cmp byte [eax + str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE], bl
jne 0x10006420
mov edi, dword [ebp - 4]
cmp eax, 0x2652
jle 0x1000645d
mov edx, edi
call fcn.1000120e
jmp 0x1000645d
push ecx
mov edx, esi
call fcn.100011ca
mov edi, dword [ebp - 4]
add esp, 4
add edi, 0x1ae0bdcf
mov dword [0x10026294], edi
lea eax, [edi - 0x465a1b50]
mov dword [0x1002602c], eax
or esi, 0xf8191d87
mov dword [0x10026180], esi
call fcn.1000189a
push 0x12
pop eax
push 8
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], 0x29
mov dword [ebp - 0xc8], 0x5f
mov dword [ebp - 0xc4], 0x18
mov dword [ebp - 0xbc], 0xffffff55
pop eax
sub eax, dword [ebp + ebx*4 - 0xcc]
inc ebx
cmp ebx, 5
jl 0x100064ad
jmp 0x100066f1
mov dword [ebp - 0x34], 0x40
mov dword [ebp - 0x30], 0x3e
mov dword [ebp - 0x2c], 0x16
mov dword [ebp - 0x28], 0xffffff3d
movups xmm1, xmmword [ebp - 0x34]
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x30
jmp 0x100066f1
push 0x54
pop ecx
mov dword [ebp - 0x40], 0x2c
mov dword [ebp - 0x3c], 0xffffff81
mov edx, str.9B4CD3E6_4981_101B_9CA8_9240CE2738AE
mov al, 0x7b
sub al, 0x30
cmp al, 9
ja 0x1000652a
inc edx
mov al, byte [edx]
test al, al
jne 0x1000651b
jmp 0x10006538
mov esi, edi
xor esi, 0x98e07c90
mov dword [0x10026180], esi
add ecx, dword [ebp + ebx*4 - 0x40]
lea edi, [esi + 0x1014032c]
inc ebx
cmp ebx, 2
jl 0x10006514
mov dword [0x1002602c], edi
mov eax, ecx
jmp 0x100066f1
mov dword [ebp - 0x34], 0x1c
mov dword [ebp - 0x30], 0x16
mov dword [ebp - 0x2c], 0x2e
mov dword [ebp - 0x28], 0xffffff68
movups xmm1, xmmword [ebp - 0x34]
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x39
jmp 0x100066f1
mov eax, dword [ebp - 4]
add eax, 0x6ad33528
mov dword [ebp - 0x24], 0x22
push 0xb
mov dword [0x1002602c], eax
mov dword [ebp - 0x20], 0x48
mov dword [ebp - 0x1c], 0xffffffa0
pop eax
sub eax, dword [ebp + ebx*4 - 0x24]
inc ebx
cmp ebx, 3
jl 0x100065be
jmp 0x100066f1
push 0x3f
pop eax
mov dword [ebp - 0x40], 0x29
mov dword [ebp - 0x3c], 0xffffff99
add eax, dword [ebp + ebx*4 - 0x40]
inc ebx
cmp ebx, 2
jl 0x100065de
jmp 0x100066f1
push 0x14
mov dword [ebp - 0x24], 0xd
mov dword [ebp - 0x20], 0x1b
mov dword [ebp - 0x1c], 0xffffffc5
pop eax
add eax, dword [ebp + ebx*4 - 0x24]
inc ebx
cmp ebx, 3
jl 0x10006605
jmp 0x100066f1
mov dword [ebp - 0x34], 0x32
and edi, 0x999afa9d
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x2c], 0x18
mov dword [ebp - 0x28], 0xffffffa6
movups xmm1, xmmword [ebp - 0x34]
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0xc
mov dword [ebp - 0x3c], eax
lea eax, [esi - 0x42c8dfd]
mov dword [0x10026180], eax
cmp byte [str.no_such_view], bl
je 0x1000668e
inc ebx
cmp ebx, 0x16d
jg 0x10006681
cmp byte [ebx + str.no_such_view], 0
jne 0x1000666f
cmp ebx, 0x5e3
jle 0x1000668e
call fcn.1000189a
mov ecx, edi
and ecx, 0x8c7e3529
mov dword [0x1002602c], ecx
mov eax, dword [ebp - 0x3c]
imul ecx, edi, 0x535d15a9
mov dword [0x10026294], ecx
jmp 0x100066f1
and esi, 0x5837779d
mov dword [ebp - 0x24], 0x14
push 0xb
mov dword [0x10026180], esi
mov dword [ebp - 0x20], 0x22
mov dword [ebp - 0x1c], 0xffffffd4
pop eax
sub eax, dword [ebp + ebx*4 - 0x24]
inc ebx
cmp ebx, 3
jl 0x100066d1
jmp 0x100066f1
mov esi, dword [0x10026180]
imul ecx, esi, 0xa9c6741
mov eax, edi
mov dword [0x1002602c], ecx
pop edi
pop esi
pop ebx
leave
ret