Function at 0x40a1f1
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001aead
mov eax, dword fs:[0]
push eax
sub esp, 0xae8
mov eax, dword [0x100241c0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edx, dword [0x100254f4]
xor ebx, ebx
cmp dword [0x10025508], 0x10
mov esi, ecx
mov dword [ebp - 0x9ac], esi
mov dword [ebp - 0x9a8], ebx
jae 0x40a246
mov edx, 0x100254f4
xor eax, eax
mov ecx, 0x1001e7a8
call fcn.00407b71
cmp eax, ebx
jne 0x40a263
xor eax, eax
cmp dword [0x10025504], ebx
setne al
cmp eax, ebx
sete al
cmp al, bl
je 0x40a28b
push 5
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
push 0x1001e994
mov ecx, esi
mov byte [esi], bl
call fcn.00407a71
mov eax, esi
jmp 0x40ad83
push ebx
push 0x1001e7a8
lea ecx, [ebp - 0x930]
mov dword [ebp - 0x91c], 0xf
mov dword [ebp - 0x920], ebx
mov byte [ebp - 0x930], bl
call fcn.00407a71
mov eax, 0xdbba0
cdq
mov dword [ebp - 4], ebx
idiv dword [0x100252c8]
mov dword [ebp - 0x9a8], eax
mov eax, dword [0x100252c8]
push eax
call dword [0x1001c024]
lea ecx, [ebp - 0xaec]
push ecx
call fcn.00410741
mov dword [ebp - 0x9e4], 0x10020a48
mov dword [ebp - 0x9e0], ebx
mov dword [ebp - 0x9dc], ebx
mov dword [ebp - 0x9d8], ebx
mov dword [ebp - 0x9d4], ebx
mov dword [ebp - 0x9d0], ebx
mov dword [ebp - 0x9cc], ebx
mov dword [ebp - 0x9c8], ebx
mov dword [ebp - 0x9c4], ebx
mov dword [ebp - 0x9c0], ebx
mov dword [ebp - 0x9bc], ebx
mov dword [ebp - 0x9b8], ebx
mov dword [ebp - 0x9b4], ebx
mov dword [ebp - 0x9b0], ebx
mov edi, 0xf
mov dword [ebp - 0x9a4], ebx
mov dword [ebp - 0x970], edi
mov dword [ebp - 0x974], ebx
mov byte [ebp - 0x984], bl
mov byte [ebp - 4], 3
movzx edx, word [0x1002665c]
push edx
lea eax, [ebp - 0x44]
push 0x1001e898
push eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
call fcn.00414f0d
add esp, 0xc
push 7
push 0x1001e8b0
lea ecx, [ebp - 0x94c]
mov dword [ebp - 0x938], edi
mov dword [ebp - 0x93c], ebx
mov byte [ebp - 0x94c], bl
call fcn.00407a71
push ebx
push 0x100254bc
or eax, 0xffffffff
lea esi, [ebp - 0x94c]
mov byte [ebp - 4], 4
call fcn.0040dff1
push 1
mov eax, 0x1001e89c
mov ecx, esi
call fcn.0040e0e1
lea eax, [ebp - 0x44]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40a3c7
sub eax, esi
push eax
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x94c]
call fcn.0040e0e1
push 1
mov eax, 0x1001e8a0
lea ecx, [ebp - 0x94c]
call fcn.0040e0e1
push ebx
push 0x10025580
or eax, 0xffffffff
lea esi, [ebp - 0x94c]
call fcn.0040dff1
push 5
mov eax, 0x1001e99c
mov ecx, esi
call fcn.0040e0e1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x9e8], esp
push 0xffffffffffffffff
push ebx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push 0x100254f4
mov byte [ecx], bl
call fcn.00406a21
lea esi, [ebp - 0x9a0]
call fcn.00407ca1
add esp, 0x1c
push ebx
push eax
or eax, 0xffffffff
lea esi, [ebp - 0x94c]
mov byte [ebp - 4], 5
call fcn.0040dff1
mov byte [ebp - 4], 4
cmp dword [ebp - 0x98c], 0x10
jb 0x40a4b6
test byte [0x1002671c], 1
mov esi, dword [ebp - 0x9a0]
jne 0x40a490
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
push 0x10026704
call dword [0x1001c080]
cmp esi, ebx
je 0x40a4ab
lea eax, [esi - 1]
push eax
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
push 4
mov eax, 0x1001e9a4
lea ecx, [ebp - 0x94c]
call fcn.0040e0e1
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x114]
push 0x1001e898
push edx
call fcn.00414f0d
lea eax, [ebp - 0x114]
add esp, 0xc
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40a4e9
sub eax, esi
push eax
lea eax, [ebp - 0x114]
lea ecx, [ebp - 0x94c]
call fcn.0040e0e1
push 8
mov eax, 0x1001e9ac
lea ecx, [ebp - 0x94c]
call fcn.0040e0e1
push ebx
push 0x1001e7a8
lea ecx, [ebp - 0x968]
mov dword [ebp - 0x954], edi
mov dword [ebp - 0x958], ebx
mov byte [ebp - 0x968], bl
call fcn.00407a71
mov byte [ebp - 4], 6
push 0x63
lea eax, [ebp - 0xab]
push ebx
push eax
mov dword [ebp - 0x3c], 0x64636261
mov dword [ebp - 0x38], 0x68676665
mov dword [ebp - 0x34], 0x6c6b6a69
mov dword [ebp - 0x30], 0x706f6e6d
mov dword [ebp - 0x2c], 0x74737271
mov dword [ebp - 0x28], 0x78777675
mov dword [ebp - 0x24], 0x32317a79
mov dword [ebp - 0x20], 0x36353433
mov dword [ebp - 0x1c], 0x30393837
mov byte [ebp - 0xac], bl
call fcn.0041a6a1
add esp, 0xc
xor esi, esi
call fcn.004152fa
cdq
mov ecx, 0x24
idiv ecx
inc esi
mov dl, byte [ebp + edx - 0x3c]
mov byte [ebp + esi - 0xad], dl
cmp esi, 0x11
jl 0x40a596
lea eax, [ebp - 0xac]
mov byte [ebp - 0x9b], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40a5c3
sub eax, edx
push eax
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0x968]
call fcn.0040e0e1
push ebx
lea eax, [ebp - 0x968]
push eax
or eax, 0xffffffff
lea esi, [ebp - 0x94c]
call fcn.0040dff1
push 1
lea ecx, [ebp - 0xaec]
call fcn.00410c61
mov byte [ebp - 4], 7
cmp dword [ebp - 0x938], 0x10
mov eax, dword [ebp - 0x94c]
jae 0x40a616
mov eax, esi
push 0x84400f00
push eax
lea ecx, [ebp - 0xaec]
call fcn.004116d1
mov esi, eax
mov dword [ebp - 0x9a4], esi
mov edi, edi
cmp esi, ebx
jne 0x40a661
cmp dword [ebp - 0x9f4], ebx
je 0x40a64b
lea ecx, [ebp - 0xaec]
push ecx
call fcn.004121e1
jmp 0x40a627
lea edx, [ebp - 0xaec]
push edx
call fcn.00412d41
mov esi, eax
mov dword [ebp - 0x9a4], eax
jmp 0x40a631
push 0x3ff
lea eax, [ebp - 0x913]
push ebx
push eax
mov byte [ebp - 0x914], bl
call fcn.0041a6a1
add esp, 0xc
lea ecx, [ebp - 0x914]
mov eax, esi
call fcn.0040ff21
push 0x3ff
lea ecx, [ebp - 0x513]
push ebx
push ecx
mov byte [ebp - 0x514], bl
call fcn.0041a6a1
lea edx, [ebp - 0x514]
add esp, 0xc
push edx
lea ecx, [ebp - 0x914]
call fcn.0040f7a1
lea eax, [ebp - 0x514]
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40a6c2
sub eax, edx
push eax
lea eax, [ebp - 0x514]
push eax
lea ecx, [ebp - 0x930]
call fcn.00407a71
mov dword [ebp - 4], 6
jmp 0x40a724
mov edx, dword [ebp - 0x920]
cmp edx, 2
jb 0x40a734
mov edx, 2
cmp dword [ebp - 0x91c], 0x10
mov esi, dword [ebp - 0x930]
jae 0x40a749
lea esi, [ebp - 0x930]
mov ecx, 0x1001e9c0
cmp edx, 4
jb 0x40a767
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x40a76b
sub edx, 4
add ecx, 4
add esi, 4
cmp edx, 4
jae 0x40a753
cmp edx, ebx
je 0x40a7ae
movzx edi, byte [ecx]
movzx eax, byte [esi]
sub eax, edi
jne 0x40a7a6
cmp edx, 1
jbe 0x40a7ae
movzx eax, byte [esi + 1]
movzx edi, byte [ecx + 1]
sub eax, edi
jne 0x40a7a6
cmp edx, 2
jbe 0x40a7ae
movzx eax, byte [esi + 2]
movzx edi, byte [ecx + 2]
sub eax, edi
jne 0x40a7a6
cmp edx, 3
jbe 0x40a7ae
movzx eax, byte [esi + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x40a7b0
xor eax, eax
mov edx, dword [ebp - 0x920]
cmp eax, ebx
jne 0x40a7ce
cmp edx, 2
jae 0x40a7c4
or eax, 0xffffffff
jmp 0x40a7cc
xor eax, eax
cmp edx, 2
setne al
cmp eax, ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x40aac7
cmp edx, 5
jb 0x40a7e8
mov edx, 5
cmp dword [ebp - 0x91c], 0x10
mov esi, dword [ebp - 0x930]
jae 0x40a7fd
lea esi, [ebp - 0x930]
mov ecx, 0x1001e9b8
cmp edx, 4
jb 0x40a81b
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x40a81f
sub edx, 4
add ecx, 4
add esi, 4
cmp edx, 4
jae 0x40a807
cmp edx, ebx
je 0x40a862
movzx edi, byte [ecx]
movzx eax, byte [esi]
sub eax, edi
jne 0x40a85a
cmp edx, 1
jbe 0x40a862
movzx eax, byte [esi + 1]
movzx edi, byte [ecx + 1]
sub eax, edi
jne 0x40a85a
cmp edx, 2
jbe 0x40a862
movzx eax, byte [esi + 2]
movzx edi, byte [ecx + 2]
sub eax, edi
jne 0x40a85a
cmp edx, 3
jbe 0x40a862
movzx eax, byte [esi + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x40a864
xor eax, eax
mov edx, dword [ebp - 0x920]
cmp eax, ebx
jne 0x40a882
cmp edx, 5
jae 0x40a878
or eax, 0xffffffff
jmp 0x40a880
xor eax, eax
cmp edx, 5
setne al
cmp eax, ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x40aac7
cmp edx, 5
jb 0x40a89c
mov edx, 5
cmp dword [ebp - 0x91c], 0x10
mov esi, dword [ebp - 0x930]
jae 0x40a8b1
lea esi, [ebp - 0x930]
mov ecx, 0x1001e9c4
cmp edx, 4
jb 0x40a8d5
lea ebx, [ebx]
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x40a8d9
sub edx, 4
add ecx, 4
add esi, 4
cmp edx, 4
jae 0x40a8c1
cmp edx, ebx
je 0x40a91c
movzx edi, byte [ecx]
movzx eax, byte [esi]
sub eax, edi
jne 0x40a914
cmp edx, 1
jbe 0x40a91c
movzx eax, byte [esi + 1]
movzx edi, byte [ecx + 1]
sub eax, edi
jne 0x40a914
cmp edx, 2
jbe 0x40a91c
movzx eax, byte [esi + 2]
movzx edi, byte [ecx + 2]
sub eax, edi
jne 0x40a914
cmp edx, 3
jbe 0x40a91c
movzx eax, byte [esi + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x40a91e
xor eax, eax
cmp eax, ebx
jne 0x40a93e
mov eax, dword [ebp - 0x920]
cmp eax, 5
jae 0x40a932
or eax, 0xffffffff
jmp 0x40a93c
xor edx, edx
cmp eax, 5
setne dl
mov eax, edx
cmp eax, ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x40aac7
cmp dword [ebp - 0x954], 0x10
jb 0x40a9af
test byte [0x1002671c], 1
mov esi, dword [ebp - 0x968]
jne 0x40a985
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
mov edi, dword [0x1001c080]
push 0x10026704
call edi
cmp esi, ebx
je 0x40a9a2
lea eax, [esi - 1]
push eax
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
jmp 0x40a9b5
mov edi, dword [0x1001c080]
cmp dword [ebp - 0x938], 0x10
mov dword [ebp - 0x954], 0xf
mov dword [ebp - 0x958], ebx
mov byte [ebp - 0x968], bl
jb 0x40aa24
test byte [0x1002671c], 1
mov esi, dword [ebp - 0x94c]
jne 0x40aa02
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
push 0x10026704
call edi
cmp esi, ebx
je 0x40aa19
lea eax, [esi - 1]
push eax
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
cmp dword [ebp - 0x970], 0x10
mov dword [ebp - 0x938], 0xf
mov dword [ebp - 0x93c], ebx
mov byte [ebp - 0x94c], bl
jb 0x40aa91
test byte [0x1002671c], 1
jne 0x40aa6b
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
push 0x10026704
call edi
mov eax, dword [ebp - 0x984]
cmp eax, ebx
je 0x40aa86
dec eax
push eax
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
mov eax, dword [ebp - 0x9bc]
cmp eax, ebx
je 0x40aaa4
push eax
call fcn.00414a02
add esp, 4
mov eax, dword [ebp - 0x9b8]
cmp eax, ebx
je 0x40aab7
push eax
call fcn.00414a02
add esp, 4
lea ecx, [ebp - 0xaec]
call fcn.00410a31
jmp 0x40ac55
cmp dword [ebp - 0x954], 0x10
jb 0x40ab28
test byte [0x1002671c], 1
mov esi, dword [ebp - 0x968]
jne 0x40aafe
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
mov edi, dword [0x1001c080]
push 0x10026704
call edi
cmp esi, ebx
je 0x40ab1b
lea eax, [esi - 1]
push eax
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
jmp 0x40ab2e
mov edi, dword [0x1001c080]
cmp dword [ebp - 0x938], 0x10
mov dword [ebp - 0x954], 0xf
mov dword [ebp - 0x958], ebx
mov byte [ebp - 0x968], bl
jb 0x40ab9d
test byte [0x1002671c], 1
mov esi, dword [ebp - 0x94c]
jne 0x40ab7b
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
push 0x10026704
call edi
cmp esi, ebx
je 0x40ab92
lea eax, [esi - 1]
push eax
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
cmp dword [ebp - 0x970], 0x10
mov dword [ebp - 0x938], 0xf
mov dword [ebp - 0x93c], ebx
mov byte [ebp - 0x94c], bl
jb 0x40ac0a
test byte [0x1002671c], 1
jne 0x40abe4
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
push 0x10026704
call edi
mov eax, dword [ebp - 0x984]
cmp eax, ebx
je 0x40abff
dec eax
push eax
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
mov eax, dword [ebp - 0x9bc]
cmp eax, ebx
je 0x40ac1d
push eax
call fcn.00414a02
add esp, 4
mov eax, dword [ebp - 0x9b8]
cmp eax, ebx
je 0x40ac30
push eax
call fcn.00414a02
add esp, 4
lea ecx, [ebp - 0xaec]
mov byte [ebp - 4], bl
call fcn.00410a31
mov eax, dword [ebp - 0x9a8]
mov ecx, eax
dec eax
mov dword [ebp - 0x9a8], eax
test ecx, ecx
jne 0x40a2c7
mov edi, dword [ebp - 0x9ac]
lea edx, [ebp - 0x930]
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
cmp edi, edx
je 0x40ad26
cmp dword [edi + 0x14], 0x10
jb 0x40acc9
test byte [0x1002671c], 1
mov esi, dword [edi]
jne 0x40aca5
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
push 0x10026704
call dword [0x1001c080]
cmp esi, ebx
je 0x40acbe
dec esi
push esi
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
cmp dword [ebp - 0x91c], 0x10
jae 0x40ad0a
mov eax, dword [ebp - 0x920]
inc eax
push eax
lea ecx, [ebp - 0x930]
push ecx
push edi
call fcn.004146a1
mov eax, dword [ebp - 0x920]
mov ecx, dword [ebp - 0x91c]
add esp, 0xc
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x40ad81
mov edx, dword [ebp - 0x930]
mov eax, dword [ebp - 0x920]
mov ecx, dword [ebp - 0x91c]
mov dword [edi], edx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x40ad81
cmp dword [ebp - 0x91c], 0x10
jb 0x40ad81
test byte [0x1002671c], 1
mov esi, dword [ebp - 0x930]
jne 0x40ad5d
or dword [0x1002671c], 1
push 0x10026704
call dword [0x1001c08c]
push 0x1001bb40
call fcn.00414ef6
add esp, 4
push 0x10026704
call dword [0x1001c080]
cmp esi, ebx
je 0x40ad76
dec esi
push esi
call fcn.00414a02
add esp, 4
push 0x10026704
call dword [0x1001c084]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0041455d
mov esp, ebp
pop ebp
ret 4