Function at 0x10043ac0
Capabilities:
Allocate or change rwx memory
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
push edi
pushfd
push ebp
mov ebp, esp
sub esp, 0x154
mov dword [ebp - 0x150], eax
lea eax, [ebp + 4]
mov dword [ebp - 0x148], ecx
sub eax, 4
mov ecx, 0xfffffff
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x144], edi
mov dword [ebp - 0xec], eax
lea esi, [eax + 0xc]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x7c], eax
mov eax, dword [eax]
shr eax, 1
and eax, ecx
and ebx, ecx
mov ecx, dword [0x1007b9bc]
mov dword [ebp - 0x70], ecx
xor edx, edx
lea ecx, [ecx + eax - 1]
mov eax, ecx
div dword [ebp - 0x70]
mov eax, dword [0x1007b9bc]
mov edi, 0x10000000
mov dword [ebp - 0xcc], esi
add ebx, edi
sub ecx, edx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0x80], ecx
mov eax, dword [0x10012044]
mov dword [ebp - 0x88], eax
mov eax, dword [0x1007b9bc]
mov eax, dword [0x10012044]
test eax, eax
je 0x10043bfe
and dword [ebp - 0x6c], 0
mov eax, dword [0x10012044]
dec eax
lea ecx, [eax + 1]
mov dword [ebp - 0x5c], ecx
xor eax, eax
test ecx, ecx
je 0x10043ba1
mov edx, dword [0x1012ee38]
shr dword [ebp - 0x5c], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1012ee38], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x5c], 0
jne 0x10043b77
xor edx, edx
div ecx
cmp dword [ebp - 0x88], 0
mov dword [ebp - 0x5c], edx
jbe 0x10043bf0
lea edx, [edx*4 + 0x1012ee90]
mov eax, 0x3c6f
mov ecx, 0xffffc390
inc dword [ebp - 0x6c]
lock cmpxchg dword [edx], ecx
cmp eax, 0x3c6f
je 0x10043ddc
mov eax, dword [ebp - 0x5c]
inc eax
xor edx, edx
mov ecx, dword [0x10012044]
div ecx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], edx
cmp eax, dword [ebp - 0x88]
jb 0x10043bb1
and dword [ebp - 0x60], 0
cmp dword [ebp - 0x60], 0
jne 0x10043c84
call dword [sym.imp.kernel32.dll_GetLastError]
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x70], eax
inc dword [ebp - 0x5c]
push 0x40
push 0x1000
push dword [ebp - 0x80]
push 0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
jne 0x10043df3
push eax
call dword [sym.imp.kernel32.dll_Sleep]
cmp dword [ebp - 0x5c], 0x11
jb 0x10043c0b
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x60]
cmp dword [0x1011fbc8], eax
ja 0x10043c48
test al, 3
je 0x10043c60
test eax, eax
je 0x10043c5c
push 0x8000
push 0
push dword [ebp - 0x60]
call dword [sym.imp.kernel32.dll_VirtualFree]
and dword [ebp - 0x60], 0
push dword [ebp - 0x70]
call dword [sym.imp.kernel32.dll_SetLastError]
cmp dword [ebp - 0x60], 0
je 0x10043b44
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x10043c84
mov byte [eax], 0
inc eax
dec ecx
jne 0x10043c7d
mov eax, 0x5a5c691f
add dword [esi], 8
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax]
shr esi, 1
and esi, 0xfffffff
lea eax, [esi + ebx]
mov dword [ebp - 0x70], eax
mov eax, dword [0x1007b9bc]
sub eax, esi
lea ecx, [eax + 1]
mov dword [ebp - 0x84], ebx
mov edx, ecx
sub dword [ebp - 0x84], edi
xor eax, eax
mov dword [ebp - 0x7c], esi
test ecx, ecx
je 0x10043ce7
mov ebx, dword [0x1012ee38]
imul ebx, ebx, 0x343fd
add ebx, 0x269ec3
mov dword [0x1012ee38], ebx
shr ebx, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, ebx
test edx, edx
jne 0x10043cc0
xor edx, edx
div ecx
mov eax, dword [ebp - 0x60]
lea ebx, [edx + eax]
push ebx
push esi
push dword [ebp - 0x84]
mov dword [ebp - 0x6c], ebx
mov eax, 0xe2dba867
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd4]
add esp, 0xc
test esi, esi
mov dword [ebp - 0x88], ebx
mov ebx, 0xfffff000
mov dword [ebp - 0xf4], ecx
mov byte [ebp - 0x55], 0
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x80], eax
je 0x10044457
lea eax, [ebp - 0xf4]
push eax
mov eax, 0x30035b98
mov esi, dword [ebp - 0xf4]
and dword [ebp - 0x68], 0
and dword [ebp - 0x64], 0
pop ecx
mov eax, 0xfffffff
mov ecx, dword [ebp - 0xf0]
and ecx, eax
and esi, eax
mov dword [ebp - 0x5c], ecx
mov eax, edi
add esi, edi
mov ecx, dword [0x1001256c]
sub eax, ecx
mov dword [ebp - 0xf8], eax
jne 0x10043dfb
xor ebx, ebx
cmp dword [ebp - 0x5c], ebx
jbe 0x10044068
mov ecx, 0x7fffffff
mov edi, 0x13023717
movzx edx, byte [ebx + esi]
sub edx, edi
add dword [ebp - 0x68], edx
add edx, dword [ebp - 0x64]
mov eax, edx
imul eax, eax, 0x5858
rol eax, 9
ror edx, 9
xor eax, edx
mov edx, 0xecfdc8e9
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
add dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
inc ebx
cmp ebx, dword [ebp - 0x5c]
jb 0x10043d91
jmp 0x10044068
mov eax, dword [0x1007b9bc]
imul eax, dword [ebp - 0x5c]
lea eax, [eax + section..data]
mov dword [ebp - 0x60], eax
jmp 0x10043bf4
mov dword [ebp - 0x60], eax
jmp 0x10043c39
mov eax, dword [ebp - 0x5c]
mov ecx, esi
mov edx, dword [0x1000003c]
add eax, esi
mov dword [ebp - 0xd0], eax
lea edx, [edx + 0x100000a0]
mov eax, dword [edx]
add eax, edi
sub ecx, edi
mov edx, dword [edx + 4]
mov dword [ebp - 0x78], edx
mov edi, ecx
mov edx, ecx
and edi, ebx
sub edx, edi
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x5c]
add ecx, edx
mov edx, ecx
and edx, ebx
sub ecx, edx
mov ebx, eax
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0xe8], edx
add ecx, eax
cmp eax, ecx
mov dword [ebp - 0xe0], ecx
je 0x10043e5e
cmp dword [ebx], edi
jae 0x10043e5e
add ebx, dword [ebx + 4]
cmp ebx, ecx
jne 0x10043e53
and dword [ebp - 0xd8], 0
cmp ebx, ecx
je 0x10043e97
cmp dword [ebx], edi
jne 0x10043e97
mov ecx, dword [ebx + 4]
sub ecx, 8
shr ecx, 1
je 0x10043e97
lea edi, [ebx + 8]
movzx eax, word [edi]
and eax, 0xfff
cmp eax, dword [ebp - 0x74]
jae 0x10043e97
inc dword [ebp - 0xd8]
inc edi
inc edi
cmp dword [ebp - 0xd8], ecx
jne 0x10043e7a
mov ecx, 0x7fffffff
mov edi, 0x13023717
jmp 0x10043ea9
mov edx, dword [ebp - 0xe8]
cmp ebx, dword [ebp - 0xe0]
je 0x1004400d
cmp dword [ebx], edx
ja 0x1004400d
mov eax, dword [ebx + 4]
add eax, 0xfffffff8
shr eax, 1
cmp dword [ebp - 0xd8], eax
jne 0x10043ef3
add ebx, dword [ebx + 4]
cmp ebx, dword [ebp - 0xe0]
je 0x1004400d
mov eax, dword [ebp - 0xe8]
cmp dword [ebx], eax
ja 0x1004400d
and dword [ebp - 0xd8], 0
jmp 0x10043ebd
mov eax, dword [ebp - 0xe8]
cmp dword [ebx], eax
jne 0x10043f19
mov eax, dword [ebp - 0xd8]
movzx eax, word [ebx + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xe4]
jae 0x1004400d
mov edx, dword [ebp - 0xd8]
mov eax, 0xf000
inc dword [ebp - 0xd8]
test word [ebx + edx*2 + 8], ax
je 0x10043ea3
movzx eax, word [ebx + edx*2 + 8]
mov edx, dword [ebx]
and dword [ebp - 0x5c], 0
and eax, 0xfff
lea eax, [eax + edx + 0x10000000]
mov dword [ebp - 0x74], eax
sub dword [ebp - 0x74], esi
mov dword [ebp - 0x78], eax
je 0x10043fa8
mov eax, dword [ebp - 0x5c]
movzx edx, byte [eax + esi]
sub edx, edi
add dword [ebp - 0x68], edx
add edx, dword [ebp - 0x64]
mov eax, edx
imul eax, eax, 0x5858
rol eax, 9
ror edx, 9
xor eax, edx
mov edx, 0xecfdc8e9
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
add dword [ebp - 0x68], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x74]
jb 0x10043f57
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub eax, dword [ebp - 0xf8]
xor esi, esi
mov dword [ebp - 0xfc], eax
movzx edx, byte [ebp + esi - 0xfc]
sub edx, edi
add dword [ebp - 0x68], edx
add edx, dword [ebp - 0x64]
mov eax, edx
imul eax, eax, 0x5858
rol eax, 9
ror edx, 9
xor eax, edx
mov edx, 0xecfdc8e9
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
add dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
inc esi
cmp esi, 4
jb 0x10043fb8
mov esi, dword [ebp - 0x78]
add esi, 4
jmp 0x10043ea3
mov eax, dword [ebp - 0xd0]
xor ebx, ebx
sub eax, esi
mov dword [ebp - 0xd0], eax
je 0x10044068
movzx edx, byte [ebx + esi]
sub edx, edi
add dword [ebp - 0x68], edx
add edx, dword [ebp - 0x64]
mov eax, edx
imul eax, eax, 0x5858
rol eax, 9
ror edx, 9
xor eax, edx
mov edx, 0xecfdc8e9
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, ecx
add eax, edx
add dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
inc ebx
cmp ebx, dword [ebp - 0xd0]
jb 0x1004401f
xor edi, edi
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0x68]
mov byte [ebp + eax - 0x54], cl
inc eax
cmp eax, 0x10
jb 0x1004406c
mov eax, 0xfe1119b4
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x110], eax
mov eax, dword [0x10120760]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x128], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x114], ecx
lea ecx, [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x6c]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], edi
mov dword [ebp - 0xd0], eax
push 0x10
lea edi, [ebp - 0xc8]
pop ecx
lea esi, [ebp - 0x13c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0x78], 2
mov ebx, dword [ebp - 0xc4]
lea edi, [edx + esi]
rol edi, 7
xor eax, edi
lea edi, [esi + eax]
rol edi, 9
xor ecx, edi
lea edi, [ecx + eax]
rol edi, 0xd
xor edx, edi
lea edi, [ecx + edx]
ror edi, 0xe
xor esi, edi
mov edi, dword [ebp - 0xb4]
add ebx, edi
rol ebx, 7
xor dword [ebp - 0xa4], ebx
mov ebx, dword [ebp - 0xa4]
add edi, ebx
rol edi, 9
xor dword [ebp - 0x94], edi
mov edi, ebx
mov ebx, dword [ebp - 0x94]
add ebx, edi
rol ebx, 0xd
mov edi, dword [ebp - 0x94]
xor dword [ebp - 0xc4], ebx
mov ebx, dword [ebp - 0xc4]
add edi, ebx
mov ebx, dword [ebp - 0xa0]
ror edi, 0xe
xor dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0xb0]
add edi, ebx
rol edi, 7
xor dword [ebp - 0x90], edi
mov edi, ebx
mov ebx, dword [ebp - 0x90]
add edi, ebx
rol edi, 9
xor dword [ebp - 0xc0], edi
mov edi, ebx
mov ebx, dword [ebp - 0xc0]
add ebx, edi
mov edi, dword [ebp - 0xc0]
rol ebx, 0xd
xor dword [ebp - 0xb0], ebx
mov ebx, dword [ebp - 0xb0]
add edi, ebx
ror edi, 0xe
mov ebx, dword [ebp - 0x8c]
xor dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0x9c]
add edi, ebx
rol edi, 7
xor dword [ebp - 0xbc], edi
mov edi, ebx
mov ebx, dword [ebp - 0xbc]
add edi, ebx
rol edi, 9
xor dword [ebp - 0xac], edi
mov edi, ebx
mov ebx, dword [ebp - 0xac]
add ebx, edi
rol ebx, 0xd
mov edi, dword [ebp - 0xac]
xor dword [ebp - 0x9c], ebx
mov ebx, dword [ebp - 0x9c]
add edi, ebx
ror edi, 0xe
xor dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0xbc]
add edi, esi
rol edi, 7
xor dword [ebp - 0xc4], edi
mov edi, dword [ebp - 0xc4]
add edi, esi
rol edi, 9
xor dword [ebp - 0xc0], edi
mov ebx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
add ebx, edi
mov edi, dword [ebp - 0xc0]
rol ebx, 0xd
xor dword [ebp - 0xbc], ebx
mov ebx, dword [ebp - 0xbc]
add ebx, edi
mov edi, dword [ebp - 0xb4]
add edi, eax
ror ebx, 0xe
xor esi, ebx
rol edi, 7
xor dword [ebp - 0xb0], edi
mov ebx, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xb4]
add ebx, edi
rol ebx, 9
mov edi, dword [ebp - 0xb0]
xor dword [ebp - 0xac], ebx
mov ebx, dword [ebp - 0xac]
add ebx, edi
mov edi, dword [ebp - 0xac]
rol ebx, 0xd
xor eax, ebx
mov ebx, dword [ebp - 0xa4]
add edi, eax
ror edi, 0xe
xor dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0xa0]
add edi, ebx
rol edi, 7
xor dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0x9c]
add ebx, edi
rol ebx, 9
mov edi, dword [ebp - 0x9c]
xor ecx, ebx
add edi, ecx
rol edi, 0xd
mov ebx, dword [ebp - 0x90]
xor dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0xa4]
add edi, ecx
ror edi, 0xe
xor dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0x8c]
add edi, ebx
rol edi, 7
xor edx, edi
mov edi, dword [ebp - 0x8c]
add edi, edx
rol edi, 9
xor dword [ebp - 0x94], edi
mov edi, dword [ebp - 0x94]
add edi, edx
rol edi, 0xd
xor dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x90]
add ebx, edi
ror ebx, 0xe
xor dword [ebp - 0x8c], ebx
dec dword [ebp - 0x78]
jne 0x1004414a
mov dword [ebp - 0x98], edx
xor edx, edx
push 0x40
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xc8], esi
xor eax, eax
pop ebx
mov ecx, dword [ebp + eax - 0x13c]
add dword [ebp + eax - 0xc8], ecx
add eax, 4
cmp eax, ebx
jl 0x100443bc
inc dword [ebp - 0x11c]
push 0x10
lea edi, [ebp - 0x44]
pop ecx
lea esi, [ebp - 0xc8]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x60], ebx
jbe 0x10044420
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0xd0]
lea edi, [esi + eax]
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + edi]
xor al, byte [ecx]
xor byte [ebp - 0x55], al
inc edx
mov byte [ecx + esi], al
cmp edx, ebx
jb 0x100443f6
sub dword [ebp - 0x60], ebx
add dword [ebp - 0x88], ebx
add esi, ebx
add dword [ebp - 0x80], ebx
mov dword [ebp - 0x74], esi
jmp 0x1004411a
cmp dword [ebp - 0x60], edx
jbe 0x1004444a
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x80]
lea eax, [ebp - 0x44]
sub esi, eax
sub edi, eax
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + esi]
xor al, byte [ecx]
xor byte [ebp - 0x55], al
mov byte [ecx + edi], al
inc edx
cmp edx, dword [ebp - 0x60]
jb 0x10044435
mov edi, 0x10000000
mov esi, dword [ebp - 0x7c]
mov ebx, 0xfffff000
mov eax, dword [ebp - 0x70]
mov al, byte [eax + 8]
xor al, byte [ebp - 0x55]
je 0x100444f8
call fcn.10038eae
mov edi, dword [ebp - 0xcc]
mov edx, 0xffff
mov esi, eax
and edi, 0xfffffffc
lea ecx, [edi + 0xfff]
mov eax, dword [ebp - 0xec]
mov dword [eax + 8], 0x100f1b6e
and esi, ebx
and ecx, ebx
xor eax, eax
mov ebx, dword [0x1012ee38]
imul ebx, ebx, 0x343fd
add ebx, 0x269ec3
mov dword [0x1012ee38], ebx
shr ebx, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, ebx
test edx, edx
jne 0x10044494
mov ebx, 0xffff
div ebx
mov eax, edi
inc edx
cmp edi, ecx
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x148], edx
mov dword [ebp - 0xcc], 0
jae 0x100444ee
mov edx, dword [ebp - 0xcc]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jb 0x100444df
mov eax, 0x100f1b6e
jmp 0x100445d4
mov ecx, dword [0x1001256c]
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
sub edi, ecx
mov dword [ebp - 0x70], edi
jne 0x10044519
test eax, eax
je 0x100445c7
mov eax, dword [ebp - 0x84]
mov edi, dword [ebp - 0x6c]
mov ecx, dword [0x10103928]
sub edi, dword [ebp - 0xd4]
add eax, esi
mov dword [ebp - 0xcc], eax
xor esi, esi
dec ecx
js 0x10044566
lea eax, [esi + ecx]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1010392c]
and edx, 0xfffffff
cmp dword [ebp - 0x84], edx
jae 0x1004455d
lea ecx, [eax - 1]
jmp 0x10044562
jbe 0x1004456a
lea esi, [eax + 1]
cmp ecx, esi
jge 0x1004453b
mov ebx, esi
jmp 0x100445bf
mov ebx, eax
jmp 0x100445bf
mov eax, dword [ebx*4 + 0x1010392c]
mov ecx, eax
and ecx, 0xfffffff
cmp ecx, dword [ebp - 0xcc]
jae 0x100445c7
lea esi, [ecx + edi + 0x10000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x100445b2
dec ecx
je 0x100445ad
dec ecx
jne 0x100445b8
mov edx, dword [ebp - 0x70]
jmp 0x100445b8
mov edx, dword [ebp - 0x7c]
jmp 0x100445b8
mov edx, dword [ebp - 0x70]
sub edx, dword [ebp - 0x7c]
dec eax
dec eax
jne 0x100445be
add dword [esi], edx
inc ebx
cmp ebx, dword [0x10103928]
jb 0x1004456e
mov eax, dword [0x1007b9bc]
mov eax, 0x709b376f
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x148]
mov edi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
mov esi, dword [ebp - 0x140]
mov esp, ebp
pop ebp
popfd
ret