Function at 0x10058430
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x10058443
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 [sym.libxml2.dll_xmlMallocAtomic]
mov edi, eax
add esp, 4
test edi, edi
jne 0x10058483
call sym.libxml2.dll___xmlGenericError
mov esi, eax
call sym.libxml2.dll___xmlGenericErrorContext
mov eax, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [esi]
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 0x100584f0
mov ebp, eax
cmp byte [ebp], 0
je 0x100584e7
cmp esi, ebx
jl 0x100584b2
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x1005864c
mov edi, eax
mov dl, byte [ebp]
mov byte [esi + edi], dl
mov al, byte [ebp + 1]
inc esi
inc ebp
test al, al
jne 0x10058494
cmp esi, ebx
mov dword [esp + 0x10], ebx
jl 0x100584e7
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x18], ebx
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x1005895b
mov edi, eax
mov ebp, dword [esp + 0x1c]
mov byte [esi + edi], 0x3a
inc esi
mov eax, dword [ebp + 4]
test eax, eax
je 0x1005868e
mov ebx, eax
cmp byte [ebx], 0
je 0x10058e8e
lea ebp, [esi + 3]
lea esp, [esp]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x10058534
add eax, eax
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058cf4
mov edi, eax
mov al, byte [ebx]
cmp al, 0x3b
je 0x1005867a
cmp al, 0x2f
je 0x1005867a
cmp al, 0x3f
je 0x1005867a
cmp al, 0x3a
je 0x1005867a
cmp al, 0x40
je 0x1005867a
cmp al, 0x26
je 0x1005867a
cmp al, 0x3d
je 0x1005867a
cmp al, 0x2b
je 0x1005867a
cmp al, 0x24
je 0x1005867a
cmp al, 0x2c
je 0x1005867a
cmp al, 0x5b
je 0x1005867a
cmp al, 0x5d
je 0x1005867a
cmp al, 0x61
jl 0x100585a2
cmp al, 0x7a
jle 0x1005867a
cmp al, 0x41
jl 0x100585ae
cmp al, 0x5a
jle 0x1005867a
cmp al, 0x30
jl 0x100585ba
cmp al, 0x39
jle 0x1005867a
cmp al, 0x2d
je 0x1005867a
cmp al, 0x5f
je 0x1005867a
cmp al, 0x2e
je 0x1005867a
cmp al, 0x21
je 0x1005867a
cmp al, 0x7e
je 0x1005867a
cmp al, 0x2a
je 0x1005867a
cmp al, 0x27
je 0x1005867a
cmp al, 0x28
je 0x1005867a
cmp al, 0x29
je 0x1005867a
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, 0x8000000f
jns 0x1005861a
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
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 0x10058680
mov dword [esp + 0x10], ebx
call sym.libxml2.dll___xmlGenericError
mov esi, eax
call sym.libxml2.dll___xmlGenericErrorContext
mov eax, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [esi]
push edi
call dword [sym.libxml2.dll_xmlFree]
add esp, 0xc
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x10058510
jmp 0x10058e8e
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10058985
lea edx, [esi + 3]
cmp edx, ebx
jl 0x100586be
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
mov dword [esp + 0x18], ebx
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058cf4
mov edi, eax
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
mov eax, dword [ebp + 0x10]
inc esi
test eax, eax
je 0x1005881d
cmp byte [eax], 0
mov dword [esp + 0x14], eax
je 0x100587f3
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x10058701
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058957
mov edi, eax
mov eax, dword [esp + 0x14]
mov al, byte [eax]
cmp al, 0x61
jl 0x10058713
cmp al, 0x7a
jle 0x100587d0
cmp al, 0x41
jl 0x1005871f
cmp al, 0x5a
jle 0x100587d0
cmp al, 0x30
jl 0x1005872b
cmp al, 0x39
jle 0x100587d0
cmp al, 0x2d
je 0x100587d0
cmp al, 0x5f
je 0x100587d0
cmp al, 0x2e
je 0x100587d0
cmp al, 0x21
je 0x100587d0
cmp al, 0x7e
je 0x100587d0
cmp al, 0x2a
je 0x100587d0
cmp al, 0x27
je 0x100587d0
cmp al, 0x28
je 0x100587d0
cmp al, 0x29
je 0x100587d0
cmp al, 0x3b
je 0x100587d0
cmp al, 0x3a
je 0x100587d0
cmp al, 0x26
je 0x100587d0
cmp al, 0x3d
je 0x100587d0
cmp al, 0x2b
je 0x100587d0
cmp al, 0x24
je 0x100587d0
cmp al, 0x2c
je 0x100587d0
movzx ecx, al
inc dword [esp + 0x14]
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x1005879e
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
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 0x100587de
mov byte [esi + edi], al
mov eax, dword [esp + 0x14]
inc esi
inc ebp
inc eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
jne 0x100586e3
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], ebx
lea eax, [esi + 3]
cmp eax, ebx
jl 0x10058818
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x18], ebx
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x1005895b
mov edi, eax
mov byte [esi + edi], 0x40
inc esi
mov ebp, dword [ebp + 0xc]
cmp byte [ebp], 0
je 0x10058857
cmp esi, ebx
jl 0x10058844
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058957
mov edi, eax
mov cl, byte [ebp]
mov byte [esi + edi], cl
mov al, byte [ebp + 1]
inc esi
inc ebp
test al, al
jne 0x10058826
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jle 0x100588a6
lea ecx, [esi + 0xa]
cmp ecx, ebx
jl 0x10058887
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
mov dword [esp + 0x18], ebx
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058650
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x14]
push edx
push 0x100cbdf4
sub ebx, esi
lea eax, [esi + edi]
push ebx
push eax
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
add esi, eax
mov ebp, dword [esp + 0x1c]
mov ebx, dword [ebp + 0x18]
test ebx, ebx
je 0x10058c59
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
test ecx, ecx
je 0x10058b46
cmp byte [ebx], 0x2f
jne 0x10058b46
mov al, byte [ebx + 1]
cmp al, 0x61
jl 0x100588d7
cmp al, 0x7a
jle 0x100588e7
cmp al, 0x41
jl 0x10058b46
cmp al, 0x5a
jg 0x10058b46
cmp byte [ebx + 2], 0x3a
jne 0x10058b46
push str.file
push ecx
call sym.libxml2.dll_xmlStrEqual
add esp, 8
test eax, eax
je 0x10058b46
mov ebp, dword [esp + 0x10]
lea eax, [esi + 3]
cmp eax, ebp
jl 0x10058b2d
add ebp, ebp
lea ecx, [ebp + 1]
push ecx
push edi
mov dword [esp + 0x18], ebp
call dword [sym.libxml2.dll_xmlRealloc]
mov edi, eax
add esp, 8
test edi, edi
jne 0x10058b2d
call sym.libxml2.dll___xmlGenericError
mov esi, eax
call sym.libxml2.dll___xmlGenericErrorContext
mov edx, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [esi]
add esp, 8
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov dword [esp + 0x10], ebx
call sym.libxml2.dll___xmlGenericError
mov esi, eax
call sym.libxml2.dll___xmlGenericErrorContext
mov edx, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [esi]
push edi
call dword [sym.libxml2.dll_xmlFree]
add esp, 0xc
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov eax, dword [ebp + 8]
test eax, eax
je 0x10058af0
lea ecx, [esi + 3]
cmp ecx, ebx
jl 0x100589b5
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
mov dword [esp + 0x18], ebx
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058650
mov edi, eax
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
mov eax, dword [ebp + 8]
mov cl, byte [eax]
inc esi
test cl, cl
mov dword [esp + 0x14], eax
je 0x100588aa
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x100589f1
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058957
mov edi, eax
mov edx, dword [esp + 0x14]
mov al, byte [edx]
cmp al, 0x61
jl 0x10058a03
cmp al, 0x7a
jle 0x10058acc
cmp al, 0x41
jl 0x10058a0f
cmp al, 0x5a
jle 0x10058acc
cmp al, 0x30
jl 0x10058a1b
cmp al, 0x39
jle 0x10058acc
cmp al, 0x2d
je 0x10058acc
cmp al, 0x5f
je 0x10058acc
cmp al, 0x2e
je 0x10058acc
cmp al, 0x21
je 0x10058acc
cmp al, 0x7e
je 0x10058acc
cmp al, 0x2a
je 0x10058acc
cmp al, 0x27
je 0x10058acc
cmp al, 0x28
je 0x10058acc
cmp al, 0x29
je 0x10058acc
cmp al, 0x24
je 0x10058acc
cmp al, 0x2c
je 0x10058acc
cmp al, 0x3b
je 0x10058acc
cmp al, 0x3a
je 0x10058acc
cmp al, 0x40
je 0x10058acc
cmp al, 0x26
je 0x10058acc
cmp al, 0x3d
je 0x10058acc
cmp al, 0x2b
je 0x10058acc
movzx ecx, al
inc dword [esp + 0x14]
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x10058a9a
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
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 0x10058ada
mov byte [esi + edi], al
mov eax, dword [esp + 0x14]
inc esi
inc ebp
inc eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
jne 0x100589d3
mov dword [esp + 0x10], ebx
jmp 0x100588a6
cmp dword [ebp], 0
je 0x100588aa
lea eax, [esi + 3]
cmp eax, ebx
jl 0x10058b1e
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058cf4
mov edi, eax
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
inc esi
jmp 0x100588aa
mov al, byte [ebx]
mov byte [esi + edi], al
mov cl, byte [ebx + 1]
inc esi
inc ebx
mov byte [esi + edi], cl
mov dl, byte [ebx + 1]
inc esi
inc ebx
mov byte [esi + edi], dl
inc esi
inc ebx
jmp 0x10058b4a
mov ebp, dword [esp + 0x10]
cmp byte [ebx], 0
je 0x10058c5d
lea ebp, [esi + 3]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x10058b7a
add eax, eax
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058cf4
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x10058b88
cmp al, 0x7a
jle 0x10058c4a
cmp al, 0x41
jl 0x10058b94
cmp al, 0x5a
jle 0x10058c4a
cmp al, 0x30
jl 0x10058ba0
cmp al, 0x39
jle 0x10058c4a
cmp al, 0x2d
je 0x10058c4a
cmp al, 0x5f
je 0x10058c4a
cmp al, 0x2e
je 0x10058c4a
cmp al, 0x21
je 0x10058c4a
cmp al, 0x7e
je 0x10058c4a
cmp al, 0x2a
je 0x10058c4a
cmp al, 0x27
je 0x10058c4a
cmp al, 0x28
je 0x10058c4a
cmp al, 0x29
je 0x10058c4a
cmp al, 0x2f
je 0x10058c4a
cmp al, 0x3b
je 0x10058c4a
cmp al, 0x40
je 0x10058c4a
cmp al, 0x26
je 0x10058c4a
cmp al, 0x3d
je 0x10058c4a
cmp al, 0x2b
je 0x10058c4a
cmp al, 0x24
je 0x10058c4a
cmp al, 0x2c
je 0x10058c4a
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, 0x8000000f
jns 0x10058c18
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
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 0x10058c50
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x10058b56
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x10058d1e
lea ebx, [esi + 1]
cmp ebx, ebp
jl 0x10058c91
lea eax, [ebp + ebp]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x1005895b
mov edi, eax
mov eax, dword [esp + 0x1c]
mov byte [esi + edi], 0x3f
mov ebp, dword [eax + 0x28]
cmp byte [ebp], 0
mov esi, ebx
je 0x10058e8e
mov ebx, dword [esp + 0x10]
lea ecx, [esi + 1]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x14], ebx
jl 0x10058ccf
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058cf0
mov edi, eax
mov al, byte [ebp]
mov edx, dword [esp + 0x14]
mov byte [esi + edi], al
mov al, byte [ebp + 1]
inc esi
inc edx
inc ebp
test al, al
mov dword [esp + 0x14], edx
jne 0x10058cb3
mov dword [esp + 0x10], ebx
jmp 0x10058e8e
mov dword [esp + 0x10], ebx
call sym.libxml2.dll___xmlGenericError
mov esi, eax
call sym.libxml2.dll___xmlGenericErrorContext
mov ecx, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push ecx
call dword [esi]
push edi
call dword [sym.libxml2.dll_xmlFree]
add esp, 0xc
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 8
ret
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x10058e8e
lea edx, [esi + 3]
cmp edx, ebp
jl 0x10058d4e
lea eax, [ebp + ebp]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058650
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov byte [esi + edi], 0x3f
mov ebx, dword [ecx + 0x1c]
mov al, byte [ebx]
inc esi
test al, al
je 0x10058e8e
lea ebp, [esi + 3]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x10058d8b
add eax, eax
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058cf4
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x10058d99
cmp al, 0x7a
jle 0x10058e7f
cmp al, 0x41
jl 0x10058da5
cmp al, 0x5a
jle 0x10058e7f
cmp al, 0x30
jl 0x10058db1
cmp al, 0x39
jle 0x10058e7f
cmp al, 0x2d
je 0x10058e7f
cmp al, 0x5f
je 0x10058e7f
cmp al, 0x2e
je 0x10058e7f
cmp al, 0x21
je 0x10058e7f
cmp al, 0x7e
je 0x10058e7f
cmp al, 0x2a
je 0x10058e7f
cmp al, 0x27
je 0x10058e7f
cmp al, 0x28
je 0x10058e7f
cmp al, 0x29
je 0x10058e7f
cmp al, 0x3b
je 0x10058e7f
cmp al, 0x2f
je 0x10058e7f
cmp al, 0x3f
je 0x10058e7f
cmp al, 0x3a
je 0x10058e7f
cmp al, 0x40
je 0x10058e7f
cmp al, 0x26
je 0x10058e7f
cmp al, 0x3d
je 0x10058e7f
cmp al, 0x2b
je 0x10058e7f
cmp al, 0x24
je 0x10058e7f
cmp al, 0x2c
je 0x10058e7f
cmp al, 0x5b
je 0x10058e7f
cmp al, 0x5d
je 0x10058e7f
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, 0x8000000f
jns 0x10058e4d
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
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 0x10058e85
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x10058d67
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x20]
test eax, eax
mov ebp, dword [esp + 0x10]
je 0x10059007
lea edx, [esi + 3]
cmp edx, ebp
jl 0x10058ec6
add ebp, ebp
lea eax, [ebp + 1]
push eax
push edi
mov dword [esp + 0x18], ebp
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058cf4
mov edi, eax
mov byte [esi + edi], 0x23
mov ebx, dword [ebx + 0x20]
mov al, byte [ebx]
inc esi
test al, al
je 0x10059007
lea ebp, [esi + 3]
jmp 0x10058ee0
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x10058f04
add eax, eax
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058cf4
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x10058f12
cmp al, 0x7a
jle 0x10058ff4
cmp al, 0x41
jl 0x10058f1e
cmp al, 0x5a
jle 0x10058ff4
cmp al, 0x30
jl 0x10058f2a
cmp al, 0x39
jle 0x10058ff4
cmp al, 0x2d
je 0x10058ff4
cmp al, 0x5f
je 0x10058ff4
cmp al, 0x2e
je 0x10058ff4
cmp al, 0x21
je 0x10058ff4
cmp al, 0x7e
je 0x10058ff4
cmp al, 0x2a
je 0x10058ff4
cmp al, 0x27
je 0x10058ff4
cmp al, 0x28
je 0x10058ff4
cmp al, 0x29
je 0x10058ff4
cmp al, 0x3b
je 0x10058ff4
cmp al, 0x2f
je 0x10058ff4
cmp al, 0x3f
je 0x10058ff4
cmp al, 0x3a
je 0x10058ff4
cmp al, 0x40
je 0x10058ff4
cmp al, 0x26
je 0x10058ff4
cmp al, 0x3d
je 0x10058ff4
cmp al, 0x2b
je 0x10058ff4
cmp al, 0x24
je 0x10058ff4
cmp al, 0x2c
je 0x10058ff4
cmp al, 0x5b
je 0x10058ff4
cmp al, 0x5d
je 0x10058ff4
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, 0x8000000f
jns 0x10058fc2
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
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 0x10058ffa
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x10058ee0
mov ebp, dword [esp + 0x10]
cmp esi, ebp
jl 0x10059024
lea edx, [ebp + ebp + 1]
push edx
push edi
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x10058650
mov edi, eax
mov byte [esi + edi], 0
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
add esp, 8
ret