Function at 0x10124320
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov ebp, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov edx, ebp
or edx, ecx
je 0x10124711
mov ebx, ecx
and ebx, 0xfffff
shr ecx, 0x14
lea esi, [ecx - 0x433]
mov eax, ebp
add eax, 0xffffffff
mov edx, ebx
adc edx, 0xfffff
add eax, 1
adc edx, 0
test ecx, ecx
cmove eax, ebp
mov dword [esp + 0x20], eax
cmove edx, ebx
mov ebx, 0xfffffbce
cmovne ebx, esi
lea eax, [edi + 1]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x54]
mov dword [esp + 4], edi
mov edi, edx
xor edx, edx
mov dword [esp + 0x14], 0
cmp ebx, 0xffffffcc
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
jl 0x1012475f
lea eax, [ebx + 0xf]
shr eax, 4
xor ecx, ecx
test ebx, ebx
mov dword [esp], 0
cmovs eax, ecx
imul ecx, eax, 0x134410
shr ecx, 0x12
imul ecx, ecx, 0x1c72
add ecx, 0x2c722
shr ecx, 0x10
mov dword [esp + 0xc], ecx
movzx ecx, word [eax + eax + 0x101b0634]
mov dword [esp + 0x30], ecx
mov ecx, eax
shl ecx, 4
sub ecx, ebx
mov edx, edi
mov eax, dword [esp + 0x20]
shld edx, eax, 8
mov dword [esp + 8], edx
sub ecx, 0xffffff80
mov dword [esp + 0x2c], ecx
shl eax, 8
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x54]
mov dword [esp + 0x14], 0
jmp 0x101244c6
mov eax, ebx
mov ecx, 0xd1b71759
mul ecx
mov ecx, edx
shr ecx, 0xd
mov ebp, esi
imul esi, ecx, 0xffffd8f0
add esi, ebx
mov eax, esi
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi + esi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + 7], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + 5], ax
mov eax, ebx
mov edx, 0x55e63b89
mul edx
mov ebx, edx
shr ebx, 0x19
imul esi, ebx, 0xffffd8f0
add esi, ecx
mov eax, esi
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi + esi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov esi, ebp
mov ebp, dword [esp + 0x58]
mov word [esi + 3], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [esi + 1], ax
add bl, 0x30
mov byte [esi], bl
add esi, 9
mov dword [esp], edi
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
cmp ecx, 1
jle 0x101246ef
mov ecx, dword [esp + 0xc]
lea eax, [ecx - 1]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
lea eax, [ecx + eax - 1]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x101b8e00]
push dword [esp + 0x2c]
push eax
push dword [esp + 0x10]
push dword [esp + 0x28]
call fcn.1011b690
add esp, 0x10
mov ebx, eax
mov eax, dword [esp]
test eax, eax
je 0x10124540
lea edi, [eax + 9]
cmp edi, dword [esp + 0x10]
ja 0x10124ace
mov eax, ebp
sub eax, esi
cmp eax, 9
jl 0x10124ec6
test ebx, ebx
jne 0x10124420
mov byte [esi + 8], 0x30
mov dword [esi + 4], 0x30303030
mov dword [esi], 0x30303030
jmp 0x101244ab
test ebx, ebx
je 0x101246b4
mov edx, 9
cmp ebx, 0x5f5e0ff
ja 0x101245b0
mov edx, 8
cmp ebx, 0x98967f
ja 0x101245b0
mov edx, 7
cmp ebx, 0xf423f
ja 0x101245b0
mov edx, 6
cmp ebx, 0x1869f
ja 0x101245b0
mov edx, 5
cmp ebx, 0x270f
ja 0x101245b0
mov edx, 4
cmp ebx, 0x3e7
ja 0x101245b0
mov edx, 3
cmp ebx, 0x63
ja 0x101245b0
cmp ebx, 0xa
mov edx, 1
sbb edx, 0xffffffff
nop dword [eax + eax]
mov eax, dword [esp + 0xc]
lea eax, [eax + eax*8]
add eax, edx
dec eax
cmp edx, dword [esp + 0x10]
ja 0x10124aed
cmp dword [esp + 0x64], 0
mov dword [esp], edx
mov dword [esp + 0x14], eax
je 0x101246c0
mov eax, ebp
sub eax, esi
cmp eax, edx
jle 0x10124ec6
xor edi, edi
cmp ebx, 0x2710
jb 0x1012465b
mov dword [esp + 4], esi
lea ebp, [esi + edx]
dec ebp
xor edi, edi
nop word cs:[eax + eax]
mov ecx, ebx
mov eax, ebx
mov edx, 0xd1b71759
mul edx
mov ebx, edx
shr ebx, 0xd
imul esi, ebx, 0xffffd8f0
add esi, ecx
mov eax, esi
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi + esi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + edi], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + edi - 2], ax
add edi, 0xfffffffc
cmp ecx, 0x5f5e0ff
ja 0x10124600
neg edi
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 4]
mov edx, dword [esp]
cmp ebx, 0x64
jb 0x1012468f
movzx eax, bx
shr eax, 2
imul eax, eax, 0x147b
shr eax, 0x11
imul ecx, eax, 0x64
sub ebx, ecx
movzx ecx, bx
mov edx, dword [esp]
add edx, esi
not edi
movzx ecx, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + edx], cx
mov edx, dword [esp]
mov ebx, eax
mov edi, dword [esp + 0x24]
lea eax, [edx + 1]
cmp ebx, 0xa
jb 0x101246d3
movzx ecx, byte [ebx + ebx + 0x101a69a5]
mov byte [esi + 2], cl
mov byte [esi + 1], 0x2e
movzx ebx, byte [ebx + ebx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
jmp 0x101246da
mov dword [esp], 0
jmp 0x101244b5
cmp esi, ebp
je 0x10124ec6
add bl, 0x30
mov byte [esi], bl
inc esi
jmp 0x101244b5
mov byte [esi + 1], 0x2e
add bl, 0x30
mov ecx, dword [esp + 0x18]
mov byte [esi], bl
add esi, eax
mov ebx, dword [esp + 0x28]
cmp ecx, 1
jg 0x101244c6
mov dword [esp + 4], esi
test ebx, ebx
mov edx, dword [esp]
js 0x1012475f
mov eax, dword [esp + 0x10]
sub eax, edx
xor ecx, ecx
mov edi, eax
mov esi, edx
xor ebx, ebx
mov eax, dword [esp + 0x64]
jmp 0x10124bef
cmp edi, 1
mov eax, edi
sbb eax, 0
add eax, 6
mov ecx, ebx
sub ecx, esi
mov edx, 0x84
cmp ecx, eax
mov ebp, ebx
jl 0x10124fa2
mov byte [esi], 0x30
test edi, edi
je 0x10124adf
lea eax, [esi + 2]
mov byte [esi + 1], 0x2e
push edi
push 0x30
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ebp, [esi + edi]
add ebp, 2
mov dword [ebp], 0x30302b65
jmp 0x10124f9d
neg ebx
mov eax, ebx
shr eax, 4
movzx ecx, byte [eax + 0x101b06b4]
movzx esi, word [eax + eax + 0x101b06fa]
mov dword [esp + 0x30], esi
movzx eax, word [eax + eax + 0x101b06fc]
mov dword [esp + 0x2c], eax
and ebx, 0xf
mov eax, dword [esp + 0x20]
shld edi, eax, 8
mov dword [esp + 0x38], edi
or ebx, 0x80
mov dword [esp + 0x3c], ebx
shl eax, 8
mov dword [esp + 0x34], eax
cmp ecx, 0xc8
mov eax, 0xc7
cmovae eax, ecx
mov dword [esp + 8], eax
mov esi, edx
mov dword [esp + 0x18], ecx
mov edi, ecx
mov ecx, 0xd1b71759
jmp 0x10124800
mov byte [ebp + 8], 0x30
mov dword [ebp + 4], 0x30303030
mov dword [ebp], 0x30303030
add ebp, 9
mov dword [esp + 4], ebp
mov ebp, edi
mov edi, dword [esp + 0xc]
lea eax, [edi + 1]
mov esi, edx
cmp edi, dword [esp + 8]
mov edi, eax
je 0x101246fa
mov eax, edi
sub eax, dword [esp + 0x18]
add eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x2c]
jae 0x10124840
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x101c00c0]
push dword [esp + 0x3c]
push eax
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.1011b690
add esp, 0x10
mov ebx, eax
test esi, esi
je 0x1012490f
mov ecx, 0xd1b71759
jmp 0x1012484a
xor ebx, ebx
test esi, esi
je 0x10124a82
lea edx, [esi + 9]
cmp edx, dword [esp + 0x10]
ja 0x10124ad4
mov dword [esp + 0xc], edi
mov edi, ebp
mov eax, ebp
mov ebp, dword [esp + 4]
sub eax, ebp
cmp eax, 9
jl 0x10124ac2
test ebx, ebx
je 0x101247d0
mov eax, ebx
mov dword [esp], edx
mul ecx
mov ecx, edx
shr ecx, 0xd
imul esi, ecx, 0xffffd8f0
add esi, ebx
mov eax, esi
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi + esi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + 7], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [esp + 0x1c], ax
mov eax, ebx
mov edx, 0x55e63b89
mul edx
mov ebx, edx
shr ebx, 0x19
imul esi, ebx, 0xffffd8f0
add esi, ecx
mov ecx, 0xd1b71759
mov eax, esi
mov edx, 0x51eb851f
mul edx
movzx eax, word [esp + 0x1c]
mov word [ebp + 5], ax
shr edx, 5
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi + esi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + 3], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edx, dword [esp]
mov word [ebp + 1], ax
add bl, 0x30
mov byte [ebp], bl
jmp 0x101247e2
test ebx, ebx
je 0x10124a89
mov edx, 9
cmp ebx, 0x5f5e0ff
ja 0x1012497a
mov edx, 8
cmp ebx, 0x98967f
ja 0x1012497a
mov edx, 7
cmp ebx, 0xf423f
ja 0x1012497a
mov edx, 6
cmp ebx, 0x1869f
ja 0x1012497a
mov edx, 5
cmp ebx, 0x270f
ja 0x1012497a
mov edx, 4
cmp ebx, 0x3e7
ja 0x1012497a
mov edx, 3
cmp ebx, 0x63
ja 0x1012497a
cmp ebx, 0xa
mov edx, 1
sbb edx, 0xffffffff
mov eax, edi
not eax
lea eax, [eax + eax*8]
add eax, edx
dec eax
cmp edx, dword [esp + 0x10]
mov esi, dword [esp + 4]
ja 0x10124af1
cmp dword [esp + 0x64], 0
mov dword [esp + 0x14], eax
je 0x10124a8d
mov eax, ebp
sub eax, esi
cmp eax, edx
jle 0x10124ec6
mov dword [esp + 0xc], edi
xor edi, edi
cmp ebx, 0x2710
jb 0x10124a2b
mov dword [esp], edx
lea ebp, [esi + edx]
dec ebp
xor edi, edi
nop word cs:[eax + eax]
mov ecx, ebx
mov eax, ebx
mov edx, 0xd1b71759
mul edx
mov ebx, edx
shr ebx, 0xd
imul esi, ebx, 0xffffd8f0
add esi, ecx
mov eax, esi
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi + esi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + edi], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + edi - 2], ax
add edi, 0xfffffffc
cmp ecx, 0x5f5e0ff
ja 0x101249d0
neg edi
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 4]
mov edx, dword [esp]
cmp ebx, 0x64
jb 0x10124a5d
movzx eax, bx
shr eax, 2
imul eax, eax, 0x147b
shr eax, 0x11
imul ecx, eax, 0x64
sub ebx, ecx
movzx ecx, bx
mov ebx, edx
add edx, esi
not edi
movzx ecx, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + edx], cx
mov edx, ebx
mov ebx, eax
mov edi, dword [esp + 0xc]
lea eax, [edx + 1]
cmp ebx, 0xa
jb 0x10124aa9
movzx ecx, byte [ebx + ebx + 0x101a69a5]
mov byte [esi + 2], cl
mov byte [esi + 1], 0x2e
movzx ebx, byte [ebx + ebx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
jmp 0x10124ab0
xor edx, edx
jmp 0x101247ef
xor edx, edx
jmp 0x10124a9f
cmp esi, ebp
je 0x10124ec6
add bl, 0x30
mov byte [esi], bl
inc esi
mov dword [esp + 4], esi
mov ecx, 0xd1b71759
jmp 0x101247ef
mov byte [esi + 1], 0x2e
add bl, 0x30
mov ecx, 0xd1b71759
mov byte [esi], bl
add esi, eax
mov dword [esp + 4], esi
jmp 0x101247ef
mov edx, 0x84
mov ebp, edi
jmp 0x10124fa2
mov dword [esp + 4], esi
mov esi, eax
mov edx, 9
mov eax, dword [esp + 0x14]
jmp 0x10124af3
inc esi
mov ebp, esi
mov dword [esi], 0x30302b65
jmp 0x10124f9d
mov dword [esp + 4], esi
xor esi, esi
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x10]
sub edi, esi
xor ecx, ecx
sub edx, edi
jbe 0x10124b21
mov dword [esp + 8], edi
cmp edx, 2
mov ebp, 1
cmovae ebp, edx
lea eax, [ebp - 1]
mov edi, ebp
and edi, 3
cmp eax, 3
jae 0x10124b2a
jmp 0x10124b53
mov eax, dword [esp + 0x64]
jmp 0x10124bef
and ebp, 0xfffffffc
nop dword [eax]
mov ecx, ebx
mov eax, ebx
mov edx, 0xd1b71759
mul edx
mov ebx, edx
shr ebx, 0xd
add ebp, 0xfffffffc
jne 0x10124b30
mov edx, 0x10624dd3
mov eax, ecx
mul edx
mov ecx, edx
shr ecx, 6
test edi, edi
je 0x10124b6e
mov ebp, 0xcccccccd
nop dword [eax]
mov ecx, ebx
mov eax, ebx
mul ebp
mov ebx, edx
shr ebx, 3
dec edi
jne 0x10124b60
mov edx, 0xcccccccd
mov eax, ecx
mul edx
shr edx, 2
and edx, 0xfffffffe
lea eax, [edx + edx*4]
sub ecx, eax
cmp ecx, 5
jne 0x10124be3
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
add ecx, eax
neg ecx
test ecx, ecx
jle 0x10124caa
cmp ecx, 0x3b
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x24]
ja 0x10124da2
mov dword [esp + 0x10], eax
mov eax, 0xffffffff
mov edx, 0xffffffff
shl edx, cl
xor edi, edi
test cl, 0x20
cmovne eax, edx
cmove edi, edx
not edi
not eax
and eax, esi
and edi, dword [esp + 0x20]
or edi, eax
sete al
jmp 0x10124cb8
mov ebp, dword [esp + 0x58]
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 8]
xor edx, edx
cmp ecx, 6
setae dl
mov dword [esp], edx
test esi, esi
je 0x10124dbd
mov eax, ebp
mov esi, dword [esp + 4]
sub eax, esi
mov edx, 0x84
cmp eax, edi
jl 0x10124fa2
test ebx, ebx
je 0x10124c5d
mov eax, edi
dec edi
mov dword [esp + 8], eax
je 0x10124c6f
lea ebp, [esi + eax]
add ebp, 0xfffffffe
xor esi, esi
mov ecx, ebx
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
mov ebx, edx
shr ebx, 5
imul eax, ebx, 0x64
sub ecx, eax
movzx eax, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp], ax
add esi, 2
add ebp, 0xfffffffe
mov ecx, ebx
cmp esi, edi
jb 0x10124c30
jmp 0x10124c71
push edi
push 0x30
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, edi
mov edi, esi
jmp 0x10124c9f
xor esi, esi
mov ecx, dword [esp + 8]
cmp esi, ecx
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 4]
jae 0x10124c9f
mov edx, 0xcccccccd
mov eax, ebx
mul edx
shr edx, 2
and edx, 0xfffffffe
lea eax, [edx + edx*4]
sub ebx, eax
or bl, 0x30
not esi
add esi, ecx
mov byte [edi + esi], bl
add edi, ecx
mov esi, dword [esp + 0x54]
jmp 0x10124edf
mov dword [esp + 0x10], eax
mov al, 1
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 8]
cmp dword [esp + 0x10], 0
jns 0x10124d86
test al, al
je 0x10124d86
mov edx, 0xffffffff
mov ebp, dword [esp + 0x20]
nop dword [eax + eax]
mov dword [esp + 0xc], edx
xor eax, eax
mov ecx, 0xcccccccc
inc ecx
sete al
mov dword [esp], eax
mov eax, ebp
mul ecx
mov dword [esp + 0x2c], edx
mov eax, ebp
mov edx, 0xcccccccc
mul edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ebp
imul ebp, dword [esp]
mov eax, esi
mul ecx
mov edi, eax
mov ecx, edx
add ebp, dword [esp + 0x2c]
mov eax, dword [esp]
imul eax, esi
mov dword [esp], eax
mov eax, esi
mov edx, 0xcccccccc
mul edx
add edi, ebp
adc ecx, dword [esp]
and edi, 0xfffffffc
add edi, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
adc edi, 0
add ecx, eax
mov esi, edx
mov edx, dword [esp + 0xc]
adc esi, 0
add ecx, edi
adc esi, 0
shrd ecx, esi, 2
shr esi, 2
lea eax, [ecx + ecx*4]
inc edx
cmp eax, dword [esp + 0x20]
mov ebp, ecx
je 0x10124ce0
mov eax, dword [esp + 0x10]
neg eax
cmp edx, eax
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 8]
jb 0x10124d95
mov dword [esp], 2
jmp 0x10124d9c
cmp dword [esp + 0x10], 0
setns cl
and cl, al
cmp cl, 1
je 0x10124d7d
mov dword [esp], 1
mov eax, dword [esp + 0x64]
jmp 0x10124db1
mov dword [esp], 1
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x10124c02
test eax, eax
mov esi, dword [esp + 0x54]
je 0x10124eb6
mov eax, ebp
sub eax, dword [esp + 4]
lea ecx, [edi + 1]
mov edx, 0x84
cmp eax, ecx
jl 0x10124fa2
xor ebp, ebp
cmp ebx, 0x2710
jb 0x10124e5b
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 4]
mov dword [esp + 8], edi
add edi, eax
dec edi
xor ebp, ebp
nop word [eax + eax]
mov ecx, ebx
mov eax, ebx
mov edx, 0xd1b71759
mul edx
mov ebx, edx
shr ebx, 0xd
imul esi, ebx, 0xffffd8f0
add esi, ecx
mov eax, esi
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi + esi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + ebp], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + ebp - 2], ax
add ebp, 0xfffffffc
cmp ecx, 0x5f5e0ff
ja 0x10124e00
neg ebp
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp ebx, 0x64
jb 0x10124e90
movzx eax, bx
shr eax, 2
imul eax, eax, 0x147b
shr eax, 0x11
mov edx, ecx
imul ecx, eax, 0x64
sub ebx, ecx
movzx ecx, bx
add edi, dword [esp + 4]
not ebp
movzx ecx, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + edi], cx
mov ecx, edx
mov ebx, eax
mov ebp, dword [esp + 0x58]
cmp ebx, 0xa
jb 0x10124ed0
movzx eax, byte [ebx + ebx + 0x101a69a5]
mov edi, dword [esp + 4]
mov byte [edi + 2], al
mov byte [edi + 1], 0x2e
movzx ebx, byte [ebx + ebx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
jmp 0x10124edb
mov edi, dword [esp + 4]
cmp edi, ebp
je 0x10124ec6
add bl, 0x30
mov byte [edi], bl
inc edi
jmp 0x10124edf
mov edx, 0x84
jmp 0x10124fa2
mov edi, dword [esp + 4]
mov byte [edi + 1], 0x2e
add bl, 0x30
mov byte [edi], bl
add edi, ecx
mov ebx, dword [esp]
test ebx, ebx
je 0x10124f2c
cmp edi, esi
je 0x10124f11
mov eax, edi
jmp 0x10124ef6
mov eax, edx
cmp edx, esi
je 0x10124f11
lea edx, [eax - 1]
movzx ecx, byte [eax - 1]
cmp ecx, 0x2e
je 0x10124ef0
cmp ecx, 0x39
jne 0x10124f1b
mov byte [edx], 0x30
mov ebx, 1
jmp 0x10124ef0
mov byte [esi], 0x31
mov eax, dword [esp + 0x14]
inc eax
jmp 0x10124f30
cmp ebx, 1
je 0x10124f27
mov edx, ecx
and dl, 1
je 0x10124f2c
inc cl
mov byte [eax - 1], cl
mov eax, dword [esp + 0x14]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov ebx, eax
xor eax, eax
cmp ecx, 0x64
setae al
or eax, 4
mov esi, ebp
sub esi, edi
mov edx, 0x84
cmp esi, eax
jl 0x10124fa2
shr ebx, 0x1f
add bl, bl
add bl, 0x2b
mov byte [edi], 0x65
mov byte [edi + 1], bl
cmp ecx, 0x64
mov ebp, edi
jb 0x10124f91
mov edx, 0xcccccccd
mov eax, ecx
mul edx
shr edx, 3
lea eax, [edx + edx]
lea eax, [eax + eax*4]
sub ecx, eax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + 2], ax
or cl, 0x30
mov byte [ebp + 4], cl
add ebp, 5
jmp 0x10124fa0
movzx eax, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + 2], ax
add ebp, 4
xor edx, edx
mov eax, ebp
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret