Function at 0x102949f7
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x103b60cb
mov eax, dword fs:[0]
push eax
sub esp, 0x1d8
mov eax, dword [0x104cc790]
xor eax, esp
mov dword [esp + 0x1d0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x104cc790]
xor eax, esp
push eax
lea eax, [esp + 0x1ec]
mov dword fs:[0], eax
mov ebp, ecx
mov edi, dword [esp + 0x238]
xor ebx, ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
and dword [esp + 0x1f4], ebx
lea eax, [esp + 0x1b4]
push eax
call fcn.102957a9
mov byte [esp + 0x1f4], 1
lea ecx, [esp + 0x88]
push eax
call fcn.1023920b
mov byte [esp + 0x1f4], 3
xor esi, esi
push esi
push 1
lea ecx, [esp + 0x1bc]
call fcn.10081337
mov dword [esp + 0x24], 0x1040a41c
mov dword [esp + 0x28], esi
mov byte [esp + 0x1f4], 4
mov dword [esp + 0x24], 0x1040a600
mov byte [esp + 0x1f4], 5
lea ecx, [esp + 0x24]
call fcn.10234687
push eax
lea edx, [esp + 0x8c]
mov ecx, edi
call fcn.102396ce
test eax, eax
js 0x10294ad1
cmp dword [esp + 0x28], esi
jne 0x10294b77
lea eax, [esp + 0x1b4]
push eax
call fcn.102958a9
mov byte [esp + 0x1f4], 6
lea ecx, [esp + 0x34]
push eax
call fcn.1023920b
mov byte [esp + 0x1f4], 8
lea ecx, [esp + 0x1b4]
push esi
push 1
call fcn.10081337
lea ecx, [esp + 0x24]
call fcn.10234687
push eax
lea edx, [esp + 0x38]
mov ecx, edi
call fcn.102396ce
test eax, eax
jns 0x10294b66
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x10413e78
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 9
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 8
lea eax, [esp + 0x190]
push 0x104ca094
push eax
call fcn.10332deb
mov byte [esp + 0x1f4], 5
lea ecx, [esp + 0x34]
call fcn.10239412
lea ecx, [esp + 0xa0]
call fcn.10243921
mov byte [esp + 0x1f4], 0xc
lea ecx, [esp + 0xa0]
call fcn.10244f8a
push dword [esp + 0x28]
lea ecx, [esp + 0xa4]
call fcn.10235fc6
cmp dword [esp + 0xa4], 0
jne 0x10294bf6
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x10413e6c
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0xd
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0xc
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
lea eax, [esp + 0x1b4]
push eax
call fcn.10293d87
mov byte [esp + 0x1f4], 0xe
lea ecx, [esp + 0x70]
push eax
call fcn.1023920b
mov byte [esp + 0x1f4], 0x10
lea ecx, [esp + 0x1b4]
push esi
push 1
call fcn.10081337
push ecx
push esi
push ecx
push dword [ebp + 0x74]
lea edx, [esp + 0x80]
lea ecx, [esp + 0xb0]
call fcn.102399a3
test eax, eax
jns 0x10294c8e
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x10413e60
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0x11
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0x10
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
push 0x8c
call fcn.1032fa66
mov esi, eax
pop ecx
mov dword [esp + 0x18], esi
mov byte [esp + 0x1f4], 0x12
test esi, esi
je 0x10294d16
push ecx
push ecx
lea edx, [ebp + 0x70]
mov dword [esp + 0x5c], esp
mov ecx, esp
push edx
call fcn.1029c4b3
mov byte [esp + 0x1fc], 0x13
lea eax, [esp + 0x1bc]
push eax
call fcn.10293d87
mov byte [esp + 0x1fc], 0x14
xor ebx, ebx
push eax
sub esp, 0x3c
lea eax, [esp + 0xe8]
inc ebx
mov ecx, esp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x98], esp
push eax
call fcn.10245516
mov dword [esp + 0x23c], 0x15
mov byte [esp + 0x23c], 0x16
mov ecx, esi
call fcn.10292194
jmp 0x10294d18
xor eax, eax
mov dword [esp + 0x1f4], 0x17
mov dword [esp + 0x18], eax
mov dword [esp + 0x1f4], 0x10
test bl, 1
je 0x10294d4e
push 0
and ebx, 0xfffffffe
lea ecx, [esp + 0x1b8]
push 1
mov dword [esp + 0x28], ebx
call fcn.10081337
lea ecx, [esp + 0x18]
push ecx
lea ecx, [ebp + 0x40]
call fcn.1029c529
lea eax, [esp + 0x1b4]
push eax
call fcn.10293e85
mov byte [esp + 0x1f4], 0x18
lea ecx, [esp + 0x7c]
push eax
call fcn.1023920b
mov byte [esp + 0x1f4], 0x1a
lea ecx, [esp + 0x1b4]
push 0
push 1
call fcn.10081337
push ecx
push 0
push ecx
push dword [ebp + 0x74]
lea edx, [esp + 0x8c]
lea ecx, [esp + 0xb0]
call fcn.102399a3
test eax, eax
jns 0x10294df5
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x10413ed0
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0x1b
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0x1a
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
push 0x8c
call fcn.1032fa66
mov esi, eax
pop ecx
mov dword [esp + 0x50], esi
mov byte [esp + 0x1f4], 0x1c
test esi, esi
je 0x10294e7a
push ecx
push ecx
lea edx, [ebp + 0x70]
mov dword [esp + 0x5c], esp
mov ecx, esp
push edx
call fcn.1029c4b3
mov byte [esp + 0x1fc], 0x1d
lea eax, [esp + 0x1bc]
push eax
call fcn.10293e85
mov byte [esp + 0x1fc], 0x1e
or ebx, 2
push eax
sub esp, 0x3c
mov dword [esp + 0x68], ebx
lea eax, [esp + 0xe8]
mov dword [esp + 0x60], esp
mov ecx, esp
push eax
call fcn.10245516
mov dword [esp + 0x23c], 0x1f
mov byte [esp + 0x23c], 0x20
mov ecx, esi
call fcn.10292194
jmp 0x10294e7c
xor eax, eax
mov dword [esp + 0x1f4], 0x21
mov dword [esp + 0x18], eax
mov dword [esp + 0x1f4], 0x1a
test bl, 2
je 0x10294eb2
push 0
and ebx, 0xfffffffd
lea ecx, [esp + 0x1b8]
push 1
mov dword [esp + 0x28], ebx
call fcn.10081337
lea eax, [esp + 0x18]
push eax
lea ecx, [ebp + 0x40]
call fcn.1029c529
lea eax, [esp + 0x1b4]
push eax
call fcn.1029374a
mov byte [esp + 0x1f4], 0x22
lea ecx, [esp + 0x58]
push eax
call fcn.1023920b
mov byte [esp + 0x1f4], 0x24
xor esi, esi
push esi
push 1
lea ecx, [esp + 0x1bc]
call fcn.10081337
mov dword [esp + 0x2c], 0x1040a41c
mov dword [esp + 0x30], esi
mov byte [esp + 0x1f4], 0x25
mov dword [esp + 0x2c], 0x1040a600
mov byte [esp + 0x1f4], 0x26
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0xe0]
call fcn.10250b65
mov byte [esp + 0x1f4], 0x27
lea eax, [esp + 0x1b4]
push eax
call fcn.102959a7
mov byte [esp + 0x1f4], 0x28
lea ecx, [esp + 0x64]
push eax
call fcn.1023920b
mov byte [esp + 0x1f4], 0x2a
lea ecx, [esp + 0x1b4]
push esi
push 1
call fcn.10081337
lea ecx, [esp + 0x2c]
call fcn.10234687
push eax
lea edx, [esp + 0x68]
mov ecx, edi
call fcn.102396ce
test eax, eax
js 0x10294f9b
cmp dword [esp + 0x30], esi
je 0x10294f9b
lea ecx, [esp + 0xdc]
call fcn.10244f8a
push dword [esp + 0x30]
jmp 0x10294fab
lea ecx, [esp + 0xdc]
call fcn.10244f8a
push dword [esp + 0x28]
lea ecx, [esp + 0xe0]
call fcn.10235fc6
push ecx
push esi
push ecx
push dword [ebp + 0x7c]
lea edx, [esp + 0x68]
lea ecx, [esp + 0xec]
call fcn.102399a3
test eax, eax
jns 0x10295016
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x10413ec4
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0x2b
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0x2a
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
push 0x8c
call fcn.1032fa66
mov esi, eax
pop ecx
mov dword [esp + 0x50], esi
mov byte [esp + 0x1f4], 0x2c
test esi, esi
je 0x1029509b
push ecx
push ecx
lea edx, [ebp + 0x78]
mov dword [esp + 0x5c], esp
mov ecx, esp
push edx
call fcn.1029c4b3
mov byte [esp + 0x1fc], 0x2d
lea eax, [esp + 0x1bc]
push eax
call fcn.1029374a
mov byte [esp + 0x1fc], 0x2e
or ebx, 4
push eax
sub esp, 0x3c
mov dword [esp + 0x68], ebx
lea eax, [esp + 0x124]
mov dword [esp + 0x60], esp
mov ecx, esp
push eax
call fcn.10245516
mov dword [esp + 0x23c], 0x2f
mov byte [esp + 0x23c], 0x30
mov ecx, esi
call fcn.10292194
jmp 0x1029509d
xor eax, eax
mov dword [esp + 0x1f4], 0x31
mov dword [esp + 0x18], eax
mov dword [esp + 0x1f4], 0x2a
test bl, 4
je 0x102950d3
push 0
and ebx, 0xfffffffb
lea ecx, [esp + 0x1b8]
push 1
mov dword [esp + 0x28], ebx
call fcn.10081337
lea eax, [esp + 0x18]
push eax
lea ecx, [ebp + 0x40]
call fcn.1029c529
xor esi, esi
mov dword [esp + 0x34], 0x1040abc8
mov dword [esp + 0x38], esi
mov byte [esp + 0x1f4], 0x32
mov dword [esp + 0x34], 0x1040abc0
mov byte [esp + 0x1f4], 0x33
lea ecx, [esp + 0x34]
push edi
call fcn.10244cf5
mov edi, dword [esp + 0x38]
test edi, edi
jne 0x1029515d
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x10413eb8
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0x34
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0x33
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
mov dword [esp + 0x48], 0x1040a41c
mov dword [esp + 0x4c], esi
mov byte [esp + 0x1f4], 0x35
mov dword [esp + 0x48], 0x1040a600
mov byte [esp + 0x1f4], 0x36
lea ecx, [esp + 0x48]
call fcn.10234687
mov ecx, dword [esp + 0x1c]
mov edx, eax
call fcn.102920a9
lea ecx, [esp + 0x118]
call fcn.10242d75
mov byte [esp + 0x1f4], 0x39
lea ecx, [esp + 0x118]
call fcn.10244f8a
push dword [esp + 0x4c]
lea ecx, [esp + 0x11c]
call fcn.10235fc6
cmp dword [esp + 0x11c], 0
jne 0x10295214
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x10413eac
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0x3a
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0x39
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
mov dword [esp + 0x40], 0x1040a41c
mov dword [esp + 0x44], esi
mov byte [esp + 0x1f4], 0x3b
mov dword [esp + 0x40], 0x1040a600
mov byte [esp + 0x1f4], 0x3c
lea eax, [esp + 0x190]
push eax
call fcn.10295ba1
mov byte [esp + 0x1f4], 0x3d
lea ecx, [esp + 0x1b4]
push eax
call fcn.1023920b
mov byte [esp + 0x1f4], 0x3e
lea eax, [esp + 0x1cc]
push eax
call fcn.10295aa5
mov byte [esp + 0x1f4], 0x3f
lea ecx, [esp + 0x94]
push eax
call fcn.1023920b
mov byte [esp + 0x1f4], 0x40
lea ecx, [esp + 0x40]
mov esi, dword [esp + 0x11c]
mov edi, dword [edi]
call fcn.10234687
push eax
lea eax, [esp + 0x1b8]
push eax
lea eax, [esp + 0x9c]
push eax
push esi
push dword [esp + 0x48]
call dword [edi + 0x10]
mov esi, eax
mov edi, 0x80000000
mov byte [esp + 0x1f4], 0x3f
lea ecx, [esp + 0x94]
call fcn.10239412
mov byte [esp + 0x1f4], 0x3e
lea ecx, [esp + 0x1cc]
push 0
push 1
call fcn.10081337
mov byte [esp + 0x1f4], 0x3d
lea ecx, [esp + 0x1b4]
call fcn.10239412
mov byte [esp + 0x1f4], 0x3c
lea ecx, [esp + 0x190]
push 0
push 1
call fcn.10081337
and esi, edi
je 0x1029535f
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x10413f10
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0x41
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0x3c
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
cmp dword [esp + 0x44], 0
jne 0x1029549a
mov byte [esp + 0x1f4], 0x39
mov ebx, 0x1040a41c
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x40], ebx
test ecx, ecx
je 0x10295389
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x1f4], 0x36
lea ecx, [esp + 0x118]
call fcn.10232f92
mov byte [esp + 0x1f4], 0x33
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x102953b7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x1f4], 0x2a
mov dword [esp + 0x34], 0x1040abc0
mov byte [esp + 0x1f4], 0x2a
mov ecx, dword [esp + 0x38]
push ecx
mov dword [esp + 0x38], 0x1040abc8
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [esp + 0x1f4], 0x27
lea ecx, [esp + 0x64]
call fcn.10239412
mov byte [esp + 0x1f4], 0x26
lea ecx, [esp + 0xdc]
call fcn.10232f92
mov byte [esp + 0x1f4], 0x24
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], ebx
test ecx, ecx
je 0x10295420
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x1f4], 0x1a
lea ecx, [esp + 0x58]
call fcn.10239412
mov byte [esp + 0x1f4], 0x10
lea ecx, [esp + 0x7c]
call fcn.10239412
mov byte [esp + 0x1f4], 0xc
lea ecx, [esp + 0x70]
call fcn.10239412
mov byte [esp + 0x1f4], 5
lea ecx, [esp + 0xa0]
call fcn.10232f92
mov byte [esp + 0x1f4], 3
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], ebx
test ecx, ecx
je 0x10295481
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x1f4], 0
lea ecx, [esp + 0x88]
call fcn.10239412
jmp 0x1029576b
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x158]
call fcn.10250b65
mov byte [esp + 0x1f4], 0x4f
cmp dword [esp + 0x158], 0
jne 0x10295502
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x10413f04
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0x50
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0x4f
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
push ecx
push 0
push ecx
push dword [ebp + 0x74]
lea edx, [esp + 0x68]
lea ecx, [esp + 0x164]
call fcn.102399a3
test edi, eax
je 0x10295562
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x10413ef8
push eax
lea ecx, [esp + 0x194]
call fcn.1007f2d3
mov byte [esp + 0x1f4], 0x51
mov dword [esp + 0x190], 0x104146bc
mov byte [esp + 0x1f4], 0x4f
lea eax, [esp + 0x190]
push 0x104ca094
jmp 0x10294b60
push 0x8c
call fcn.1032fa66
mov esi, eax
pop ecx
mov dword [esp + 0x50], esi
mov byte [esp + 0x1f4], 0x52
test esi, esi
je 0x102955e7
push ecx
push ecx
lea edx, [ebp + 0x70]
mov dword [esp + 0x5c], esp
mov ecx, esp
push edx
call fcn.1029c4b3
mov byte [esp + 0x1fc], 0x53
lea eax, [esp + 0x198]
push eax
call fcn.1029374a
mov byte [esp + 0x1fc], 0x54
or ebx, 8
push eax
sub esp, 0x3c
mov dword [esp + 0x68], ebx
lea eax, [esp + 0x19c]
mov dword [esp + 0x64], esp
mov ecx, esp
push eax
call fcn.10245516
mov dword [esp + 0x23c], 0x55
mov byte [esp + 0x23c], 0x56
mov ecx, esi
call fcn.10292194
jmp 0x102955e9
xor eax, eax
mov dword [esp + 0x1f4], 0x57
mov dword [esp + 0x18], eax
mov dword [esp + 0x1f4], 0x4f
test bl, 8
je 0x1029561f
push 0
and ebx, 0xfffffff7
lea ecx, [esp + 0x194]
push 1
mov dword [esp + 0x28], ebx
call fcn.10081337
lea eax, [esp + 0x18]
push eax
lea ecx, [ebp + 0x40]
call fcn.1029c529
mov byte [esp + 0x1f4], 0x3c
lea ecx, [esp + 0x154]
call fcn.10232f92
mov byte [esp + 0x1f4], 0x39
mov ebx, 0x1040a41c
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x40], ebx
test ecx, ecx
je 0x1029565f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x1f4], 0x36
lea ecx, [esp + 0x118]
call fcn.10232f92
mov byte [esp + 0x1f4], 0x33
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x1029568d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x1f4], 0x2a
mov dword [esp + 0x34], 0x1040abc0
mov byte [esp + 0x1f4], 0x2a
mov ecx, dword [esp + 0x38]
push ecx
mov dword [esp + 0x38], 0x1040abc8
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [esp + 0x1f4], 0x27
lea ecx, [esp + 0x64]
call fcn.10239412
mov byte [esp + 0x1f4], 0x26
lea ecx, [esp + 0xdc]
call fcn.10232f92
mov byte [esp + 0x1f4], 0x24
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], ebx
test ecx, ecx
je 0x102956f6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x1f4], 0x1a
lea ecx, [esp + 0x58]
call fcn.10239412
mov byte [esp + 0x1f4], 0x10
lea ecx, [esp + 0x7c]
call fcn.10239412
mov byte [esp + 0x1f4], 0xc
lea ecx, [esp + 0x70]
call fcn.10239412
mov byte [esp + 0x1f4], 5
lea ecx, [esp + 0xa0]
call fcn.10232f92
mov byte [esp + 0x1f4], 3
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], ebx
test ecx, ecx
je 0x10295757
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [esp + 0x1f4], 0
lea ecx, [esp + 0x88]
call fcn.10239412
or dword [esp + 0x1f4], 0xffffffff
lea ecx, [esp + 0x1fc]
call fcn.10232f92
mov ecx, dword [esp + 0x1ec]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1d0]
xor ecx, esp
call fcn.1032ef46
add esp, 0x1e4
ret 0x44