Function at 0x100ce8f0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xd8
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0xd4], eax
push ebx
push ebp
mov al, 0x6c
push esi
mov esi, dword [esp + 0xe8]
mov dl, 0x6b
mov cl, 0x2e
push edi
mov byte [esp + 0xd4], dl
mov byte [esp + 0xd5], 0x65
mov byte [esp + 0xd6], 0x72
mov byte [esp + 0xd7], 0x6e
mov byte [esp + 0xd8], 0x65
mov byte [esp + 0xd9], al
mov byte [esp + 0xda], 0x62
mov byte [esp + 0xdb], 0x61
mov byte [esp + 0xdc], 0x73
mov byte [esp + 0xdd], 0x65
mov byte [esp + 0xde], cl
mov byte [esp + 0xdf], 0x64
mov byte [esp + 0xe0], al
mov byte [esp + 0xe1], al
mov byte [esp + 0xe2], 0
xchg ebx, eax
xchg ebx, eax
mov byte [esp + 0xc4], dl
mov bl, 0x33
mov dl, 0x32
mov byte [esp + 0xc5], 0x65
mov byte [esp + 0xc6], 0x72
mov byte [esp + 0xc7], 0x6e
mov byte [esp + 0xc8], 0x65
mov byte [esp + 0xc9], al
mov byte [esp + 0xca], bl
mov byte [esp + 0xcb], dl
mov byte [esp + 0xcc], cl
mov byte [esp + 0xcd], 0x64
mov byte [esp + 0xce], al
mov byte [esp + 0xcf], al
mov byte [esp + 0xd0], 0
push ecx
pop ecx
mov byte [esp + 0xa0], 0x6e
mov byte [esp + 0xa1], 0x74
mov byte [esp + 0xa2], 0x64
mov byte [esp + 0xa3], al
mov byte [esp + 0xa4], al
mov byte [esp + 0xa5], cl
mov byte [esp + 0xa6], 0x64
mov byte [esp + 0xa7], al
mov byte [esp + 0xa8], al
mov byte [esp + 0xa9], 0
mov eax, eax
mov byte [esp + 0xb8], 0x75
mov byte [esp + 0xb9], 0x73
mov byte [esp + 0xba], 0x65
mov byte [esp + 0xbb], 0x72
mov byte [esp + 0xbc], bl
mov byte [esp + 0xbd], dl
mov byte [esp + 0xbe], cl
mov byte [esp + 0xbf], 0x64
mov byte [esp + 0xc0], al
mov byte [esp + 0xc1], al
mov byte [esp + 0xc2], 0
mov al, al
mov byte [esp + 0xac], 0x69
mov byte [esp + 0xad], 0x6d
mov byte [esp + 0xae], 0x6d
mov byte [esp + 0xaf], bl
mov byte [esp + 0xb0], dl
mov byte [esp + 0xb1], cl
mov byte [esp + 0xb2], 0x64
mov byte [esp + 0xb3], al
mov byte [esp + 0xb4], al
mov byte [esp + 0xb5], 0
mov eax, eax
xor ebx, ebx
mov dword [esp + 0x3c], ebx
mov edx, edx
xor ebp, ebp
mov dword [esp + 0x38], ebp
push ebx
pop ebx
call fcn.10050300
test eax, eax
je 0x100ceb11
call fcn.100cdb80
mov dword [esp + 0x3c], eax
mov ecx, ecx
call fcn.100cdc60
mov dword [esp + 0x38], eax
mov ah, ah
mov ebp, eax
cmp dword [esp + 0xf0], ebx
jne 0x100cefc8
mov edi, dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
lea eax, [esp + 0xd4]
push eax
call edi
mov ebx, eax
mov dword [esp + 0x3c], ebx
nop
lea ecx, [esp + 0xc4]
push ecx
call edi
mov dword [esp + 0x2c], eax
mov ah, ah
lea edx, [esp + 0xa0]
push edx
call edi
mov dword [esp + 0x24], eax
nop
lea eax, [esp + 0xb8]
push eax
call edi
mov dword [esp + 0x28], eax
push ecx
pop ecx
lea ecx, [esp + 0xac]
push ecx
call edi
mov edi, eax
mov dword [esp + 0x5c], edi
push edx
pop edx
push ebx
call fcn.10002530
add esp, 4
mov dword [esp + 0x84], eax
mov cl, cl
mov edx, dword [esp + 0x2c]
push edx
call fcn.10002530
add esp, 4
mov dword [esp + 0x74], eax
push ecx
pop ecx
mov eax, dword [esp + 0x24]
push eax
call fcn.10002530
add esp, 4
mov dword [esp + 0x6c], eax
push ecx
pop ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10002530
add esp, 4
mov dword [esp + 0x64], eax
mov dl, dl
push edi
call fcn.10002530
add esp, 4
mov dword [esp + 0x54], eax
mov ecx, ecx
xor edi, edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov edi, edi
mov dword [esp + 0x10], edi
mov edi, edi
cmp ebp, edi
je 0x100cec07
lea edx, [esp + 0x10]
push edx
push edi
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.10037f70
add esp, 0x10
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov al, al
mov edi, edi
mov ebx, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, ebx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x50], edi
je 0x100cf35e
xor edi, edi
nop
mov ebx, dword [edi + ebx + 0x30]
cmp ebx, 0x64
jae 0x100cef27
cmp ebx, 0xa
jae 0x100cedba
mov al, al
mov edi, edi
push ebx
pop ebx
push ebx
pop ebx
mov edx, dword [esi]
mov eax, dword [edi + edx + 0x30]
test eax, eax
jne 0x100cec80
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
nop
lea ecx, [esp + 0xd4]
mov dword [esp + 0x18], ecx
push edx
pop edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x20], edx
mov bh, bh
jmp 0x100ced1e
cmp eax, 1
jne 0x100ceca8
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov ebx, ebx
lea ecx, [esp + 0xc4]
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x20], edx
mov edx, edx
jmp 0x100ced1e
cmp eax, 2
jne 0x100cecd0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov bl, bl
lea ecx, [esp + 0xa0]
mov dword [esp + 0x18], ecx
mov dh, dh
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x20], edx
mov al, al
jmp 0x100ced1e
cmp eax, 3
jne 0x100cecf8
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov cl, cl
lea ecx, [esp + 0xb8]
mov dword [esp + 0x18], ecx
mov edx, edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x20], edx
mov dl, dl
jmp 0x100ced1e
cmp eax, 4
jne 0x100ced1e
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
push edx
pop edx
lea ecx, [esp + 0xac]
mov dword [esp + 0x18], ecx
push ecx
pop ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x20], edx
mov bh, bh
mov eax, dword [esi]
mov ecx, dword [esp + 0x14]
add eax, edi
push eax
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, eax
nop
cdq
mov ebp, eax
mov eax, dword [esp + 0x14]
mov ebx, edx
cdq
cmp ebx, edx
mov dword [esp + 0x90], ebp
jb 0x100cef93
ja 0x100ced54
cmp ebp, eax
jb 0x100cef93
mov ebp, dword [esp + 0x20]
add ebp, eax
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x9c]
adc eax, edx
cmp ebx, eax
ja 0x100cef93
jb 0x100ced85
cmp dword [esp + 0x90], ebp
ja 0x100cef93
test ecx, ecx
je 0x100cef93
mov eax, dword [esi]
mov edx, ecx
sub edx, dword [esp + 0x14]
mov dword [edi + eax + 0x60], edx
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esi]
mov edx, dword [edi + eax + 0x34]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [edi + eax + 0x38]
push eax
push edx
push ecx
call fcn.100dd4b0
add esp, 0x10
jmp 0x100cef93
cmp ebx, 0x14
jae 0x100cee62
mov eax, eax
nop
push ebx
pop ebx
mov edi, edi
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x30]
cmp eax, 0xa
jne 0x100cedee
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x8c], edx
mov ah, ah
jmp 0x100cee0a
cmp eax, 0xb
jne 0x100cee0a
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], eax
mov ebp, ebp
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x8c], ecx
mov esi, esi
mov eax, dword [esi]
lea edx, [edi + eax]
mov eax, dword [esp + 0x8c]
push edx
push eax
call fcn.10011aa0
add esp, 8
mov ebx, eax
mov dl, dl
mov eax, dword [esi]
mov ebp, dword [esp + 0x7c]
lea ecx, [edi + eax]
push ecx
push ebp
push 0xffffffffffffffff
call fcn.100ce4f0
add esp, 0xc
mov ebx, ebx
test ebx, ebx
je 0x100cef93
test eax, eax
je 0x100cef93
mov edx, dword [esi]
sub eax, ebp
mov dword [edi + edx + 0x60], eax
mov cl, cl
mov eax, dword [esi]
mov dword [edi + eax + 0x38], ebx
mov esi, esi
jmp 0x100cef93
mov bl, bl
push edx
pop edx
mov eax, eax
push ecx
pop ecx
mov ecx, dword [esi]
cmp dword [edi + ecx + 0x30], 0x16
jne 0x100cee93
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov bh, bh
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x10]
mov dword [esp + 0x30], edx
push ecx
pop ecx
jmp 0x100cee9b
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov eax, dword [esi]
mov ecx, dword [esp + 0x38]
add eax, edi
push eax
push ebx
push ebp
push ecx
call fcn.100cde90
add esp, 0x10
push ecx
pop ecx
cmp edx, ebx
jb 0x100cef93
ja 0x100ceec3
cmp eax, ebp
jb 0x100cef93
mov ebx, dword [esp + 0x30]
xor ecx, ecx
add ebx, dword [esp + 0x40]
adc ecx, dword [esp + 0x44]
cmp edx, ecx
ja 0x100cef93
jb 0x100ceee3
cmp eax, ebx
ja 0x100cef93
mov ecx, eax
or ecx, edx
je 0x100cef93
mov dword [esp + 0x1c], 0
mov dl, dl
mov ebx, dword [esi]
mov ecx, eax
sub ecx, dword [esp + 0x40]
mov dword [edi + ebx + 0x60], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esi]
lea ebx, [esp + 0x1c]
push ebx
mov ebx, dword [edi + ecx + 0x34]
push ebx
lea ecx, [edi + ecx + 0x38]
push ecx
push edx
mov edx, dword [esp + 0x48]
push eax
push edx
call fcn.100524c0
add esp, 0x18
jmp 0x100cef93
jne 0x100cef57
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call fcn.10025620
add esp, 4
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esi]
mov edx, dword [ecx + edi + 0x34]
add ecx, edi
push edx
add eax, 0x2c
push eax
add ecx, 0x38
push ecx
call fcn.100fe3e0
add esp, 0xc
mov al, al
jmp 0x100cef93
cmp ebx, 0xc8
jne 0x100cef93
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call fcn.10025620
add esp, 4
mov cl, cl
mov ecx, dword [eax + 0x2c]
push edx
pop edx
mov eax, dword [esi]
mov edx, dword [eax + edi + 0x34]
add eax, edi
push edx
mov edx, dword [eax + 0x74]
lea ecx, [ecx + edx*4]
push ecx
add eax, 0x38
push eax
call fcn.100fe3e0
add esp, 0xc
mov bl, bl
mov ebx, dword [esi]
mov ecx, dword [esi + 4]
mov ebp, dword [esp + 0x50]
sub ecx, ebx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add ebp, 1
add eax, edx
add edi, 0x78
cmp ebp, eax
mov dword [esp + 0x50], ebp
jb 0x100cec30
jmp 0x100cf35e
mov dword [esp + 0x18], ebx
mov edx, edx
mov dword [esp + 0x20], ebx
mov ecx, ecx
mov dword [esp + 0x1c], ebx
mov al, al
mov dword [esp + 0x10], ebx
mov bl, bl
mov dword [esp + 0x14], ebx
mov ecx, ecx
cmp ebp, ebx
je 0x100cf35e
mov edi, dword [esp + 0x3c]
cmp edi, ebx
je 0x100cf35e
lea ecx, [esp + 0x18]
push ecx
push ebx
lea edx, [esp + 0xdc]
push edx
push ebp
call fcn.10037f70
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], edx
mov cl, cl
lea eax, [esp + 0x20]
push eax
push 0
lea ecx, [esp + 0xcc]
push ecx
push ebp
call fcn.10037f70
add esp, 0x10
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov edi, edi
lea edx, [esp + 0x1c]
push edx
push 0
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.10037f70
add esp, 0x10
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov bl, bl
lea ecx, [esp + 0x10]
push ecx
push 0
lea edx, [esp + 0xc0]
push edx
push ebp
call fcn.10037f70
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
push eax
pop eax
lea eax, [esp + 0x14]
push eax
push 0
lea ecx, [esp + 0xb4]
push ecx
push edi
call fcn.10037f70
add esp, 0x10
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov ecx, ecx
mov ebx, ebx
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
xor edi, edi
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x50], edi
je 0x100cf35e
jmp 0x100cf0da
mov ebx, dword [esp + 0x74]
xchg ebx, eax
xchg ebx, eax
mov ah, ah
mov ebx, ebx
mov edx, edx
mov dword [esp + 0x24], ebp
mov ecx, ecx
mov ecx, dword [esi]
mov eax, dword [edi + ecx + 0x30]
cmp eax, 0x64
jae 0x100cf377
cmp eax, 0xa
jae 0x100cf263
test eax, eax
jne 0x100cf121
mov edx, dword [esp + 0x78]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
mov ebp, ebp
nop
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
nop
jmp 0x100cf1c9
cmp eax, 1
jne 0x100cf149
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
push ebx
pop ebx
mov edx, edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov ecx, ecx
jmp 0x100cf1c9
cmp eax, 2
jne 0x100cf174
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov eax, eax
mov ebx, ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, eax
jmp 0x100cf1c9
cmp eax, 3
jne 0x100cf199
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov edx, edx
mov bl, bl
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov edi, edi
jmp 0x100cf1c9
cmp eax, 4
jne 0x100cf1c9
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov ah, ah
mov dh, dh
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov esi, esi
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov eax, eax
mov eax, dword [esi]
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
lea edx, [edi + eax]
mov eax, dword [esp + 0x30]
push edx
push ebx
push eax
push ecx
call fcn.100cde90
add esp, 0x10
xchg ebx, eax
xchg ebx, eax
cmp edx, ebx
jb 0x100cf330
ja 0x100cf1fc
cmp eax, dword [esp + 0x30]
jb 0x100cf330
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
add ebx, dword [esp + 0x30]
adc ecx, dword [esp + 0x34]
cmp edx, ecx
ja 0x100cf330
jb 0x100cf21c
cmp eax, ebx
ja 0x100cf330
mov ecx, eax
or ecx, edx
je 0x100cf330
mov dword [esp + 0x28], 0
push eax
pop eax
mov ebx, dword [esi]
mov ecx, eax
sub ecx, dword [esp + 0x30]
mov dword [edi + ebx + 0x60], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esi]
lea ebx, [esp + 0x28]
push ebx
mov ebx, dword [edi + ecx + 0x34]
push ebx
lea ecx, [edi + ecx + 0x38]
push ecx
push edx
mov edx, dword [esp + 0x34]
push eax
push edx
call fcn.100524c0
add esp, 0x18
jmp 0x100cf330
cmp eax, 0x14
jae 0x100cf330
push ebx
pop ebx
push eax
pop eax
mov bh, bh
mov al, al
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x30]
cmp eax, 0xa
jne 0x100cf2a5
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
push eax
pop eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
push ecx
pop ecx
jmp 0x100cf2ca
cmp eax, 0xb
jne 0x100cf2ca
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dh, dh
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ecx
mov ebx, ebx
mov eax, dword [esi]
mov ecx, dword [esp + 0x6c]
lea edx, [edi + eax]
mov eax, dword [esp + 0x70]
push edx
push eax
push ecx
push ebp
call fcn.100cde90
add esp, 0x10
mov ebp, eax
mov ebx, edx
mov ah, ah
mov eax, dword [esi]
mov ecx, dword [esp + 0x40]
lea edx, [edi + eax]
mov eax, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
call fcn.100ce5a0
add esp, 0x10
mov ecx, ecx
mov ecx, ebp
or ecx, ebx
je 0x100cf32c
mov ecx, eax
or ecx, edx
je 0x100cf32c
sub eax, dword [esp + 0x40]
mov edx, dword [esi]
mov dword [edi + edx + 0x60], eax
mov bl, bl
mov eax, dword [esi]
mov dword [edi + eax + 0x38], ebp
mov dword [edi + eax + 0x3c], ebx
push ebx
pop ebx
mov ebp, dword [esp + 0x38]
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
mov ebx, dword [esp + 0x50]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add ebx, 1
add eax, edx
add edi, 0x78
cmp ebx, eax
mov dword [esp + 0x50], ebx
jb 0x100cf0d6
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100fc49a
add esp, 0xd8
ret
cmp eax, 0x65
jne 0x100cf3a4
mov cl, cl
push ecx
pop ecx
lea eax, [esp + 0x5c]
push eax
push ebp
call fcn.10038620
add esp, 8
push eax
pop eax
mov ecx, eax
or ecx, edx
je 0x100cf330
mov ecx, dword [esi]
mov dword [edi + ecx + 0x38], eax
mov dword [edi + ecx + 0x3c], edx
mov ah, ah
jmp 0x100cf330
cmp eax, 0xc9
jne 0x100cf330
push edx
pop edx
mov ebx, ebx
lea edx, [esp + 0x64]
push edx
push ebp
call fcn.10038620
add esp, 8
push ebx
pop ebx
mov ecx, eax
or ecx, edx
je 0x100cf330
mov dword [esp + 0x24], 0
mov al, al
mov ecx, dword [esi]
add ecx, edi
lea ebx, [esp + 0x24]
push ebx
mov ebx, dword [ecx + 0x34]
push ebx
lea ebx, [ecx + 0x38]
mov ecx, dword [ecx + 0x74]
add ecx, ecx
push ebx
add ecx, ecx
add ecx, ecx
xor ebx, ebx
add ecx, eax
adc ebx, edx
push ebx
push ecx
push ebp
call fcn.100524c0
add esp, 0x18
jmp 0x100cf330