Function at 0x10043340
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x38
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x2c], eax
mov eax, dword [0x100c21f8]
xor eax, ebp
mov dword [esi + 0x30], eax
cmp dword [0x100c2d48], 0
jne 0x1004339b
mov al, byte [0x100c0008]
xor al, 0x69
mov byte [0x100c000c], al
mov al, byte [0x100c0009]
xor al, 0x28
mov byte [0x100c000d], al
mov al, byte [0x100c000a]
xor al, 0xd5
mov byte [0x100c000e], al
mov al, byte [0x100c000b]
xor al, 0x83
mov byte [0x100c000f], al
mov eax, dword [esi + 0x2c]
mov dword [0x100c2d48], 1
push eax
mov ecx, esp
mov dword [esi + 4], ecx
push eax
mov edi, esp
sub esp, 8
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x10], ecx
mov esp, ecx
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov esp, ecx
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 8], ecx
mov esp, ecx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x20], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x1c], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x18], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x14], edx
mov esp, edx
push eax
mov edx, esp
mov dword [esi + 0x28], edx
push eax
mov edx, esp
mov dword [esi + 0x24], edx
mov dword [edi], eax
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.10043970
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov eax, esp
mov dword [eax], edx
call fcn.100439e0
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100438e0
mov ecx, dword [esi + 0x10]
add esp, 8
call fcn.10043c00
mov ecx, eax
sub esp, 0x10
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0x3e8
call fcn.100698b0
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov ecx, dword [edi]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
mov ecx, dword [esi + 0x14]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.10043970
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov eax, esp
mov dword [eax], edx
call fcn.100439e0
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100438e0
mov ecx, dword [esi + 0x1c]
add esp, 8
call fcn.10043c00
mov ecx, eax
sub esp, 0x10
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0x3e8
call fcn.100698b0
mov ecx, eax
mov eax, edx
mov edx, dword [esi + 0x20]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi + 0x28]
mov edx, dword [edx]
mov ebx, dword [ebx]
sub edx, ebx
mov edi, dword [edi]
sub edx, edi
mov dword [ecx], edx
mov ecx, dword [0x100c000c]
mov dword [eax], ecx
sub esp, 8
mov dword [esp], 0x19
mov dword [esp + 4], eax
call fcn.1000f9d0
mov eax, dword [esi + 0x28]
add esp, 8
cmp dword [eax], 0
jge 0x100438a8
mov eax, dword [0x100c1728]
xor eax, dword [0x100c172c]
or eax, 0x3bb222b8
sub eax, 0xd0b37ba
mov ecx, 0x7c88d319
xor edx, edx
div ecx
imul eax, eax, 0x116799dd
mov ecx, 0xc0bea769
xor edx, edx
div ecx
mov ecx, 0x73886414
xor edx, edx
div ecx
mov ecx, 0xaf6d5b56
xor edx, edx
div ecx
imul eax, eax, 0xb55690e4
or eax, 0x516d8448
add eax, 0xe26533b9
sub eax, 0xadf2b505
add eax, 0x71e1b6b7
imul eax, eax, 0xe4e873d3
imul eax, eax, 0xca787fcb
xor eax, 0x38f6e9a3
and eax, 0xf044bc46
and eax, 0xcf028f84
sub eax, 0x8e77877
mov ecx, 0x5db9b7fd
xor edx, edx
div ecx
imul eax, eax, 0x8c99a1ad
add eax, 0x41bd1503
add eax, 0xf0db9720
add eax, 0x992dea20
add eax, 0x4003e229
and eax, 0xffdc709d
or eax, 0xdcf76c4b
xor eax, 0x69cf5e6b
sub eax, 0xd4f25b4a
mov ecx, 0x350840e6
xor edx, edx
div ecx
imul eax, eax, 0x9fae44b7
add eax, 0x31496399
imul eax, eax, 0x819aa88d
add eax, 0xc895cff6
xor eax, 0x99c7f7c0
xor eax, 0xfe2086ec
imul eax, eax, 0x75b1dd11
xor eax, 0xccc5365b
xor eax, 0x997dfb04
imul eax, eax, 0x34d75d82
or eax, 0xf4fb0aee
mov ecx, 0xa8bfa4b0
xor edx, edx
div ecx
sub eax, 0x7213057d
and eax, 0x11d7953c
xor eax, 0xcde645ea
and eax, 0xeb3ee1f3
add eax, 0x1a267efc
add eax, 0x6ef849a9
and eax, 0x5a27c40a
and eax, 0x7d8d9a35
mov ecx, 0xc1d1296e
xor edx, edx
div ecx
sub eax, 0xe0a9a0c9
mov ecx, 0x82108487
xor edx, edx
div ecx
and eax, 0x632ccab3
and eax, 0xc35ddd08
mov ecx, 0xdd58790f
xor edx, edx
div ecx
mov ecx, 0x19a9f688
xor edx, edx
div ecx
imul eax, eax, 0x8bb9b296
xor eax, 0x455c3691
and eax, 0xb32547a0
xor eax, 0x2d0c50f7
mov ecx, 0xb0e963dc
xor edx, edx
div ecx
add eax, 0x3eb10659
sub eax, 0x4a28e8d8
or eax, 0x3c92bbe8
xor eax, 0x6adef2a2
and eax, 0xcb63eb33
add eax, 0x5c056da6
or eax, 0x40f2569f
and eax, 0x37c7bd5a
imul eax, eax, 0x157ae94d
xor eax, 0x73100add
and eax, 0xc6284058
cmp eax, 0x9d0cb73a
je 0x100438cc
mov ecx, dword [esi + 4]
mov eax, dword [str.N3L_]
sub eax, dword [0x100c1734]
imul eax, eax, 0x5b43c3c4
imul eax, eax, 0xd63d6e24
imul eax, eax, 0x3746091d
sub eax, 0x8f795394
sub eax, 0x73ad39ef
add eax, 0x9694b5d8
add eax, 0x160a501b
mov edi, 0xcefde142
xor edx, edx
div edi
imul eax, eax, 0x3d8e54ee
or eax, 0x5f65768
or eax, 0x56f56631
imul eax, eax, 0x791dc37d
or eax, 0xfaf770cc
add eax, 0x64ff0b80
mov edi, 0x8b10ad19
xor edx, edx
div edi
xor eax, 0xf291c5d8
sub eax, 0x794018b3
add eax, 0x6ee00376
imul eax, eax, 0x9798257b
and eax, 0x43724cb7
imul eax, eax, 0x61b6f745
add eax, 0xc7f12abb
or eax, 0x40205777
imul eax, eax, 0x95a332
imul eax, eax, 0xeef93bc4
imul eax, eax, 0x82f8f266
xor eax, 0xe26bdee
or eax, 0x8af9f281
imul eax, eax, 0xeae25799
or eax, 0xfd55ab31
and eax, 0x94be982b
xor eax, 0x1067da3f
mov edi, 0xf5c74574
xor edx, edx
div edi
or eax, 0x76a76cdf
add eax, 0x6af4fcbd
or eax, 0x2493714d
or eax, 0xae538170
imul eax, eax, 0x65702bf3
sub eax, 0xe9b72617
mov edi, 0x2e3a698c
xor edx, edx
div edi
sub eax, 0xdce4bc47
imul eax, eax, 0x5faeb914
xor eax, 0x23ce7d81
add eax, 0x92aff123
or eax, 0x1b231438
imul eax, eax, 0x325d3ca2
xor eax, 0x20029952
mov edi, 0xd6142ead
xor edx, edx
div edi
sub eax, 0x18c561fe
or eax, 0x70ce29e3
sub eax, 0x636213f4
and eax, 0xdd7d9745
or eax, 0x87f89934
add eax, 0x13a2751b
mov edi, 0x50ee9c39
xor edx, edx
div edi
xor eax, 0x105461e1
or eax, 0x7d15ddad
mov edi, 0xcfb6c3d5
xor edx, edx
div edi
or eax, 0x4abafb13
mov edi, 0x333b19ad
xor edx, edx
div edi
and eax, 0x884a9fae
sub eax, 0x8fb907b3
xor eax, 0x650f6f3a
imul eax, eax, 0x8462b15f
add eax, 0x51fb1501
or eax, 0x138bcdea
imul eax, eax, 0x9cbf5e42
or eax, 0x351f7899
add eax, 0x8b6a974a
sub eax, 0x79c2a717
imul eax, eax, 0xd1d6e589
imul eax, eax, 0xf9d95379
mov dword [ecx], 0
cmp eax, 0x5a523d80
je 0x100436ea
jmp 0x100438b1
mov eax, dword [esi + 4]
mov dword [eax], 1
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [esi + 0x30]
xor ecx, ebp
call fcn.1006978f
mov eax, dword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 4]
mov dword [eax], 0
jmp 0x100436ea