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

Disassembly:
sub esp, 0xd8
mov eax, dword [0x101b03d4]
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
push eax
pop 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
mov edx, edx
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 bh, bh
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
push ebx
pop ebx
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 edx, edx
xor ebx, ebx
mov dword [esp + 0x3c], ebx
xchg ebx, eax
xchg ebx, eax
xor ebp, ebp
mov dword [esp + 0x38], ebp
push edx
pop edx
call fcn.1004fc80
test eax, eax
je 0x100cd771
call fcn.100cc7e0
mov dword [esp + 0x3c], eax
mov edi, edi
call fcn.100cc8c0
mov dword [esp + 0x38], eax
mov al, al
mov ebp, eax
cmp dword [esp + 0xf0], ebx
jne 0x100cdc2b
mov edi, dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
lea eax, [esp + 0xd4]
push eax
call edi
mov ebx, eax
mov dword [esp + 0x3c], ebx
mov ch, ch
lea ecx, [esp + 0xc4]
push ecx
call edi
mov dword [esp + 0x2c], eax
mov edx, edx
lea edx, [esp + 0xa0]
push edx
call edi
mov dword [esp + 0x24], eax
mov eax, eax
lea eax, [esp + 0xb8]
push eax
call edi
mov dword [esp + 0x28], eax
mov ch, ch
lea ecx, [esp + 0xac]
push ecx
call edi
mov edi, eax
mov dword [esp + 0x5c], edi
mov ecx, ecx
push ebx
call fcn.10002550
add esp, 4
mov dword [esp + 0x84], eax
push edx
pop edx
mov edx, dword [esp + 0x2c]
push edx
call fcn.10002550
add esp, 4
mov dword [esp + 0x74], eax
mov bh, bh
mov eax, dword [esp + 0x24]
push eax
call fcn.10002550
add esp, 4
mov dword [esp + 0x6c], eax
push ebx
pop ebx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10002550
add esp, 4
mov dword [esp + 0x64], eax
mov ch, ch
push edi
call fcn.10002550
add esp, 4
mov dword [esp + 0x54], eax
push ecx
pop ecx
xor edi, edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dh, dh
mov dword [esp + 0x10], edi
mov edi, edi
cmp ebp, edi
je 0x100cd869
lea edx, [esp + 0x10]
push edx
push edi
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.10037540
add esp, 0x10
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
push edx
pop edx
push ebx
pop ebx
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 0x100cdfc2
xor edi, edi
mov ebx, dword [edi + ebx + 0x30]
cmp ebx, 0x64
jae 0x100cdb8a
cmp ebx, 0xa
jae 0x100cda1d
mov ebx, ebx
mov bl, bl
mov ecx, ecx
mov ch, ch
mov edx, dword [esi]
mov eax, dword [edi + edx + 0x30]
test eax, eax
jne 0x100cd8e2
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov bh, bh
lea ecx, [esp + 0xd4]
mov dword [esp + 0x18], ecx
push ecx
pop ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x20], edx
push edx
pop edx
jmp 0x100cd980
cmp eax, 1
jne 0x100cd90a
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov ch, ch
lea ecx, [esp + 0xc4]
mov dword [esp + 0x18], ecx
mov edi, edi
mov edx, dword [esp + 0x74]
mov dword [esp + 0x20], edx
mov cl, cl
jmp 0x100cd980
cmp eax, 2
jne 0x100cd932
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov ebx, ebx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x18], ecx
mov ecx, ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x20], edx
mov eax, eax
jmp 0x100cd980
cmp eax, 3
jne 0x100cd95a
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
push edx
pop edx
lea ecx, [esp + 0xb8]
mov dword [esp + 0x18], ecx
mov ch, ch
mov edx, dword [esp + 0x64]
mov dword [esp + 0x20], edx
push eax
pop eax
jmp 0x100cd980
cmp eax, 4
jne 0x100cd980
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
push ebx
pop ebx
lea ecx, [esp + 0xac]
mov dword [esp + 0x18], ecx
mov cl, cl
mov edx, dword [esp + 0x54]
mov dword [esp + 0x20], edx
mov dl, dl
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
mov ebp, ebp
cdq
mov ebp, eax
mov eax, dword [esp + 0x14]
mov ebx, edx
cdq
cmp ebx, edx
mov dword [esp + 0x90], ebp
jb 0x100cdbf6
ja 0x100cd9b7
cmp ebp, eax
jb 0x100cdbf6
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 0x100cdbf6
jb 0x100cd9e8
cmp dword [esp + 0x90], ebp
ja 0x100cdbf6
test ecx, ecx
je 0x100cdbf6
mov eax, dword [esi]
mov edx, ecx
sub edx, dword [esp + 0x14]
mov dword [edi + eax + 0x60], edx
mov bl, bl
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.100dc140
add esp, 0x10
jmp 0x100cdbf6
cmp ebx, 0x14
jae 0x100cdac6
mov ecx, ecx
push ecx
pop ecx
mov edi, edi
mov edi, edi
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x30]
cmp eax, 0xa
jne 0x100cda52
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
push ebx
pop ebx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x8c], edx
xchg ebx, eax
xchg ebx, eax
jmp 0x100cda6e
cmp eax, 0xb
jne 0x100cda6e
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], eax
mov bh, bh
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x8c], ecx
mov edi, edi
mov eax, dword [esi]
lea edx, [edi + eax]
mov eax, dword [esp + 0x8c]
push edx
push eax
call fcn.10011140
add esp, 8
mov ebx, eax
mov ecx, ecx
mov eax, dword [esi]
mov ebp, dword [esp + 0x7c]
lea ecx, [edi + eax]
push ecx
push ebp
push 0xffffffffffffffff
call fcn.100cd150
add esp, 0xc
mov dl, dl
test ebx, ebx
je 0x100cdbf6
test eax, eax
je 0x100cdbf6
mov edx, dword [esi]
sub eax, ebp
mov dword [edi + edx + 0x60], eax
mov edx, edx
mov eax, dword [esi]
mov dword [edi + eax + 0x38], ebx
mov bl, bl
jmp 0x100cdbf6
nop
xchg ebx, eax
xchg ebx, eax
push ecx
pop ecx
mov ch, ch
mov ecx, dword [esi]
cmp dword [edi + ecx + 0x30], 0x16
jne 0x100cdaf6
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
push ebx
pop ebx
mov ah, ah
mov edx, dword [esp + 0x10]
mov dword [esp + 0x30], edx
push edx
pop edx
jmp 0x100cdafe
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.100ccaf0
add esp, 0x10
mov ah, ah
cmp edx, ebx
jb 0x100cdbf6
ja 0x100cdb26
cmp eax, ebp
jb 0x100cdbf6
mov ebx, dword [esp + 0x30]
xor ecx, ecx
add ebx, dword [esp + 0x40]
adc ecx, dword [esp + 0x44]
cmp edx, ecx
ja 0x100cdbf6
jb 0x100cdb46
cmp eax, ebx
ja 0x100cdbf6
mov ecx, eax
or ecx, edx
je 0x100cdbf6
mov dword [esp + 0x1c], 0
mov al, al
mov ebx, dword [esi]
mov ecx, eax
sub ecx, dword [esp + 0x40]
mov dword [edi + ebx + 0x60], ecx
mov cl, cl
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.10051e40
add esp, 0x18
jmp 0x100cdbf6
jne 0x100cdbba
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call fcn.10024be0
add esp, 4
mov ebx, ebx
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.100fd070
add esp, 0xc
push eax
pop eax
jmp 0x100cdbf6
cmp ebx, 0xc8
jne 0x100cdbf6
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call fcn.10024be0
add esp, 4
mov dh, dh
mov ecx, dword [eax + 0x2c]
mov al, al
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.100fd070
add esp, 0xc
mov ebp, ebp
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 0x100cd891
jmp 0x100cdfc2
mov dword [esp + 0x18], ebx
push ebx
pop ebx
mov dword [esp + 0x20], ebx
mov bl, bl
mov dword [esp + 0x1c], ebx
mov ecx, ecx
mov dword [esp + 0x10], ebx
mov cl, cl
mov dword [esp + 0x14], ebx
mov edi, edi
cmp ebp, ebx
je 0x100cdfc2
mov edi, dword [esp + 0x3c]
cmp edi, ebx
je 0x100cdfc2
lea ecx, [esp + 0x18]
push ecx
push ebx
lea edx, [esp + 0xdc]
push edx
push ebp
call fcn.10037540
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], edx
mov ecx, ecx
lea eax, [esp + 0x20]
push eax
push 0
lea ecx, [esp + 0xcc]
push ecx
push ebp
call fcn.10037540
add esp, 0x10
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov cl, cl
lea edx, [esp + 0x1c]
push edx
push 0
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.10037540
add esp, 0x10
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov dl, dl
lea ecx, [esp + 0x10]
push ecx
push 0
lea edx, [esp + 0xc0]
push edx
push ebp
call fcn.10037540
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
push edx
pop edx
lea eax, [esp + 0x14]
push eax
push 0
lea ecx, [esp + 0xb4]
push ecx
push edi
call fcn.10037540
add esp, 0x10
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
nop
mov al, al
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 0x100cdfc2
jmp 0x100cdd3c
mov ebx, dword [esp + 0x74]
mov dl, dl
mov ecx, ecx
mov ebx, ebx
mov bl, bl
mov dword [esp + 0x24], ebp
mov ch, ch
mov ecx, dword [esi]
mov eax, dword [edi + ecx + 0x30]
cmp eax, 0x64
jae 0x100cdfdb
cmp eax, 0xa
jae 0x100cdec7
test eax, eax
jne 0x100cdd85
mov edx, dword [esp + 0x78]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
mov edx, edx
mov eax, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov cl, cl
jmp 0x100cde2d
cmp eax, 1
jne 0x100cddad
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov edi, edi
mov ecx, ecx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov esi, esi
jmp 0x100cde2d
cmp eax, 2
jne 0x100cddd8
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dh, dh
push eax
pop eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov edi, edi
jmp 0x100cde2d
cmp eax, 3
jne 0x100cddfd
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov bh, bh
mov edi, edi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
xchg ebx, eax
xchg ebx, eax
jmp 0x100cde2d
cmp eax, 4
jne 0x100cde2d
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
push eax
pop eax
mov al, al
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov bh, bh
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.100ccaf0
add esp, 0x10
push ebx
pop ebx
cmp edx, ebx
jb 0x100cdf94
ja 0x100cde60
cmp eax, dword [esp + 0x30]
jb 0x100cdf94
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
add ebx, dword [esp + 0x30]
adc ecx, dword [esp + 0x34]
cmp edx, ecx
ja 0x100cdf94
jb 0x100cde80
cmp eax, ebx
ja 0x100cdf94
mov ecx, eax
or ecx, edx
je 0x100cdf94
mov dword [esp + 0x28], 0
mov dh, dh
mov ebx, dword [esi]
mov ecx, eax
sub ecx, dword [esp + 0x30]
mov dword [edi + ebx + 0x60], ecx
mov bl, bl
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.10051e40
add esp, 0x18
jmp 0x100cdf94
cmp eax, 0x14
jae 0x100cdf94
mov eax, eax
mov ebp, ebp
push ecx
pop ecx
mov dh, dh
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x30]
cmp eax, 0xa
jne 0x100cdf09
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov al, al
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov ah, ah
jmp 0x100cdf2e
cmp eax, 0xb
jne 0x100cdf2e
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov ch, ch
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ecx
mov edi, edi
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.100ccaf0
add esp, 0x10
mov ebp, eax
mov ebx, edx
mov bh, bh
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.100cd200
add esp, 0x10
push edx
pop edx
mov ecx, ebp
or ecx, ebx
je 0x100cdf90
mov ecx, eax
or ecx, edx
je 0x100cdf90
sub eax, dword [esp + 0x40]
mov edx, dword [esi]
mov dword [edi + edx + 0x60], eax
mov eax, eax
mov eax, dword [esi]
mov dword [edi + eax + 0x38], ebp
mov dword [edi + eax + 0x3c], ebx
push eax
pop eax
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 0x100cdd38
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100fb12a
add esp, 0xd8
ret
cmp eax, 0x65
jne 0x100ce008
mov eax, eax
mov esi, esi
lea eax, [esp + 0x5c]
push eax
push ebp
call fcn.10037bf0
add esp, 8
mov ebx, ebx
mov ecx, eax
or ecx, edx
je 0x100cdf94
mov ecx, dword [esi]
mov dword [edi + ecx + 0x38], eax
mov dword [edi + ecx + 0x3c], edx
push eax
pop eax
jmp 0x100cdf94
cmp eax, 0xc9
jne 0x100cdf94
mov ch, ch
mov edi, edi
lea edx, [esp + 0x64]
push edx
push ebp
call fcn.10037bf0
add esp, 8
mov ebx, ebx
mov ecx, eax
or ecx, edx
je 0x100cdf94
mov dword [esp + 0x24], 0
push eax
pop eax
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.10051e40
add esp, 0x18
jmp 0x100cdf94