Function at 0x101ca0a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
add byte [eax], al
mov ecx, dword [0x103fb118]
mov eax, dword [sym.python310.dll_PyExc_MemoryError]
cmp dword [eax + 4], 0
je 0x1019de4b
push 0
push eax
push ecx
call sym.python310.dll__PyErr_SetObject
add esp, 0xc
cmp dword [esi + 0x3c], 0
jne 0x1019dc85
mov eax, dword [esi + 8]
push 4
push dword [0x103cc55c]
mov dword [esp + 0x1c], eax
call dword [0x103cc560]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x1019dc91
mov dword [esi + 0x3c], 1
mov ecx, dword [0x103fb118]
mov eax, dword [sym.python310.dll_PyExc_MemoryError]
cmp dword [eax + 4], ebx
je 0x1019de4b
push ebx
push eax
push ecx
call sym.python310.dll__PyErr_SetObject
add esp, 0xc
dec dword [esi + 0x58]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
mov dword [esp + 0x10], 1
cmp dword [esi + 0x3c], edi
jne 0x1019dc85
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jne 0x1019dcb7
mov ecx, esi
call fcn.10177da0
test eax, eax
js 0x1019ddbf
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
cmp dword [eax], 0xc
jne 0x1019ddd2
lea eax, [ecx + 1]
mov ecx, dword [esi + 0x58]
mov dword [esi + 8], eax
lea eax, [ecx + 1]
mov dword [esi + 0x58], eax
cmp ecx, 0x1770
jne 0x1019dd08
mov dword [esi + 0x3c], 1
mov ecx, dword [0x103fb118]
mov eax, dword [sym.python310.dll_PyExc_MemoryError]
cmp dword [eax + 4], 0
je 0x1019de4b
push 0
push eax
push ecx
call sym.python310.dll__PyErr_SetObject
add esp, 0xc
cmp dword [esi + 0x3c], 0
jne 0x1019ddcf
mov ecx, esi
call fcn.1019de60
mov dword [esp + 0x18], eax
test eax, eax
je 0x1019ddcf
push 0xb
push esi
call fcn.101780c0
add esp, 8
test eax, eax
je 0x1019ddcf
mov ecx, esi
call fcn.10182f90
test eax, eax
je 0x1019ddcf
mov edx, dword [esp + 0x18]
mov ecx, esi
push eax
call fcn.10179940
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1019dd69
mov ecx, dword [0x103fb118]
cmp dword [ecx + 0x34], eax
jne 0x1019ddc8
dec dword [esi + 0x58]
test eax, eax
je 0x1019ddd2
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jne 0x1019ddaf
add ecx, ecx
mov dword [esp + 0x10], ecx
lea eax, [ecx*4]
cmp eax, 0x7fffffff
ja 0x1019de23
push eax
push ebx
push dword [0x103cc55c]
call dword [0x103cc568]
add esp, 0xc
test eax, eax
je 0x1019de23
mov ebx, eax
mov eax, dword [esp + 0x18]
mov dword [ebx + edi*4], eax
inc edi
mov eax, dword [esi + 8]
mov dword [esp + 0x14], eax
jmp 0x1019dca3
mov dword [esi + 0x3c], 1
jmp 0x1019ddd2
mov dword [esi + 0x3c], 1
dec dword [esi + 0x58]
mov eax, dword [esp + 0x14]
mov ecx, edi
mov edx, dword [esi + 0x14]
mov dword [esi + 8], eax
call fcn.101bd450
mov dword [esp + 0x14], eax
test eax, eax
je 0x1019de23
xor edx, edx
test edi, edi
jle 0x1019de05
mov esi, eax
mov ecx, dword [esi + 4]
mov eax, dword [ebx + edx*4]
mov dword [ecx + edx*4], eax
inc edx
cmp edx, edi
jl 0x1019ddf3
mov esi, dword [esp + 0x1c]
push ebx
push dword [0x103cc55c]
call dword [0x103cc56c]
mov eax, dword [esp + 0x1c]
add esp, 8
dec dword [esi + 0x58]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
mov dword [esi + 0x3c], 1
call sym.python310.dll_PyErr_NoMemory
dec dword [esi + 0x58]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory_and_PyExc_MemoryError_is_not_initialized_yet
push 0x1038c108
call sym.python310.dll__Py_FatalErrorFunc
int3
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x103b1004]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x30], esi
push edi
test esi, esi
je 0x101cd423
mov eax, dword [esi + 8]
mov ecx, esi
add eax, 0x30
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], eax
call fcn.101c89a0
test eax, eax
je 0x101ca10a
push 0x103650dc
push esi
call sym.python310.dll__Py_CheckRecursiveCall
add esp, 8
test eax, eax
je 0x101ca10a
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1024a596
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x98], 0
mov ecx, dword [eax]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x7c]
mov dword [esi + 0x20], eax
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x44], eax
test ecx, ecx
je 0x101ca186
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101ca15c
mov edx, dword [esi + 0x30]
lea eax, [ebp - 0x98]
push sym.python310.dll__Py_NoneStruct
push 0
push eax
push ebx
push esi
call fcn.101cf0c0
add esp, 0x14
test eax, eax
jne 0x101cd3e4
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x101ca186
mov edx, dword [esi + 0x2c]
lea eax, [ebp - 0x98]
push sym.python310.dll__Py_NoneStruct
push 0
push eax
push ebx
push esi
call fcn.101cf0c0
add esp, 0x14
test eax, eax
jne 0x101cd3e4
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x2c]
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x50], eax
add ecx, 0x10
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x9c], eax
lea eax, [ebx + 0x134]
mov dword [ebp - 0x6c], eax
mov eax, dword [edx + 0x14]
add eax, 0x4d
mov dword [ebp - 0x20], ecx
mov byte [ebx + 0x40], 0
lea eax, [ebx + eax*4]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x34]
inc eax
lea edi, [ecx + eax*2]
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x28], 0xffffffff
lea esi, [eax + ecx*4]
mov eax, dword [edx + 0x60]
mov ecx, dword [0x103cdd34]
mov dword [ebp - 0x2c], esi
cmp eax, ecx
jge 0x101ca1f8
inc eax
mov dword [edx + 0x60], eax
cmp eax, ecx
jne 0x101ca1f8
mov ecx, edx
call fcn.100eb750
test eax, eax
js 0x101cd3e4
cmp dword [ebp + 0x10], 0
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [ebp - 0xa0], eax
jne 0x101ca2d9
nop dword [eax]
mov ecx, dword [ebp - 0x54]
xor edx, edx
call fcn.10014cd0
test eax, eax
je 0x101ca24a
movzx eax, word [edi]
movzx eax, al
cmp eax, 0x7a
je 0x101ca24a
cmp eax, 0x8f
je 0x101ca24a
cmp eax, 0x34
je 0x101ca24a
cmp eax, 0x48
je 0x101ca24a
mov ecx, dword [ebp - 0x30]
call fcn.101c9f50
test eax, eax
jne 0x101ca2d9
mov ecx, dword [ebp - 0x20]
nop dword [eax]
mov edx, dword [ebx + 0x34]
mov eax, edi
sub eax, ecx
sar eax, 1
mov dword [ebx + 0x34], eax
movzx ebx, word [edi]
add edi, 2
movzx ecx, bl
shr ebx, 8
cmp dword [ebp - 0x7c], 0
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], edi
je 0x101ca3cc
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x28], 0
je 0x101ca3cc
cmp dword [eax + 0x1c], 0
jne 0x101ca3cc
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
push edx
push ecx
push ebx
sub esi, dword [ebx + 0x20]
sar esi, 2
mov dword [ebx + 0x28], esi
mov edx, dword [eax + 0x30]
mov ecx, dword [eax + 0x28]
push eax
call fcn.101cf330
mov ecx, dword [ebx + 0x34]
add esp, 0x10
mov edx, dword [ebp - 0x20]
lea edi, [edx + ecx*2]
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x20]
lea esi, [ecx + edx*4]
mov edx, ebx
mov dword [ebp - 0x2c], esi
mov dword [edx + 0x28], 0xffffffff
test eax, eax
je 0x101ccc29
mov ecx, dword [ebp - 0x30]
call fcn.101c8ab0
test eax, eax
jne 0x101ca2fb
push str.error_return_without_exception_set
push dword [sym.python310.dll_PyExc_SystemError]
push dword [ebp - 0x30]
call sym.python310.dll__PyErr_SetString
add esp, 0xc
push ebx
call sym.python310.dll_PyTraceBack_Here
mov eax, dword [ebp - 0x30]
add esp, 4
cmp dword [eax + 0x28], 0
je 0x101ca328
lea ecx, [ebp - 0x98]
mov byte [ebx + 0x40], 2
mov edx, dword [eax + 0x30]
push ecx
mov ecx, dword [eax + 0x28]
push ebx
push eax
call fcn.101ceea0
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x40], 2
nop
mov eax, dword [edx + 0x3c]
test eax, eax
jle 0x101cd331
mov ecx, dword [edx + 0x20]
dec eax
mov dword [edx + 0x3c], eax
lea eax, [eax + eax*2]
mov ebx, dword [edx + eax*4 + 0x4c]
lea edi, [edx + eax*4]
mov eax, dword [edi + 0x44]
mov edx, esi
sub edx, ecx
sar edx, 2
cmp eax, 0x101
jne 0x101cd1da
lea eax, [ebx + 3]
cmp edx, eax
jle 0x101ca390
nop dword [eax + eax]
mov ecx, dword [esi - 4]
sub esi, 4
call fcn.101c8810
mov eax, dword [ebp - 0x1c]
mov ecx, esi
sub ecx, dword [eax + 0x20]
mov eax, dword [edi + 0x4c]
sar ecx, 2
add eax, 3
cmp ecx, eax
jg 0x101ca370
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0x50]
mov eax, dword [esi - 4]
mov ecx, dword [edx]
mov edi, dword [edx + 4]
mov ebx, dword [edx + 8]
mov dword [edx], eax
mov eax, dword [esi - 8]
sub esi, 0xc
mov dword [edx + 4], eax
mov eax, dword [esi]
mov dword [edx + 8], eax
call fcn.101c8810
mov ecx, edi
call fcn.101c8810
mov ecx, ebx
call fcn.101c8810
mov edx, dword [ebp - 0x1c]
jmp 0x101ca330
mov edx, dword [ebp - 0x1c]
nop
mov dword [ebp - 0x34], esi
nop dword [eax]
nop word [eax + eax]
lea eax, [ecx - 1]
cmp eax, 0xa4
ja case.default.0x101ca3ee
jmp dword [eax*4 + 0x101cd430]
movzx ebx, word [edi]
movzx ecx, bl
shr ebx, 8
add edi, 2
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], edi
jmp 0x101ca3d0
enter 0x5a8a, 2
mov bl, byte [edx + 2]
test bl, bl
je 0x101cd1a4
xor byte [ecx], bl
mov bl, byte [ecx]
not bl
test bl, bl
mov byte [ecx], bl
je 0x101cd1b1
inc ecx
jmp 0x101cd19b
mov byte [edx + 3], 1
pop ebx
ret
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x101cd1d9
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
cmp dword [esp + 0xc], edx
push eax
or al, 0x39
push esp
and al, 0xc
jb 0x101cd1ea
add edx, ecx
cmp dword [esp + 0xc], edx
jb 0x101cd1f4
inc edi
add eax, 0x28
cmp edi, esi
jb 0x101cd1cf
xor eax, eax
pop edi
pop esi
ret
sub esi, edi
invalid
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [esi + 0x10]
add eax, ebx
cmp dword [ebp + 0xc], eax
jne 0x101cd339
call fcn.101cd177
jl 0x101cd2e0
push es
mov eax, dword fs:[ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
jne 0x101cd348
mov eax, dword [esi + 0x14]
add dword [ebp - 0x10], 4
inc ebx
dec eax
cmp ebx, eax
jbe 0x101cd31e
jmp 0x101cd30a
mov eax, dword [edi + ebx*4]
shl eax, 6
add eax, dword [ebp + 8]
jmp 0x101cd30c
lodsd eax, dword [esi]
ret 0x45c6
call fcn.101cd187
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.101cd13c
add esp, 16
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x101cd465
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
call fcn.101cd177
insd dword es:[edi], dx
loop 0x101cd508
popfd
lea eax, [ebp - 0x40]
push eax
call fcn.101cd187
push eax
push esi
push dword [ebp + 8]
call fcn.101cd13c
add esp, 0x10
mov dword [ebp - 0x88], eax
call fcn.101cd177
cmp cl, ch
mov cl, 0xda
lea eax, [ebp - 0x18]
mov byte [ebp - 0x18], bl
push eax
mov byte [ebp - 0x17], bl
mov byte [ebp - 0x16], 0x40
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x14], 0xe9
mov byte [ebp - 0x13], 0xd6
mov byte [ebp - 0x12], 0xcd
mov byte [ebp - 0x11], 0xcb
mov byte [ebp - 0x10], 0xca
mov byte [ebp - 0xf], 0xde
mov byte [ebp - 0xe], 0xd3
mov byte [ebp - 0xd], 0xf9
inc ebp
rol esi, cl
inc ebp
stc
mov byte [ebp - 0xc], 0xcd
mov byte [ebp - 0xb], 0xda
mov byte [ebp - 0xa], 0xda
mov byte [ebp - 9], 0xbf
call fcn.101cd187
push eax
push esi
push dword [ebp + 8]
call fcn.101cd13c
mov dword [ebp - 8], eax
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x6c], bl
mov byte [ebp - 0x6b], bl
mov byte [ebp - 0x6a], 0xbe
mov byte [ebp - 0x69], bl
mov byte [ebp - 0x68], 0x17
mov byte [ebp - 0x67], 0x28
mov byte [ebp - 0x66], 0x33
mov byte [ebp - 0x65], 0x35
mov byte [ebp - 0x64], 0x34
mov byte [ebp - 0x63], 0x20
mov byte [ebp - 0x62], 0x2d
mov byte [ebp - 0x61], 0x11
mov byte [ebp - 0x60], 0x33
mov byte [ebp - 0x5f], 0x2e
mov byte [ebp - 0x5e], 0x35
mov byte [ebp - 0x5d], 0x24
mov byte [ebp - 0x5c], 0x22
mov byte [ebp - 0x5b], 0x35
mov byte [ebp - 0x5a], 0x41
call fcn.101cd187
push eax
push esi
push dword [ebp + 8]
call fcn.101cd13c
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], bl
push eax
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0xd4
mov byte [ebp - 0x29], bl
aad 0xc6
inc ebp
salc
aam 0x88
pop ebp
xlatb
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
mov byte [ebp - 0x25], 0x4f
mov byte [ebp - 0x24], 0x67
mov byte [ebp - 0x23], 0x42
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.101cd187
push eax
push esi
push dword [ebp + 8]
call fcn.101cd13c
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.101cd177
movsb byte es:[edi], byte [esi]
out dx, eax
jmp 0x101cd59c