Function at 0x58f290
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x58f2a3
xor eax, eax
pop ebp
add esp, 8
ret
push ebx
push esi
push edi
mov ebx, 0x50
push 0x51
mov dword [esp + 0x14], ebx
call dword [0x89ad60]
mov edi, eax
add esp, 4
test edi, edi
jne 0x58f2e5
call fcn.00555e90
mov esi, eax
call fcn.00555ed0
mov eax, dword [eax]
mov ecx, dword [esi]
push str.xmlSaveUri:_out_of_memory_n
push eax
call ecx
add esp, 8
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov eax, dword [ebp]
xor esi, esi
test eax, eax
je 0x58f351
mov ebp, eax
cmp byte [ebp], 0
je 0x58f348
cmp esi, ebx
jl 0x58f314
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fdd4
mov edi, eax
mov al, byte [ebp]
mov byte [esi + edi], al
inc ebp
inc esi
cmp byte [ebp], 0
jne 0x58f2f6
cmp esi, ebx
mov dword [esp + 0x10], ebx
jl 0x58f348
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
mov dword [esp + 0x18], ebx
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fdd4
mov edi, eax
mov ebp, dword [esp + 0x1c]
mov byte [esi + edi], 0x3a
inc esi
mov eax, dword [ebp + 4]
test eax, eax
je 0x58f49a
mov ebx, eax
cmp byte [ebx], 0
je 0x58fc24
lea ebp, [esi + 3]
lea ebx, [ebx]
cmp ebp, dword [esp + 0x10]
jl 0x58f396
mov eax, dword [esp + 0x10]
add eax, eax
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fdd4
mov edi, eax
mov al, byte [ebx]
cmp al, 0x3b
je 0x58f486
cmp al, 0x2f
je 0x58f486
cmp al, 0x3f
je 0x58f486
cmp al, 0x3a
je 0x58f486
cmp al, 0x40
je 0x58f486
cmp al, 0x26
je 0x58f486
cmp al, 0x3d
je 0x58f486
cmp al, 0x2b
je 0x58f486
cmp al, 0x24
je 0x58f486
cmp al, 0x2c
je 0x58f486
cmp al, 0x5b
je 0x58f486
cmp al, 0x5d
je 0x58f486
cmp al, 0x61
jl 0x58f404
cmp al, 0x7a
jle 0x58f486
cmp al, 0x41
jl 0x58f40c
cmp al, 0x5a
jle 0x58f486
cmp al, 0x30
jl 0x58f414
cmp al, 0x39
jle 0x58f486
cmp al, 0x2d
je 0x58f486
cmp al, 0x5f
je 0x58f486
cmp al, 0x2e
je 0x58f486
cmp al, 0x21
je 0x58f486
cmp al, 0x7e
je 0x58f486
cmp al, 0x2a
je 0x58f486
cmp al, 0x27
je 0x58f486
cmp al, 0x28
je 0x58f486
cmp al, 0x29
je 0x58f486
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
jns 0x58f454
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + edi - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x58f48c
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x58f370
jmp 0x58fc24
cmp dword [ebp + 0xc], 0
je 0x58f6b6
lea eax, [esi + 3]
cmp eax, ebx
jl 0x58f4c9
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x18], ebx
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fc55
mov edi, eax
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
mov ebp, dword [ebp + 0x10]
inc esi
test ebp, ebp
je 0x58f61d
cmp byte [ebp], 0
mov dword [esp + 0x14], ebp
je 0x58f5f3
lea ebp, [esi + 3]
nop
cmp ebp, ebx
jl 0x58f50e
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fc55
mov edi, eax
mov edx, dword [esp + 0x14]
mov al, byte [edx]
cmp al, 0x61
jl 0x58f520
cmp al, 0x7a
jle 0x58f5d9
cmp al, 0x41
jl 0x58f52c
cmp al, 0x5a
jle 0x58f5d9
cmp al, 0x30
jl 0x58f538
cmp al, 0x39
jle 0x58f5d9
cmp al, 0x2d
je 0x58f5d9
cmp al, 0x5f
je 0x58f5d9
cmp al, 0x2e
je 0x58f5d9
cmp al, 0x21
je 0x58f5d9
cmp al, 0x7e
je 0x58f5d9
cmp al, 0x2a
je 0x58f5d9
cmp al, 0x27
je 0x58f5d9
cmp al, 0x28
je 0x58f5d9
cmp al, 0x29
je 0x58f5d9
cmp al, 0x3b
je 0x58f5d9
cmp al, 0x3a
je 0x58f5d9
cmp al, 0x26
je 0x58f5d9
cmp al, 0x3d
je 0x58f5d9
cmp al, 0x2b
je 0x58f5d9
cmp al, 0x24
je 0x58f5d9
cmp al, 0x2c
je 0x58f5d9
inc dword [esp + 0x14]
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
jns 0x58f5a7
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + edi - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x58f5e2
mov byte [esi + edi], al
inc esi
inc ebp
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
jne 0x58f4f0
mov dword [esp + 0x10], ebx
lea ecx, [esi + 3]
cmp ecx, ebx
jl 0x58f618
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
mov dword [esp + 0x18], ebx
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fac0
mov edi, eax
mov byte [esi + edi], 0x40
inc esi
mov edx, dword [esp + 0x1c]
mov ebp, dword [edx + 0xc]
cmp byte [ebp], 0
je 0x58f660
lea ebx, [ebx]
cmp esi, ebx
jl 0x58f64e
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fc55
mov edi, eax
mov cl, byte [ebp]
mov byte [esi + edi], cl
inc ebp
inc esi
cmp byte [ebp], 0
jne 0x58f630
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x14], 0
jle 0x58f844
lea edx, [esi + 0xa]
cmp edx, ebx
jl 0x58f693
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
mov dword [esp + 0x18], ebx
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fdd4
mov edi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
push ecx
push 0x75418c
sub ebx, esi
lea edx, [esi + edi]
push ebx
push edx
call fcn.00645515
add esp, 0x10
add esi, eax
jmp 0x58f844
cmp dword [ebp + 8], 0
je 0x58f810
lea eax, [esi + 3]
cmp eax, ebx
jl 0x58f6e5
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x18], ebx
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fc55
mov edi, eax
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
mov ebp, dword [ebp + 8]
inc esi
cmp byte [ebp], 0
mov dword [esp + 0x14], ebp
je 0x58f844
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x58f721
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fc55
mov edi, eax
mov edx, dword [esp + 0x14]
mov al, byte [edx]
cmp al, 0x61
jl 0x58f733
cmp al, 0x7a
jle 0x58f7f4
cmp al, 0x41
jl 0x58f73f
cmp al, 0x5a
jle 0x58f7f4
cmp al, 0x30
jl 0x58f74b
cmp al, 0x39
jle 0x58f7f4
cmp al, 0x2d
je 0x58f7f4
cmp al, 0x5f
je 0x58f7f4
cmp al, 0x2e
je 0x58f7f4
cmp al, 0x21
je 0x58f7f4
cmp al, 0x7e
je 0x58f7f4
cmp al, 0x2a
je 0x58f7f4
cmp al, 0x27
je 0x58f7f4
cmp al, 0x28
je 0x58f7f4
cmp al, 0x29
je 0x58f7f4
cmp al, 0x24
je 0x58f7f4
cmp al, 0x2c
je 0x58f7f4
cmp al, 0x3b
je 0x58f7f4
cmp al, 0x3a
je 0x58f7f4
cmp al, 0x40
je 0x58f7f4
cmp al, 0x26
je 0x58f7f4
cmp al, 0x3d
je 0x58f7f4
cmp al, 0x2b
je 0x58f7f4
inc dword [esp + 0x14]
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
jns 0x58f7c2
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + edi - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x58f7fd
mov byte [esi + edi], al
inc esi
inc ebp
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
jne 0x58f703
mov dword [esp + 0x10], ebx
jmp 0x58f844
cmp dword [ebp], 0
je 0x58f844
lea ecx, [esi + 3]
cmp ecx, ebx
jl 0x58f83a
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fc55
mov edi, eax
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
inc esi
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x58fa04
mov edx, ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x58f8f6
cmp byte [ebx], 0x2f
jne 0x58f8f6
mov al, byte [ebx + 1]
cmp al, 0x61
jl 0x58f873
cmp al, 0x7a
jle 0x58f87b
cmp al, 0x41
jl 0x58f8f6
cmp al, 0x5a
jg 0x58f8f6
cmp byte [ebx + 2], 0x3a
jne 0x58f8f6
push str.file
push ecx
call fcn.00584820
add esp, 8
test eax, eax
je 0x58f8f6
mov ebp, dword [esp + 0x10]
lea eax, [esi + 3]
cmp eax, ebp
jl 0x58f8dd
add ebp, ebp
lea ecx, [ebp + 1]
push ecx
push edi
mov dword [esp + 0x18], ebp
call dword [0x89ad64]
mov edi, eax
add esp, 8
test edi, edi
jne 0x58f8dd
call fcn.00555e90
mov esi, eax
call fcn.00555ed0
mov edx, dword [eax]
mov eax, dword [esi]
push str.xmlSaveUri:_out_of_memory_n
push edx
call eax
add esp, 8
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov cl, byte [ebx]
mov byte [esi + edi], cl
mov dl, byte [ebx + 1]
inc ebx
inc esi
mov byte [esi + edi], dl
mov al, byte [ebx + 1]
inc ebx
inc esi
mov byte [esi + edi], al
inc esi
inc ebx
jmp 0x58f8fa
mov ebp, dword [esp + 0x10]
cmp byte [ebx], 0
je 0x58fa08
lea ebp, [esi + 3]
cmp ebp, dword [esp + 0x10]
jl 0x58f92d
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fdd4
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x58f93b
cmp al, 0x7a
jle 0x58f9f5
cmp al, 0x41
jl 0x58f947
cmp al, 0x5a
jle 0x58f9f5
cmp al, 0x30
jl 0x58f953
cmp al, 0x39
jle 0x58f9f5
cmp al, 0x2d
je 0x58f9f5
cmp al, 0x5f
je 0x58f9f5
cmp al, 0x2e
je 0x58f9f5
cmp al, 0x21
je 0x58f9f5
cmp al, 0x7e
je 0x58f9f5
cmp al, 0x2a
je 0x58f9f5
cmp al, 0x27
je 0x58f9f5
cmp al, 0x28
je 0x58f9f5
cmp al, 0x29
je 0x58f9f5
cmp al, 0x2f
je 0x58f9f5
cmp al, 0x3b
je 0x58f9f5
cmp al, 0x40
je 0x58f9f5
cmp al, 0x26
je 0x58f9f5
cmp al, 0x3d
je 0x58f9f5
cmp al, 0x2b
je 0x58f9f5
cmp al, 0x24
je 0x58f9f5
cmp al, 0x2c
je 0x58f9f5
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
jns 0x58f9c3
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + edi - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x58f9fb
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x58f906
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
cmp dword [ebx + 0x28], 0
je 0x58fa97
lea ebx, [esi + 1]
cmp ebx, ebp
jl 0x58fa3b
lea eax, [ebp + ebp]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fac0
mov edi, eax
mov edx, dword [esp + 0x1c]
mov byte [esi + edi], 0x3f
mov ebp, dword [edx + 0x28]
cmp byte [ebp], 0
mov esi, ebx
je 0x58fc24
mov ebx, dword [esp + 0x10]
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
lea ecx, [ecx]
cmp dword [esp + 0x14], ebx
jl 0x58fa7c
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fac0
mov edi, eax
mov dl, byte [ebp]
inc dword [esp + 0x14]
mov byte [esi + edi], dl
inc ebp
inc esi
cmp byte [ebp], 0
jne 0x58fa60
mov dword [esp + 0x10], ebx
jmp 0x58fc24
cmp dword [ebx + 0x1c], 0
je 0x58fc24
lea edx, [esi + 3]
cmp edx, ebp
jl 0x58faee
lea eax, [ebp + ebp]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
jne 0x58faec
call fcn.00555e90
mov esi, eax
call fcn.00555ed0
mov eax, dword [eax]
mov ecx, dword [esi]
push str.xmlSaveUri:_out_of_memory_n
push eax
call ecx
push edi
call dword [0x89ad58]
add esp, 0xc
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov edi, eax
mov byte [esi + edi], 0x3f
mov ebx, dword [ebx + 0x1c]
inc esi
cmp byte [ebx], 0
je 0x58fc24
lea ebp, [esi + 3]
cmp ebp, dword [esp + 0x10]
jl 0x58fb29
mov edx, dword [esp + 0x10]
lea eax, [edx + edx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fdd4
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x58fb37
cmp al, 0x7a
jle 0x58fc15
cmp al, 0x41
jl 0x58fb43
cmp al, 0x5a
jle 0x58fc15
cmp al, 0x30
jl 0x58fb4f
cmp al, 0x39
jle 0x58fc15
cmp al, 0x2d
je 0x58fc15
cmp al, 0x5f
je 0x58fc15
cmp al, 0x2e
je 0x58fc15
cmp al, 0x21
je 0x58fc15
cmp al, 0x7e
je 0x58fc15
cmp al, 0x2a
je 0x58fc15
cmp al, 0x27
je 0x58fc15
cmp al, 0x28
je 0x58fc15
cmp al, 0x29
je 0x58fc15
cmp al, 0x3b
je 0x58fc15
cmp al, 0x2f
je 0x58fc15
cmp al, 0x3f
je 0x58fc15
cmp al, 0x3a
je 0x58fc15
cmp al, 0x40
je 0x58fc15
cmp al, 0x26
je 0x58fc15
cmp al, 0x3d
je 0x58fc15
cmp al, 0x2b
je 0x58fc15
cmp al, 0x24
je 0x58fc15
cmp al, 0x2c
je 0x58fc15
cmp al, 0x5b
je 0x58fc15
cmp al, 0x5d
je 0x58fc15
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
jns 0x58fbe3
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + edi - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x58fc1b
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x58fb02
mov ebx, dword [esp + 0x1c]
cmp dword [ebx + 0x20], 0
mov ebp, dword [esp + 0x10]
je 0x58fdbd
lea eax, [esi + 3]
cmp eax, ebp
jl 0x58fc83
add ebp, ebp
lea ecx, [ebp + 1]
push ecx
push edi
mov dword [esp + 0x18], ebp
call dword [0x89ad64]
add esp, 8
test eax, eax
jne 0x58fc81
call fcn.00555e90
mov esi, eax
call fcn.00555ed0
mov edx, dword [eax]
mov eax, dword [esi]
push str.xmlSaveUri:_out_of_memory_n
push edx
call eax
push edi
call dword [0x89ad58]
add esp, 0xc
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov edi, eax
mov byte [esi + edi], 0x23
mov ebx, dword [ebx + 0x20]
inc esi
cmp byte [ebx], 0
je 0x58fdbd
lea ebp, [esi + 3]
cmp ebp, dword [esp + 0x10]
jl 0x58fcbe
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
je 0x58fdd4
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x58fccc
cmp al, 0x7a
jle 0x58fdaa
cmp al, 0x41
jl 0x58fcd8
cmp al, 0x5a
jle 0x58fdaa
cmp al, 0x30
jl 0x58fce4
cmp al, 0x39
jle 0x58fdaa
cmp al, 0x2d
je 0x58fdaa
cmp al, 0x5f
je 0x58fdaa
cmp al, 0x2e
je 0x58fdaa
cmp al, 0x21
je 0x58fdaa
cmp al, 0x7e
je 0x58fdaa
cmp al, 0x2a
je 0x58fdaa
cmp al, 0x27
je 0x58fdaa
cmp al, 0x28
je 0x58fdaa
cmp al, 0x29
je 0x58fdaa
cmp al, 0x3b
je 0x58fdaa
cmp al, 0x2f
je 0x58fdaa
cmp al, 0x3f
je 0x58fdaa
cmp al, 0x3a
je 0x58fdaa
cmp al, 0x40
je 0x58fdaa
cmp al, 0x26
je 0x58fdaa
cmp al, 0x3d
je 0x58fdaa
cmp al, 0x2b
je 0x58fdaa
cmp al, 0x24
je 0x58fdaa
cmp al, 0x2c
je 0x58fdaa
cmp al, 0x5b
je 0x58fdaa
cmp al, 0x5d
je 0x58fdaa
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
jns 0x58fd78
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + edi - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x58fdb0
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x58fc97
mov ebp, dword [esp + 0x10]
cmp esi, ebp
jl 0x58fe02
lea eax, [ebp + ebp + 1]
push eax
push edi
call dword [0x89ad64]
add esp, 8
test eax, eax
jne 0x58fe00
call fcn.00555e90
mov esi, eax
call fcn.00555ed0
mov ecx, dword [eax]
mov edx, dword [esi]
push str.xmlSaveUri:_out_of_memory_n
push ecx
call edx
push edi
call dword [0x89ad58]
add esp, 0xc
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov edi, eax
mov byte [esi + edi], 0
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
add esp, 8
ret