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

Disassembly:
sub esp, 0xd8
mov eax, dword [0x101a53c4]
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 ecx
pop ecx
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 edx
pop 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
push ebx
pop ebx
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 ecx
pop ecx
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 ah, ah
xor ebx, ebx
mov dword [esp + 0x3c], ebx
push ecx
pop ecx
xor ebp, ebp
mov dword [esp + 0x38], ebp
mov al, al
call fcn.100505f0
test eax, eax
je 0x100c7660
call fcn.100c66e0
mov dword [esp + 0x3c], eax
nop
call fcn.100c67c0
mov dword [esp + 0x38], eax
mov ebx, ebx
mov ebp, eax
cmp dword [esp + 0xf0], ebx
jne 0x100c7b19
mov edi, dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
lea eax, [esp + 0xd4]
push eax
call edi
mov ebx, eax
mov dword [esp + 0x3c], ebx
push ebx
pop ebx
lea ecx, [esp + 0xc4]
push ecx
call edi
mov dword [esp + 0x2c], eax
mov esi, esi
lea edx, [esp + 0xa0]
push edx
call edi
mov dword [esp + 0x24], eax
mov edi, edi
lea eax, [esp + 0xb8]
push eax
call edi
mov dword [esp + 0x28], eax
mov bl, bl
lea ecx, [esp + 0xac]
push ecx
call edi
mov edi, eax
mov dword [esp + 0x5c], edi
mov dl, dl
push ebx
call fcn.10002540
add esp, 4
mov dword [esp + 0x84], eax
mov al, al
mov edx, dword [esp + 0x2c]
push edx
call fcn.10002540
add esp, 4
mov dword [esp + 0x74], eax
mov edi, edi
mov eax, dword [esp + 0x24]
push eax
call fcn.10002540
add esp, 4
mov dword [esp + 0x6c], eax
mov ecx, ecx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10002540
add esp, 4
mov dword [esp + 0x64], eax
push ecx
pop ecx
push edi
call fcn.10002540
add esp, 4
mov dword [esp + 0x54], eax
push eax
pop eax
xor edi, edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x10], edi
nop
cmp ebp, edi
je 0x100c7757
lea edx, [esp + 0x10]
push edx
push edi
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.10038330
add esp, 0x10
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov dh, dh
push ecx
pop ecx
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 0x100c7eae
xor edi, edi
nop
mov ebx, dword [edi + ebx + 0x30]
cmp ebx, 0x64
jae 0x100c7a79
cmp ebx, 0xa
jae 0x100c790c
mov ch, ch
mov ah, ah
mov cl, cl
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esi]
mov eax, dword [edi + edx + 0x30]
test eax, eax
jne 0x100c77d1
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov ebp, ebp
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 0x100c786f
cmp eax, 1
jne 0x100c77f9
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov ah, ah
lea ecx, [esp + 0xc4]
mov dword [esp + 0x18], ecx
mov ecx, ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x20], edx
xchg ebx, eax
xchg ebx, eax
jmp 0x100c786f
cmp eax, 2
jne 0x100c7821
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov cl, cl
lea ecx, [esp + 0xa0]
mov dword [esp + 0x18], ecx
mov cl, cl
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x20], edx
mov esi, esi
jmp 0x100c786f
cmp eax, 3
jne 0x100c7849
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov dh, dh
lea ecx, [esp + 0xb8]
mov dword [esp + 0x18], ecx
push eax
pop eax
mov edx, dword [esp + 0x64]
mov dword [esp + 0x20], edx
mov ebp, ebp
jmp 0x100c786f
cmp eax, 4
jne 0x100c786f
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov ah, ah
lea ecx, [esp + 0xac]
mov dword [esp + 0x18], ecx
mov cl, cl
mov edx, dword [esp + 0x54]
mov dword [esp + 0x20], edx
mov ebx, ebx
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 ah, ah
cdq
mov ebp, eax
mov eax, dword [esp + 0x14]
mov ebx, edx
cdq
cmp ebx, edx
mov dword [esp + 0x90], ebp
jb 0x100c7ae4
ja 0x100c78a6
cmp ebp, eax
jb 0x100c7ae4
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 0x100c7ae4
jb 0x100c78d7
cmp dword [esp + 0x90], ebp
ja 0x100c7ae4
test ecx, ecx
je 0x100c7ae4
mov eax, dword [esi]
mov edx, ecx
sub edx, dword [esp + 0x14]
mov dword [edi + eax + 0x60], edx
mov cl, cl
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.100d6010
add esp, 0x10
jmp 0x100c7ae4
cmp ebx, 0x14
jae 0x100c79b4
nop
mov edx, edx
mov ah, ah
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x30]
cmp eax, 0xa
jne 0x100c7940
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
mov cl, cl
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x8c], edx
mov ecx, ecx
jmp 0x100c795c
cmp eax, 0xb
jne 0x100c795c
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], eax
mov edx, edx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x8c], ecx
mov bh, bh
mov eax, dword [esi]
lea edx, [edi + eax]
mov eax, dword [esp + 0x8c]
push edx
push eax
call fcn.10011f10
add esp, 8
mov ebx, eax
mov ebx, ebx
mov eax, dword [esi]
mov ebp, dword [esp + 0x7c]
lea ecx, [edi + eax]
push ecx
push ebp
push 0xffffffffffffffff
call fcn.100c7040
add esp, 0xc
mov ecx, ecx
test ebx, ebx
je 0x100c7ae4
test eax, eax
je 0x100c7ae4
mov edx, dword [esi]
sub eax, ebp
mov dword [edi + edx + 0x60], eax
mov ebp, ebp
mov eax, dword [esi]
mov dword [edi + eax + 0x38], ebx
mov dl, dl
jmp 0x100c7ae4
mov edi, edi
mov al, al
mov edx, edx
mov ecx, ecx
mov ecx, dword [esi]
cmp dword [edi + ecx + 0x30], 0x16
jne 0x100c79e5
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov bl, bl
mov ch, ch
mov edx, dword [esp + 0x10]
mov dword [esp + 0x30], edx
mov ch, ch
jmp 0x100c79ed
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.100c69f0
add esp, 0x10
push eax
pop eax
cmp edx, ebx
jb 0x100c7ae4
ja 0x100c7a15
cmp eax, ebp
jb 0x100c7ae4
mov ebx, dword [esp + 0x30]
xor ecx, ecx
add ebx, dword [esp + 0x40]
adc ecx, dword [esp + 0x44]
cmp edx, ecx
ja 0x100c7ae4
jb 0x100c7a35
cmp eax, ebx
ja 0x100c7ae4
mov ecx, eax
or ecx, edx
je 0x100c7ae4
mov dword [esp + 0x1c], 0
mov eax, eax
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.100527c0
add esp, 0x18
jmp 0x100c7ae4
jne 0x100c7aa9
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call fcn.10025a10
add esp, 4
mov al, al
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.100f6f60
add esp, 0xc
push ebx
pop ebx
jmp 0x100c7ae4
cmp ebx, 0xc8
jne 0x100c7ae4
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call fcn.10025a10
add esp, 4
nop
mov ecx, dword [eax + 0x2c]
push ebx
pop ebx
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.100f6f60
add esp, 0xc
mov esi, esi
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 0x100c7780
jmp 0x100c7eae
mov dword [esp + 0x18], ebx
nop
mov dword [esp + 0x20], ebx
mov dl, dl
mov dword [esp + 0x1c], ebx
push ecx
pop ecx
mov dword [esp + 0x10], ebx
mov dl, dl
mov dword [esp + 0x14], ebx
push ecx
pop ecx
cmp ebp, ebx
je 0x100c7eae
mov edi, dword [esp + 0x3c]
cmp edi, ebx
je 0x100c7eae
lea ecx, [esp + 0x18]
push ecx
push ebx
lea edx, [esp + 0xdc]
push edx
push ebp
call fcn.10038330
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], edx
mov al, al
lea eax, [esp + 0x20]
push eax
push 0
lea ecx, [esp + 0xcc]
push ecx
push ebp
call fcn.10038330
add esp, 0x10
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov ah, ah
lea edx, [esp + 0x1c]
push edx
push 0
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.10038330
add esp, 0x10
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
push eax
pop eax
lea ecx, [esp + 0x10]
push ecx
push 0
lea edx, [esp + 0xc0]
push edx
push ebp
call fcn.10038330
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov al, al
lea eax, [esp + 0x14]
push eax
push 0
lea ecx, [esp + 0xb4]
push ecx
push edi
call fcn.10038330
add esp, 0x10
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov esi, esi
mov ah, ah
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 0x100c7eae
jmp 0x100c7c2a
mov ebx, dword [esp + 0x74]
push edx
pop edx
push ebx
pop ebx
push edx
pop edx
push edx
pop edx
mov dword [esp + 0x24], ebp
nop
mov ecx, dword [esi]
mov eax, dword [edi + ecx + 0x30]
cmp eax, 0x64
jae 0x100c7ec7
cmp eax, 0xa
jae 0x100c7db4
test eax, eax
jne 0x100c7c72
mov edx, dword [esp + 0x78]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
mov edi, edi
push edx
pop edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov bh, bh
jmp 0x100c7d1a
cmp eax, 1
jne 0x100c7c9a
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov esi, esi
mov cl, cl
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
push eax
pop eax
jmp 0x100c7d1a
cmp eax, 2
jne 0x100c7cc5
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
push eax
pop eax
mov ah, ah
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov edi, edi
jmp 0x100c7d1a
cmp eax, 3
jne 0x100c7cea
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov ecx, ecx
jmp 0x100c7d1a
cmp eax, 4
jne 0x100c7d1a
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov ebx, ebx
mov ch, ch
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov cl, cl
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
push eax
pop 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.100c69f0
add esp, 0x10
push ebx
pop ebx
cmp edx, ebx
jb 0x100c7e80
ja 0x100c7d4d
cmp eax, dword [esp + 0x30]
jb 0x100c7e80
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
add ebx, dword [esp + 0x30]
adc ecx, dword [esp + 0x34]
cmp edx, ecx
ja 0x100c7e80
jb 0x100c7d6d
cmp eax, ebx
ja 0x100c7e80
mov ecx, eax
or ecx, edx
je 0x100c7e80
mov dword [esp + 0x28], 0
mov edx, edx
mov ebx, dword [esi]
mov ecx, eax
sub ecx, dword [esp + 0x30]
mov dword [edi + ebx + 0x60], ecx
mov edx, edx
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.100527c0
add esp, 0x18
jmp 0x100c7e80
cmp eax, 0x14
jae 0x100c7e80
xchg ebx, eax
xchg ebx, eax
mov al, al
mov cl, cl
mov ecx, ecx
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x30]
cmp eax, 0xa
jne 0x100c7df6
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
push ecx
pop ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov bl, bl
jmp 0x100c7e1a
cmp eax, 0xb
jne 0x100c7e1a
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
nop
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ecx
mov cl, cl
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.100c69f0
add esp, 0x10
mov ebp, eax
mov ebx, edx
mov eax, eax
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.100c70f0
add esp, 0x10
mov ah, ah
mov ecx, ebp
or ecx, ebx
je 0x100c7e7c
mov ecx, eax
or ecx, edx
je 0x100c7e7c
sub eax, dword [esp + 0x40]
mov edx, dword [esi]
mov dword [edi + edx + 0x60], eax
mov bh, bh
mov eax, dword [esi]
mov dword [edi + eax + 0x38], ebp
mov dword [edi + eax + 0x3c], ebx
mov ch, ch
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 0x100c7c26
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100f5016
add esp, 0xd8
ret
cmp eax, 0x65
jne 0x100c7ef4
push ebx
pop ebx
mov al, al
lea eax, [esp + 0x5c]
push eax
push ebp
call fcn.100389e0
add esp, 8
xchg ebx, eax
xchg ebx, eax
mov ecx, eax
or ecx, edx
je 0x100c7e80
mov ecx, dword [esi]
mov dword [edi + ecx + 0x38], eax
mov dword [edi + ecx + 0x3c], edx
mov bl, bl
jmp 0x100c7e80
cmp eax, 0xc9
jne 0x100c7e80
mov edi, edi
mov ch, ch
lea edx, [esp + 0x64]
push edx
push ebp
call fcn.100389e0
add esp, 8
mov ch, ch
mov ecx, eax
or ecx, edx
je 0x100c7e80
mov dword [esp + 0x24], 0
mov bh, bh
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.100527c0
add esp, 0x18
jmp 0x100c7e80