Function at 0x45a3e0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x45a3f3
xor eax, eax
pop ebx
add esp, 0x10
ret
push ebp
push edi
mov ebp, 0x50
push 0x51
mov dword [esp + 0x10], ebp
call dword [0x4ee2ec]
mov edi, eax
add esp, 4
test edi, edi
jne 0x45a425
push str.saving_URI_n
call fcn.0045b090
add esp, 4
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 0x10
ret
mov ebx, dword [ebx]
push esi
xor esi, esi
test ebx, ebx
je 0x45a492
cmp byte [ebx], 0
je 0x45a48d
cmp esi, ebp
jl 0x45a461
cmp ebp, 0x100000
jg 0x45a634
add ebp, ebp
lea eax, [ebp + 1]
push eax
push edi
call dword [0x4ee2f0]
add esp, 8
test eax, eax
je 0x45a613
mov dword [esp + 0x10], ebp
mov edi, eax
mov al, byte [ebx]
inc ebx
mov byte [esi + edi], al
inc esi
cmp byte [ebx], 0
jne 0x45a433
cmp esi, ebp
jl 0x45a48d
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x3a
inc esi
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], 0x37
mov ecx, dword [ebx + 4]
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x45a671
cmp byte [ecx], 0
je 0x45ae62
lea edx, [esi + 3]
mov dword [esp + 0x14], edx
nop dword [eax]
cmp edx, ebp
jl 0x45a4e8
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x3b
je 0x45a655
cmp al, 0x2f
je 0x45a655
cmp al, 0x3f
je 0x45a655
cmp al, 0x3a
je 0x45a655
cmp al, 0x40
je 0x45a655
cmp al, 0x26
je 0x45a655
cmp al, 0x3d
je 0x45a655
cmp al, 0x2b
je 0x45a655
cmp al, 0x24
je 0x45a655
cmp al, 0x2c
je 0x45a655
cmp al, 0x5b
je 0x45a655
cmp al, 0x5d
je 0x45a655
cmp al, 0x61
jl 0x45a556
cmp al, 0x7a
jle 0x45a655
cmp al, 0x41
jl 0x45a562
cmp al, 0x5a
jle 0x45a655
cmp al, 0x30
jl 0x45a56e
cmp al, 0x39
jle 0x45a655
cmp al, 0x2d
je 0x45a655
cmp al, 0x5f
je 0x45a655
cmp al, 0x2e
je 0x45a655
cmp al, 0x21
je 0x45a655
cmp al, 0x7e
je 0x45a655
cmp al, 0x2a
je 0x45a655
cmp al, 0x27
je 0x45a655
cmp al, 0x28
je 0x45a655
cmp al, 0x29
je 0x45a655
movzx ebx, al
inc ecx
mov eax, ebx
mov dword [esp + 0x1c], ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ebx, reloc.WS2_32.dll_ntohs
jns 0x45a5d6
dec ebx
or ebx, 0xfffffff0
inc ebx
mov edx, dword [esp + 0x14]
cmp eax, 9
mov ecx, 0x30
mov byte [esi + edi], 0x25
cmovg ecx, dword [esp + 0x18]
add cl, al
cmp ebx, 9
mov byte [esi + edi + 1], cl
mov eax, 0x30
mov ecx, 0x37
cmovg eax, ecx
mov ecx, dword [esp + 0x1c]
add al, bl
mov byte [esi + edi + 2], al
add esi, 3
add edx, 3
jmp 0x45a65f
push str.saving_URI_n
call fcn.0045b090
add esp, 4
push edi
call dword [0x4ee2f4]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret
push str.reaching_arbitrary_MAX_URI_LENGTH_limit_n
call fcn.0045b090
add esp, 4
push edi
call dword [0x4ee2f4]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret
mov byte [esi + edi], al
inc edx
inc esi
inc ecx
mov dword [esp + 0x1c], ecx
cmp byte [ecx], 0
mov dword [esp + 0x14], edx
jne 0x45a4c0
jmp 0x45ae5e
cmp dword [ebx + 0xc], 0
jne 0x45a8e2
cmp dword [ebx + 0x14], 0xffffffff
je 0x45a8e2
cmp dword [ebx + 8], 0
je 0x45a8ad
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45a6b2
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov word [esi + edi], 0x2f2f
add esi, 2
mov ecx, dword [ebx + 8]
mov dword [esp + 0x14], ecx
cmp byte [ecx], 0
je 0x45a800
lea edx, [esi + 3]
mov dword [esp + 0x1c], edx
cmp edx, ebp
jl 0x45a6fa
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov al, byte [ecx]
cmp al, 0x61
jl 0x45a708
cmp al, 0x7a
jle 0x45a7e5
cmp al, 0x41
jl 0x45a714
cmp al, 0x5a
jle 0x45a7e5
cmp al, 0x30
jl 0x45a720
cmp al, 0x39
jle 0x45a7e5
cmp al, 0x2d
je 0x45a7e5
cmp al, 0x5f
je 0x45a7e5
cmp al, 0x2e
je 0x45a7e5
cmp al, 0x21
je 0x45a7e5
cmp al, 0x7e
je 0x45a7e5
cmp al, 0x2a
je 0x45a7e5
cmp al, 0x27
je 0x45a7e5
cmp al, 0x28
je 0x45a7e5
cmp al, 0x29
je 0x45a7e5
cmp al, 0x24
je 0x45a7e5
cmp al, 0x2c
je 0x45a7e5
cmp al, 0x3b
je 0x45a7e5
cmp al, 0x3a
je 0x45a7e5
cmp al, 0x40
je 0x45a7e5
cmp al, 0x26
je 0x45a7e5
cmp al, 0x3d
je 0x45a7e5
cmp al, 0x2b
je 0x45a7e5
movzx ebx, al
inc ecx
mov eax, ebx
mov dword [esp + 0x14], ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ebx, reloc.WS2_32.dll_ntohs
jns 0x45a7a8
dec ebx
or ebx, 0xfffffff0
inc ebx
mov edx, dword [esp + 0x1c]
cmp eax, 9
mov ecx, 0x30
mov byte [esi + edi], 0x25
cmovg ecx, dword [esp + 0x18]
add cl, al
cmp ebx, 9
mov byte [esi + edi + 1], cl
mov eax, 0x30
mov ecx, 0x37
cmovg eax, ecx
mov ecx, dword [esp + 0x14]
add al, bl
mov byte [esi + edi + 2], al
add esi, 3
add edx, 3
jmp 0x45a7ef
mov byte [esi + edi], al
inc edx
inc esi
inc ecx
mov dword [esp + 0x14], ecx
cmp byte [ecx], 0
mov dword [esp + 0x1c], edx
jne 0x45a6d2
mov ebx, dword [esp + 0x24]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x45ac4f
mov edx, dword [ebx]
test edx, edx
je 0x45ab15
cmp byte [ecx], 0x2f
jne 0x45ab15
mov al, byte [ecx + 1]
lea ebx, [ecx + 1]
cmp al, 0x61
jl 0x45a830
cmp al, 0x7a
jle 0x45a840
cmp al, 0x41
jl 0x45ab11
cmp al, 0x5a
jg 0x45ab11
cmp byte [ecx + 2], 0x3a
jne 0x45ab11
push str.file
push edx
call fcn.0044e370
add esp, 8
test eax, eax
je 0x45ab0d
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45a883
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x14]
mov ecx, ebx
movzx eax, byte [eax]
mov byte [esi + edi], al
movzx eax, byte [ecx]
mov byte [esi + edi + 1], al
movzx eax, byte [ecx + 1]
mov byte [esi + edi + 2], al
add esi, 3
add ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x45ab11
cmp dword [ebx], 0
je 0x45a800
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45a800
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
jmp 0x45a800
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45a905
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov word [esi + edi], 0x2f2f
add esi, 2
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x45aa7a
cmp byte [ecx], 0
je 0x45aa52
lea edx, [esi + 3]
mov dword [esp + 0x1c], edx
nop dword [eax]
cmp edx, ebp
jl 0x45a958
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov al, byte [ecx]
cmp al, 0x61
jl 0x45a966
cmp al, 0x7a
jle 0x45aa37
cmp al, 0x41
jl 0x45a972
cmp al, 0x5a
jle 0x45aa37
cmp al, 0x30
jl 0x45a97e
cmp al, 0x39
jle 0x45aa37
cmp al, 0x2d
je 0x45aa37
cmp al, 0x5f
je 0x45aa37
cmp al, 0x2e
je 0x45aa37
cmp al, 0x21
je 0x45aa37
cmp al, 0x7e
je 0x45aa37
cmp al, 0x2a
je 0x45aa37
cmp al, 0x27
je 0x45aa37
cmp al, 0x28
je 0x45aa37
cmp al, 0x29
je 0x45aa37
cmp al, 0x3b
je 0x45aa37
cmp al, 0x3a
je 0x45aa37
cmp al, 0x26
je 0x45aa37
cmp al, 0x3d
je 0x45aa37
cmp al, 0x2b
je 0x45aa37
cmp al, 0x24
je 0x45aa37
cmp al, 0x2c
je 0x45aa37
movzx ebx, al
inc ecx
mov eax, ebx
mov dword [esp + 0x14], ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ebx, reloc.WS2_32.dll_ntohs
jns 0x45a9fa
dec ebx
or ebx, 0xfffffff0
inc ebx
mov edx, dword [esp + 0x1c]
cmp eax, 9
mov ecx, 0x30
mov byte [esi + edi], 0x25
cmovg ecx, dword [esp + 0x18]
add cl, al
cmp ebx, 9
mov byte [esi + edi + 1], cl
mov eax, 0x30
mov ecx, 0x37
cmovg eax, ecx
mov ecx, dword [esp + 0x14]
add al, bl
mov byte [esi + edi + 2], al
add esi, 3
add edx, 3
jmp 0x45aa41
mov byte [esi + edi], al
inc edx
inc esi
inc ecx
mov dword [esp + 0x14], ecx
cmp byte [ecx], 0
mov dword [esp + 0x1c], edx
jne 0x45a930
mov ebx, dword [esp + 0x24]
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45aa75
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x40
inc esi
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x45a7fc
cmp byte [ebx], 0
je 0x45aabc
nop word [eax + eax]
cmp esi, ebp
jl 0x45aab0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebx]
inc ebx
mov byte [esi + edi], al
inc esi
cmp byte [ebx], 0
jne 0x45aa90
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0x14], 0
jle 0x45a800
lea eax, [esi + 0xa]
cmp eax, ebp
jl 0x45aaed
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
push dword [ebx + 0x14]
mov eax, ebp
sub eax, esi
push 0x4c1448
push eax
lea eax, [esi + edi]
push eax
call fcn.004213c0
add esp, 0x10
add esi, eax
jmp 0x45a800
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
cmp byte [ecx], 0
je 0x45ac4f
lea edx, [esi + 3]
mov dword [esp + 0x1c], edx
cmp edx, ebp
jl 0x45ab4d
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov al, byte [ecx]
cmp al, 0x61
jl 0x45ab5b
cmp al, 0x7a
jle 0x45ac34
cmp al, 0x41
jl 0x45ab67
cmp al, 0x5a
jle 0x45ac34
cmp al, 0x30
jl 0x45ab73
cmp al, 0x39
jle 0x45ac34
cmp al, 0x2d
je 0x45ac34
cmp al, 0x5f
je 0x45ac34
cmp al, 0x2e
je 0x45ac34
cmp al, 0x21
je 0x45ac34
cmp al, 0x7e
je 0x45ac34
cmp al, 0x2a
je 0x45ac34
cmp al, 0x27
je 0x45ac34
cmp al, 0x28
je 0x45ac34
cmp al, 0x29
je 0x45ac34
cmp al, 0x2f
je 0x45ac34
cmp al, 0x3b
je 0x45ac34
cmp al, 0x40
je 0x45ac34
cmp al, 0x26
je 0x45ac34
cmp al, 0x3d
je 0x45ac34
cmp al, 0x2b
je 0x45ac34
cmp al, 0x24
je 0x45ac34
cmp al, 0x2c
je 0x45ac34
movzx ebx, al
inc ecx
mov eax, ebx
mov dword [esp + 0x14], ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ebx, reloc.WS2_32.dll_ntohs
jns 0x45abf7
dec ebx
or ebx, 0xfffffff0
inc ebx
mov edx, dword [esp + 0x1c]
cmp eax, 9
mov ecx, 0x30
mov byte [esi + edi], 0x25
cmovg ecx, dword [esp + 0x18]
add cl, al
cmp ebx, 9
mov byte [esi + edi + 1], cl
mov eax, 0x30
mov ecx, 0x37
cmovg eax, ecx
mov ecx, dword [esp + 0x14]
add al, bl
mov byte [esi + edi + 2], al
add esi, 3
add edx, 3
jmp 0x45ac3e
mov byte [esi + edi], al
inc edx
inc esi
inc ecx
mov dword [esp + 0x14], ecx
cmp byte [ecx], 0
mov dword [esp + 0x1c], edx
jne 0x45ab25
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0x28], 0
je 0x45accf
lea ebx, [esi + 1]
cmp ebx, ebp
jl 0x45ac78
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x3f
mov esi, ebx
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebx + 0x28]
cmp byte [ebx], 0
je 0x45ae5e
lea eax, [esi + 1]
mov dword [esp + 0x1c], eax
cmp eax, ebp
jl 0x45acb5
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebx]
inc ebx
mov byte [esi + edi], al
inc esi
mov eax, dword [esp + 0x1c]
inc eax
cmp byte [ebx], 0
mov dword [esp + 0x1c], eax
jne 0x45ac95
jmp 0x45ae5e
cmp dword [ebx + 0x1c], 0
je 0x45ae62
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45acfc
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x3f
inc esi
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x14], ecx
cmp byte [ecx], 0
je 0x45ae62
lea edx, [esi + 3]
mov dword [esp + 0x1c], edx
cmp edx, ebp
jl 0x45ad40
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov al, byte [ecx]
cmp al, 0x61
jl 0x45ad4e
cmp al, 0x7a
jle 0x45ae47
cmp al, 0x41
jl 0x45ad5a
cmp al, 0x5a
jle 0x45ae47
cmp al, 0x30
jl 0x45ad66
cmp al, 0x39
jle 0x45ae47
cmp al, 0x2d
je 0x45ae47
cmp al, 0x5f
je 0x45ae47
cmp al, 0x2e
je 0x45ae47
cmp al, 0x21
je 0x45ae47
cmp al, 0x7e
je 0x45ae47
cmp al, 0x2a
je 0x45ae47
cmp al, 0x27
je 0x45ae47
cmp al, 0x28
je 0x45ae47
cmp al, 0x29
je 0x45ae47
cmp al, 0x3b
je 0x45ae47
cmp al, 0x2f
je 0x45ae47
cmp al, 0x3f
je 0x45ae47
cmp al, 0x3a
je 0x45ae47
cmp al, 0x40
je 0x45ae47
cmp al, 0x26
je 0x45ae47
cmp al, 0x3d
je 0x45ae47
cmp al, 0x2b
je 0x45ae47
cmp al, 0x24
je 0x45ae47
cmp al, 0x2c
je 0x45ae47
cmp al, 0x5b
je 0x45ae47
cmp al, 0x5d
je 0x45ae47
movzx ebx, al
inc ecx
mov eax, ebx
mov dword [esp + 0x14], ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ebx, reloc.WS2_32.dll_ntohs
jns 0x45ae0a
dec ebx
or ebx, 0xfffffff0
inc ebx
mov edx, dword [esp + 0x1c]
cmp eax, 9
mov ecx, 0x30
mov byte [esi + edi], 0x25
cmovg ecx, dword [esp + 0x18]
add cl, al
cmp ebx, 9
mov byte [esi + edi + 1], cl
mov eax, 0x30
mov ecx, 0x37
cmovg eax, ecx
mov ecx, dword [esp + 0x14]
add al, bl
mov byte [esi + edi + 2], al
add esi, 3
add edx, 3
jmp 0x45ae51
mov byte [esi + edi], al
inc edx
inc esi
inc ecx
mov dword [esp + 0x14], ecx
cmp byte [ecx], 0
mov dword [esp + 0x1c], edx
jne 0x45ad18
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0x20], 0
je 0x45affa
lea eax, [esi + 3]
cmp eax, ebp
jl 0x45ae8f
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x23
inc esi
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x1c], ecx
cmp byte [ecx], 0
je 0x45affa
lea edx, [esi + 3]
mov dword [esp + 0x24], edx
nop dword [eax + eax]
cmp edx, ebp
jl 0x45aed8
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
je 0x45b010
mov ebp, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov al, byte [ecx]
cmp al, 0x61
jl 0x45aee6
cmp al, 0x7a
jle 0x45afe3
cmp al, 0x41
jl 0x45aef2
cmp al, 0x5a
jle 0x45afe3
cmp al, 0x30
jl 0x45aefe
cmp al, 0x39
jle 0x45afe3
cmp al, 0x2d
je 0x45afe3
cmp al, 0x5f
je 0x45afe3
cmp al, 0x2e
je 0x45afe3
cmp al, 0x21
je 0x45afe3
cmp al, 0x7e
je 0x45afe3
cmp al, 0x2a
je 0x45afe3
cmp al, 0x27
je 0x45afe3
cmp al, 0x28
je 0x45afe3
cmp al, 0x29
je 0x45afe3
cmp al, 0x3b
je 0x45afe3
cmp al, 0x2f
je 0x45afe3
cmp al, 0x3f
je 0x45afe3
cmp al, 0x3a
je 0x45afe3
cmp al, 0x40
je 0x45afe3
cmp al, 0x26
je 0x45afe3
cmp al, 0x3d
je 0x45afe3
cmp al, 0x2b
je 0x45afe3
cmp al, 0x24
je 0x45afe3
cmp al, 0x2c
je 0x45afe3
cmp al, 0x5b
je 0x45afe3
cmp al, 0x5d
je 0x45afe3
movzx ebx, al
inc ecx
mov eax, ebx
mov dword [esp + 0x1c], ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ebx, reloc.WS2_32.dll_ntohs
jns 0x45afa6
dec ebx
or ebx, 0xfffffff0
inc ebx
mov edx, dword [esp + 0x24]
cmp eax, 9
mov ecx, 0x30
mov byte [esi + edi], 0x25
cmovg ecx, dword [esp + 0x18]
add cl, al
cmp ebx, 9
mov byte [esi + edi + 1], cl
mov eax, 0x30
mov ecx, 0x37
cmovg eax, ecx
mov ecx, dword [esp + 0x1c]
add al, bl
mov byte [esi + edi + 2], al
add esi, 3
add edx, 3
jmp 0x45afed
mov byte [esi + edi], al
inc edx
inc esi
inc ecx
mov dword [esp + 0x1c], ecx
cmp byte [ecx], 0
mov dword [esp + 0x24], edx
jne 0x45aeb0
cmp esi, ebp
jl 0x45b026
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0045b040
add esp, 8
test eax, eax
jne 0x45b024
push edi
call dword [0x4ee2f4]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret
mov edi, eax
mov byte [esi + edi], 0
mov eax, edi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret