Function at 0x45a340
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x45a353
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 [0x54f6cc]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45a3d2
call fcn.00461640
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call edi
cmp dword [0x553af4], eax
jne 0x45a38c
mov esi, 0x554748
jmp 0x45a399
call fcn.00461560
mov esi, eax
add esi, 0x17c
call fcn.00461640
call edi
cmp dword [0x553af4], eax
jne 0x45a3af
mov eax, 0x54f7e0
jmp 0x45a3b9
call fcn.00461560
add eax, 0x174
mov ecx, dword [esi]
mov edx, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push ecx
call edx
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 0x45a444
mov ebp, eax
cmp byte [ebp], 0
je 0x45a439
cmp esi, ebx
jl 0x45a401
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ae2a
mov edi, eax
mov cl, byte [ebp]
mov byte [esi + edi], cl
add ebp, 1
add esi, 1
cmp byte [ebp], 0
jne 0x45a3e3
cmp esi, ebx
mov dword [esp + 0x10], ebx
jl 0x45a439
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x18], ebx
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ae2a
mov edi, eax
mov ebp, dword [esp + 0x1c]
mov byte [esi + edi], 0x3a
add esi, 1
mov eax, dword [ebp + 4]
test eax, eax
je 0x45a5aa
mov ebx, eax
cmp byte [ebx], 0
je 0x45adf9
lea ebp, [esi + 3]
lea ecx, [ecx]
cmp ebp, dword [esp + 0x10]
jl 0x45a489
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
add eax, 1
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45afd0
mov edi, eax
mov al, byte [ebx]
cmp al, 0x3b
je 0x45a590
cmp al, 0x2f
je 0x45a590
cmp al, 0x3f
je 0x45a590
cmp al, 0x3a
je 0x45a590
cmp al, 0x40
je 0x45a590
cmp al, 0x26
je 0x45a590
cmp al, 0x3d
je 0x45a590
cmp al, 0x2b
je 0x45a590
cmp al, 0x24
je 0x45a590
cmp al, 0x2c
je 0x45a590
cmp al, 0x5b
je 0x45a590
cmp al, 0x5d
je 0x45a590
cmp al, 0x61
jl 0x45a4f7
cmp al, 0x7a
jle 0x45a590
cmp al, 0x41
jl 0x45a503
cmp al, 0x5a
jle 0x45a590
cmp al, 0x30
jl 0x45a50f
cmp al, 0x39
jle 0x45a590
cmp al, 0x2d
je 0x45a590
cmp al, 0x5f
je 0x45a590
cmp al, 0x2e
je 0x45a590
cmp al, 0x21
je 0x45a590
cmp al, 0x7e
je 0x45a590
cmp al, 0x2a
je 0x45a590
cmp al, 0x27
je 0x45a590
cmp al, 0x28
je 0x45a590
cmp al, 0x29
je 0x45a590
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
add ebx, 1
sar eax, 4
and ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
jns 0x45a551
dec ecx
or ecx, 0xfffffff0
inc ecx
add esi, 1
mov byte [esi + edi - 1], 0x25
add ebp, 1
cmp eax, 9
setle dl
sub dl, 1
and dl, 7
add dl, 0x30
add dl, al
add esi, 1
mov byte [esi + edi - 1], dl
add ebp, 1
cmp ecx, 9
setle al
sub al, 1
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
add esi, 1
add ebp, 1
jmp 0x45a59c
mov byte [esi + edi], al
add esi, 1
add ebp, 1
add ebx, 1
cmp byte [ebx], 0
jne 0x45a460
jmp 0x45adf9
cmp dword [ebp + 0xc], 0
je 0x45a7ec
lea eax, [esi + 3]
cmp eax, ebx
jl 0x45a5d9
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x18], ebx
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ae2a
mov edi, eax
mov byte [esi + edi], 0x2f
add esi, 1
mov byte [esi + edi], 0x2f
mov ebp, dword [ebp + 0x10]
add esi, 1
test ebp, ebp
je 0x45a755
cmp byte [ebp], 0
mov dword [esp + 0x14], ebp
je 0x45a729
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x45a621
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ae2a
mov edi, eax
mov edx, dword [esp + 0x14]
mov al, byte [edx]
cmp al, 0x61
jl 0x45a633
cmp al, 0x7a
jle 0x45a70a
cmp al, 0x41
jl 0x45a63f
cmp al, 0x5a
jle 0x45a70a
cmp al, 0x30
jl 0x45a64b
cmp al, 0x39
jle 0x45a70a
cmp al, 0x2d
je 0x45a70a
cmp al, 0x5f
je 0x45a70a
cmp al, 0x2e
je 0x45a70a
cmp al, 0x21
je 0x45a70a
cmp al, 0x7e
je 0x45a70a
cmp al, 0x2a
je 0x45a70a
cmp al, 0x27
je 0x45a70a
cmp al, 0x28
je 0x45a70a
cmp al, 0x29
je 0x45a70a
cmp al, 0x3b
je 0x45a70a
cmp al, 0x3a
je 0x45a70a
cmp al, 0x26
je 0x45a70a
cmp al, 0x3d
je 0x45a70a
cmp al, 0x2b
je 0x45a70a
cmp al, 0x24
je 0x45a70a
cmp al, 0x2c
je 0x45a70a
add dword [esp + 0x14], 1
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
jns 0x45a6cb
dec ecx
or ecx, 0xfffffff0
inc ecx
add esi, 1
mov byte [esi + edi - 1], 0x25
add ebp, 1
cmp eax, 9
setle dl
sub dl, 1
and dl, 7
add dl, 0x30
add dl, al
add esi, 1
mov byte [esi + edi - 1], dl
add ebp, 1
cmp ecx, 9
setle al
sub al, 1
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
add esi, 1
add ebp, 1
jmp 0x45a718
mov byte [esi + edi], al
add esi, 1
add ebp, 1
add dword [esp + 0x14], 1
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
jne 0x45a603
mov dword [esp + 0x10], ebx
lea ecx, [esi + 3]
cmp ecx, ebx
jl 0x45a74e
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
mov dword [esp + 0x18], ebx
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ac67
mov edi, eax
mov byte [esi + edi], 0x40
add esi, 1
mov edx, dword [esp + 0x1c]
mov ebp, dword [edx + 0xc]
cmp byte [ebp], 0
je 0x45a796
cmp esi, ebx
jl 0x45a780
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ae2a
mov edi, eax
mov cl, byte [ebp]
mov byte [esi + edi], cl
add ebp, 1
add esi, 1
cmp byte [ebp], 0
jne 0x45a762
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x14], 0
jle 0x45a9aa
lea edx, [esi + 0xa]
cmp edx, ebx
jl 0x45a7c9
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
mov dword [esp + 0x18], ebx
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45afd0
mov edi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
push ecx
push 0x52b17c
sub ebx, esi
lea edx, [esi + edi]
push ebx
push edx
call fcn.004aeb06
add esp, 0x10
add esi, eax
jmp 0x45a9aa
cmp dword [ebp + 8], 0
je 0x45a970
lea eax, [esi + 3]
cmp eax, ebx
jl 0x45a81b
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x18], ebx
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ae2a
mov edi, eax
mov byte [esi + edi], 0x2f
add esi, 1
mov byte [esi + edi], 0x2f
mov ebp, dword [ebp + 8]
add esi, 1
cmp byte [ebp], 0
mov dword [esp + 0x14], ebp
je 0x45a9aa
lea ebp, [esi + 3]
lea ecx, [ecx]
cmp ebp, ebx
jl 0x45a85e
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ae2a
mov edi, eax
mov edx, dword [esp + 0x14]
mov al, byte [edx]
cmp al, 0x61
jl 0x45a870
cmp al, 0x7a
jle 0x45a94f
cmp al, 0x41
jl 0x45a87c
cmp al, 0x5a
jle 0x45a94f
cmp al, 0x30
jl 0x45a888
cmp al, 0x39
jle 0x45a94f
cmp al, 0x2d
je 0x45a94f
cmp al, 0x5f
je 0x45a94f
cmp al, 0x2e
je 0x45a94f
cmp al, 0x21
je 0x45a94f
cmp al, 0x7e
je 0x45a94f
cmp al, 0x2a
je 0x45a94f
cmp al, 0x27
je 0x45a94f
cmp al, 0x28
je 0x45a94f
cmp al, 0x29
je 0x45a94f
cmp al, 0x24
je 0x45a94f
cmp al, 0x2c
je 0x45a94f
cmp al, 0x3b
je 0x45a94f
cmp al, 0x3a
je 0x45a94f
cmp al, 0x40
je 0x45a94f
cmp al, 0x26
je 0x45a94f
cmp al, 0x3d
je 0x45a94f
cmp al, 0x2b
je 0x45a94f
add dword [esp + 0x14], 1
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
jns 0x45a910
dec ecx
or ecx, 0xfffffff0
inc ecx
add esi, 1
mov byte [esi + edi - 1], 0x25
add ebp, 1
cmp eax, 9
setle dl
sub dl, 1
and dl, 7
add dl, 0x30
add dl, al
add esi, 1
mov byte [esi + edi - 1], dl
add ebp, 1
cmp ecx, 9
setle al
sub al, 1
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
add esi, 1
add ebp, 1
jmp 0x45a95d
mov byte [esi + edi], al
add esi, 1
add ebp, 1
add dword [esp + 0x14], 1
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
jne 0x45a840
mov dword [esp + 0x10], ebx
jmp 0x45a9aa
cmp dword [ebp], 0
je 0x45a9aa
lea ecx, [esi + 3]
cmp ecx, ebx
jl 0x45a99c
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
add eax, 1
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ae2a
mov edi, eax
mov byte [esi + edi], 0x2f
add esi, 1
mov byte [esi + edi], 0x2f
add esi, 1
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x45aba5
mov edx, ecx
mov eax, dword [edx]
test eax, eax
je 0x45aa70
cmp byte [ebx], 0x2f
jne 0x45aa70
mov cl, byte [ebx + 1]
cmp cl, 0x61
jl 0x45a9db
cmp cl, 0x7a
jle 0x45a9ed
cmp cl, 0x41
jl 0x45aa70
cmp cl, 0x5a
jg 0x45aa70
cmp byte [ebx + 2], 0x3a
jne 0x45aa70
mov ecx, str.file
call fcn.00452890
test eax, eax
je 0x45aa70
mov ebp, dword [esp + 0x10]
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45aa4b
add ebp, ebp
lea ecx, [ebp + 1]
push ecx
push edi
mov dword [esp + 0x18], ebp
call dword [0x54f71c]
mov edi, eax
add esp, 8
test edi, edi
jne 0x45aa4b
call fcn.00455620
mov esi, eax
call fcn.00455650
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]
add ebx, 1
add esi, 1
mov byte [esi + edi], dl
mov al, byte [ebx + 1]
add ebx, 1
add esi, 1
mov byte [esi + edi], al
add esi, 1
add ebx, 1
jmp 0x45aa74
mov ebp, dword [esp + 0x10]
cmp byte [ebx], 0
je 0x45aba9
lea ebp, [esi + 3]
cmp ebp, dword [esp + 0x10]
jl 0x45aaa9
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
add eax, 1
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45afd0
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x45aab7
cmp al, 0x7a
jle 0x45ab90
cmp al, 0x41
jl 0x45aac3
cmp al, 0x5a
jle 0x45ab90
cmp al, 0x30
jl 0x45aacf
cmp al, 0x39
jle 0x45ab90
cmp al, 0x2d
je 0x45ab90
cmp al, 0x5f
je 0x45ab90
cmp al, 0x2e
je 0x45ab90
cmp al, 0x21
je 0x45ab90
cmp al, 0x7e
je 0x45ab90
cmp al, 0x2a
je 0x45ab90
cmp al, 0x27
je 0x45ab90
cmp al, 0x28
je 0x45ab90
cmp al, 0x29
je 0x45ab90
cmp al, 0x2f
je 0x45ab90
cmp al, 0x3b
je 0x45ab90
cmp al, 0x40
je 0x45ab90
cmp al, 0x26
je 0x45ab90
cmp al, 0x3d
je 0x45ab90
cmp al, 0x2b
je 0x45ab90
cmp al, 0x24
je 0x45ab90
cmp al, 0x2c
je 0x45ab90
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
add ebx, 1
sar eax, 4
and ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
jns 0x45ab51
dec ecx
or ecx, 0xfffffff0
inc ecx
add esi, 1
mov byte [esi + edi - 1], 0x25
add ebp, 1
cmp eax, 9
setle dl
sub dl, 1
and dl, 7
add dl, 0x30
add dl, al
add esi, 1
mov byte [esi + edi - 1], dl
add ebp, 1
cmp ecx, 9
setle al
sub al, 1
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
add esi, 1
add ebp, 1
jmp 0x45ab9c
mov byte [esi + edi], al
add esi, 1
add ebp, 1
add ebx, 1
cmp byte [ebx], 0
jne 0x45aa80
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
cmp dword [ebx + 0x28], 0
je 0x45ac3c
lea ebx, [esi + 1]
cmp ebx, ebp
jl 0x45abde
lea eax, [ebp + ebp]
mov dword [esp + 0x10], eax
add eax, 1
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ac67
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 0x45adf9
mov ebx, dword [esp + 0x10]
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], ebx
jl 0x45ac1c
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45ac67
mov edi, eax
mov dl, byte [ebp]
add dword [esp + 0x14], 1
mov byte [esi + edi], dl
add ebp, 1
add esi, 1
cmp byte [ebp], 0
jne 0x45ac00
mov dword [esp + 0x10], ebx
jmp 0x45adf9
cmp dword [ebx + 0x1c], 0
je 0x45adf9
lea edx, [esi + 3]
cmp edx, ebp
jl 0x45ac95
lea eax, [ebp + ebp]
mov dword [esp + 0x10], eax
add eax, 1
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
jne 0x45ac93
call fcn.00455620
mov esi, eax
call fcn.00455650
mov eax, dword [eax]
mov ecx, dword [esi]
push str.xmlSaveUri:_out_of_memory_n
push eax
call ecx
push edi
call dword [0x54ee6c]
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]
add esi, 1
cmp byte [ebx], 0
je 0x45adf9
lea ebp, [esi + 3]
jmp 0x45acb0
cmp ebp, dword [esp + 0x10]
jl 0x45acd9
mov edx, dword [esp + 0x10]
lea eax, [edx + edx]
mov dword [esp + 0x10], eax
add eax, 1
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45afd0
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x45ace7
cmp al, 0x7a
jle 0x45ade4
cmp al, 0x41
jl 0x45acf3
cmp al, 0x5a
jle 0x45ade4
cmp al, 0x30
jl 0x45acff
cmp al, 0x39
jle 0x45ade4
cmp al, 0x2d
je 0x45ade4
cmp al, 0x5f
je 0x45ade4
cmp al, 0x2e
je 0x45ade4
cmp al, 0x21
je 0x45ade4
cmp al, 0x7e
je 0x45ade4
cmp al, 0x2a
je 0x45ade4
cmp al, 0x27
je 0x45ade4
cmp al, 0x28
je 0x45ade4
cmp al, 0x29
je 0x45ade4
cmp al, 0x3b
je 0x45ade4
cmp al, 0x2f
je 0x45ade4
cmp al, 0x3f
je 0x45ade4
cmp al, 0x3a
je 0x45ade4
cmp al, 0x40
je 0x45ade4
cmp al, 0x26
je 0x45ade4
cmp al, 0x3d
je 0x45ade4
cmp al, 0x2b
je 0x45ade4
cmp al, 0x24
je 0x45ade4
cmp al, 0x2c
je 0x45ade4
cmp al, 0x5b
je 0x45ade4
cmp al, 0x5d
je 0x45ade4
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
add ebx, 1
sar eax, 4
and ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
jns 0x45ada5
dec ecx
or ecx, 0xfffffff0
inc ecx
add esi, 1
mov byte [esi + edi - 1], 0x25
add ebp, 1
cmp eax, 9
setle dl
sub dl, 1
and dl, 7
add dl, 0x30
add dl, al
add esi, 1
mov byte [esi + edi - 1], dl
add ebp, 1
cmp ecx, 9
setle al
sub al, 1
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
add esi, 1
add ebp, 1
jmp 0x45adf0
mov byte [esi + edi], al
add esi, 1
add ebp, 1
add ebx, 1
cmp byte [ebx], 0
jne 0x45acb0
mov ebx, dword [esp + 0x1c]
cmp dword [ebx + 0x20], 0
mov ebp, dword [esp + 0x10]
je 0x45afb9
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45ae58
add ebp, ebp
lea ecx, [ebp + 1]
push ecx
push edi
mov dword [esp + 0x18], ebp
call dword [0x54f71c]
add esp, 8
test eax, eax
jne 0x45ae56
call fcn.00455620
mov esi, eax
call fcn.00455650
mov edx, dword [eax]
mov eax, dword [esi]
push str.xmlSaveUri:_out_of_memory_n
push edx
call eax
push edi
call dword [0x54ee6c]
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]
add esi, 1
cmp byte [ebx], 0
je 0x45afb9
lea ebp, [esi + 3]
mov edi, edi
cmp ebp, dword [esp + 0x10]
jl 0x45ae99
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
add eax, 1
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
je 0x45afd0
mov edi, eax
mov al, byte [ebx]
cmp al, 0x61
jl 0x45aea7
cmp al, 0x7a
jle 0x45afa0
cmp al, 0x41
jl 0x45aeb3
cmp al, 0x5a
jle 0x45afa0
cmp al, 0x30
jl 0x45aebf
cmp al, 0x39
jle 0x45afa0
cmp al, 0x2d
je 0x45afa0
cmp al, 0x5f
je 0x45afa0
cmp al, 0x2e
je 0x45afa0
cmp al, 0x21
je 0x45afa0
cmp al, 0x7e
je 0x45afa0
cmp al, 0x2a
je 0x45afa0
cmp al, 0x27
je 0x45afa0
cmp al, 0x28
je 0x45afa0
cmp al, 0x29
je 0x45afa0
cmp al, 0x3b
je 0x45afa0
cmp al, 0x2f
je 0x45afa0
cmp al, 0x3f
je 0x45afa0
cmp al, 0x3a
je 0x45afa0
cmp al, 0x40
je 0x45afa0
cmp al, 0x26
je 0x45afa0
cmp al, 0x3d
je 0x45afa0
cmp al, 0x2b
je 0x45afa0
cmp al, 0x24
je 0x45afa0
cmp al, 0x2c
je 0x45afa0
cmp al, 0x5b
je 0x45afa0
cmp al, 0x5d
je 0x45afa0
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
add ebx, 1
sar eax, 4
and ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
jns 0x45af61
dec ecx
or ecx, 0xfffffff0
inc ecx
add esi, 1
mov byte [esi + edi - 1], 0x25
add ebp, 1
cmp eax, 9
setle dl
sub dl, 1
and dl, 7
add dl, 0x30
add dl, al
add esi, 1
mov byte [esi + edi - 1], dl
add ebp, 1
cmp ecx, 9
setle al
sub al, 1
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
add esi, 1
add ebp, 1
jmp 0x45afac
mov byte [esi + edi], al
add esi, 1
add ebp, 1
add ebx, 1
cmp byte [ebx], 0
jne 0x45ae70
mov ebp, dword [esp + 0x10]
cmp esi, ebp
jl 0x45affe
lea eax, [ebp + ebp + 1]
push eax
push edi
call dword [0x54f71c]
add esp, 8
test eax, eax
jne 0x45affc
call fcn.00455620
mov esi, eax
call fcn.00455650
mov ecx, dword [eax]
mov edx, dword [esi]
push str.xmlSaveUri:_out_of_memory_n
push ecx
call edx
push edi
call dword [0x54ee6c]
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