Function at 0x10046380
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x38
mov eax, 0x100abbf7
call fcn.100a5688
mov edi, ecx
mov dword [ebp - 0x28], edi
xor eax, eax
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp + 0xc]
push ebx
push ecx
mov dword [ebp - 4], eax
mov ecx, esp
lea eax, [ebp + 8]
push eax
call fcn.1006e4e1
push 2
pop eax
push eax
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.10041881
push ebx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 1
mov ecx, esp
push eax
call fcn.1006e4e1
lea ecx, [edi + 0x18]
call fcn.10042027
push ebx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 2
mov ecx, esp
push eax
call fcn.1006e4e1
lea ecx, [edi + 0x40]
call fcn.10042584
push 0x1000b840
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.1006f4e2
push ebx
push ebx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 4
mov ecx, esp
lea esi, [ebp - 0x14]
push eax
call fcn.1006e4e1
mov edx, esi
lea ecx, [ebp - 0x24]
call fcn.10033b5f
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 5
push eax
call fcn.1003d598
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10046441
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100d0614]
call esi
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push 0x1000b8dc
lea ecx, [ebp - 0x18]
call fcn.1006f4e2
push ebx
push ebx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 9
mov ecx, esp
lea esi, [ebp - 0x18]
push eax
call fcn.1006e4e1
mov edx, esi
lea ecx, [ebp - 0x20]
call fcn.10033b5f
lea ecx, [edi + 0x78]
mov byte [ebp - 4], 0xa
push eax
call fcn.1003d676
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x100464a4
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100d0614]
call esi
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push 0x1000d3d0
lea ecx, [ebp - 0x14]
call fcn.1006f4e2
push ebx
push ebx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0xe
mov ecx, esp
lea esi, [ebp - 0x14]
push eax
call fcn.1006e4e1
mov edx, esi
lea ecx, [ebp - 0x24]
call fcn.10033b5f
lea ecx, [edi + 0x88]
mov byte [ebp - 4], 0xf
push eax
call fcn.1004324e
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x1004650a
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100d0614]
call esi
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push 0x1000c13c
lea ecx, [ebp - 0x18]
call fcn.1006f4e2
push ebx
push ecx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x13
mov ecx, esp
lea esi, [ebp - 0x18]
push eax
call fcn.1006e4e1
mov edx, esi
lea ecx, [ebp - 0x20]
call fcn.10034297
lea ecx, [edi + 0xbc]
mov byte [ebp - 4], 0x14
push eax
call fcn.1003f397
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10046570
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100d0614]
call esi
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.1008ebf5
push ebx
push ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.1006e4e1
lea ecx, [edi + 0xd0]
call fcn.100428e2
push ebx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x18
mov ecx, esp
push eax
call fcn.1006e4e1
lea ecx, [edi + 0xd8]
call fcn.100429fe
push ecx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x19
mov ecx, esp
push eax
call fcn.1006e4e1
lea ecx, [edi + 0xe0]
call fcn.10042bf3
push ebx
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1a
push ecx
lea ecx, [edi + 0xe8]
call fcn.10045332
push 0x1000cb00
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1b
call fcn.1006f4e2
push ebx
push ecx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x1c
mov ecx, esp
lea esi, [ebp - 0x18]
push eax
call fcn.1006e4e1
mov edx, esi
lea ecx, [ebp - 0x24]
call fcn.10034297
push eax
lea ecx, [edi + 0xfc]
mov byte [ebp - 4], 0x1d
call fcn.10041ccd
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x1004663e
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100d0614]
call esi
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push 0x1000a228
lea ecx, [ebp - 0x14]
mov dword [edi], 0x10020900
mov dword [edi + 0x18], 0x100208f8
mov dword [edi + 0x40], 0x100208e4
mov dword [edi + 0x68], 0x100208d8
mov dword [edi + 0x78], 0x100208cc
mov dword [edi + 0x88], 0x100208c0
mov dword [edi + 0xbc], 0x100208b8
mov dword [edi + 0xd0], 0x100208b0
mov dword [edi + 0xd8], 0x100208a8
mov dword [edi + 0xe0], 0x100208a0
mov dword [edi + 0xe8], 0x10020898
call fcn.1006f4e2
push 1
push ebx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x21
mov ecx, esp
lea esi, [ebp - 0x14]
push eax
call fcn.1006e4e1
lea ecx, [edi + 0x13c]
mov edx, esi
call fcn.1003447c
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push 0x1000df40
lea ecx, [ebp - 0x18]
call fcn.1006f4e2
push ecx
push ecx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x24
mov ecx, esp
lea esi, [ebp - 0x18]
push eax
call fcn.1006e4e1
lea ecx, [edi + 0x140]
mov edx, esi
call fcn.100345d7
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push 0x1000df58
lea ecx, [ebp - 0x14]
call fcn.1006f4e2
push ecx
push ecx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x27
mov ecx, esp
lea esi, [ebp - 0x14]
push eax
call fcn.1006e4e1
lea ecx, [edi + 0x144]
mov edx, esi
call fcn.100345d7
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push 0x1000df80
lea ecx, [ebp - 0x18]
call fcn.1006f4e2
push ecx
push ecx
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x2a
mov ecx, esp
lea esi, [ebp - 0x18]
push eax
call fcn.1006e4e1
lea ecx, [edi + 0x148]
mov edx, esi
call fcn.100345d7
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.1008ebf5
push ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.1006e4e1
mov ecx, dword [ebp + 0x10]
mov edx, ebx
call fcn.1003376d
push ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.1006e4e1
call fcn.1003406d
lea ecx, [ebp - 0x14]
cmp eax, 3
jae 0x1004682d
push 0x1000dfa8
call fcn.1006f4e2
push 0x100093a4
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x2d
call fcn.1006f4e2
push eax
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x38]
call fcn.10033056
lea ecx, [ebp - 0x24]
call fcn.1002e190
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x31
call fcn.1002e190
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x44]
call fcn.100352a0
push 0x100c575c
lea eax, [ebp - 0x44]
push eax
call fcn.10093f6c
mov ebx, 0x1000dd14
push ebx
call fcn.1006f4e2
sub esp, 0xc
mov byte [ebp - 4], 0x32
lea eax, [ebp + 8]
lea esi, [ebp - 0x14]
push ecx
mov ecx, esp
push eax
call fcn.1006e4e1
mov edx, esi
lea ecx, [ebp - 0x24]
call fcn.100345d7
mov esi, eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x33
push ebx
call fcn.1006f4e2
xor ebx, ebx
mov edx, esi
mov cl, bl
call fcn.100351d8
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 0xd], al
call fcn.1008ebf5
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.1008ebf5
mov al, byte [ebp - 0xd]
test al, al
je 0x10046903
mov byte [edi + 0x61], al
lea ecx, [edi + 0x18]
lea eax, [ebp - 0x24]
push eax
call fcn.1003ebb2
mov eax, dword [eax]
cmp dword [eax - 0xc], ebx
je 0x100468bb
cmp dword [edi + 0x38], ebx
jne 0x100468b6
cmp dword [edi + 0x3c], ebx
je 0x100468bb
mov byte [ebp - 0xd], bl
jmp 0x100468bf
mov byte [ebp - 0xd], 1
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
cmp byte [ebp - 0xd], bl
je 0x10046903
push 0x1000dd30
lea ecx, [ebp - 0x24]
call fcn.1006f4e2
push 0x100093a4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x34
call fcn.1006f4e2
push eax
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [ebp - 0x44]
call fcn.10033056
jmp 0x1004681f
push 0x1000e024
lea ecx, [ebp - 0x24]
call fcn.1006f4e2
push ecx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x36
mov ecx, esp
mov dword [ebp - 0x14], 2
push eax
lea esi, [ebp - 0x24]
call fcn.1006e4e1
mov ecx, esi
call fcn.10033f17
test al, al
jne 0x1004696c
push 0x1000e044
lea ecx, [ebp - 0x20]
call fcn.1006f4e2
push 6
pop eax
mov dword [ebp - 4], 0x37
lea esi, [ebp - 0x20]
push ecx
mov dword [ebp - 0x1c], eax
mov ecx, esp
mov dword [ebp - 0x14], eax
lea eax, [ebp + 8]
push eax
call fcn.1006e4e1
mov ecx, esi
call fcn.10033f17
test al, al
je 0x1004696e
mov bl, 1
test byte [ebp - 0x1c], 4
je 0x1004697f
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov dword [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
test bl, bl
je 0x100469f1
push 0x1000e068
lea ecx, [ebp - 0x24]
call fcn.1006f4e2
push 0x100093a4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x38
call fcn.1006f4e2
push eax
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0x44]
call fcn.10033056
lea ecx, [ebp - 0x20]
call fcn.1002e190
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x24]
call fcn.1002e190
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x38]
call fcn.100352a0
push 0x100c575c
lea eax, [ebp - 0x38]
jmp 0x10046827
mov eax, dword [edi + 0x13c]
cmp dword [eax - 0xc], 0
jne 0x10046a3a
push 0x1000e160
lea ecx, [ebp - 0x24]
call fcn.1006f4e2
push 0x100093a4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x3d
call fcn.1006f4e2
push eax
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x3e
push eax
lea ecx, [ebp - 0x44]
call fcn.10033056
lea ecx, [ebp - 0x20]
call fcn.1002e190
mov byte [ebp - 4], 0x41
jmp 0x100469d0
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
test eax, eax
je 0x10046a55
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100d0614]
call esi
mov eax, edi
call fcn.100a5651
ret 0xc