Function at 0x41f76a
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x453aed
call fcn.004534f4
sub esp, 0x404
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x54], edi
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
cmp dword [ebp + 0x14], ebx
je 0x41f7b3
mov eax, dword [edi + 0xc]
test eax, eax
je 0x41f7b3
cmp dword [edi + 0x344], ebx
jb 0x41f7b3
ja 0x42022b
cmp dword [edi + 0x340], eax
jae 0x42022b
mov esi, dword [edi + 0x354]
push dword [ebp + 0xc]
push 0x5c
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x4c]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0x6c]
call fcn.00417ccd
cmp dword [eax + 0x14], 0x10
jb 0x41f7db
mov eax, dword [eax]
lea ecx, [ebp - 0x2d0]
push ecx
push eax
call esi
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x6c]
call fcn.0040bc59
lea ecx, [ebp - 0x4c]
call fcn.0040bc59
mov byte [ebp - 0x19], bl
mov dword [ebp - 0x50], 0x18
cmp dword [ebp - 0x20], 0xffffffff
je 0x4200ac
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], ebx
push 0xf
pop eax
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x4c], bl
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x6c], bl
mov byte [ebp - 0x17], bl
mov byte [ebp - 0x15], bl
mov ebx, dword [ebp - 0x20]
test byte [ebp - 0x2d0], 0x10
jne 0x41fffb
lea ecx, [ebp - 0x2a4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f852
sub ecx, edx
push ecx
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040bd17
mov dl, 0x52
mov dword [ebp - 0x25], 0x393c3e52
mov byte [ebp - 0x21], 0
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
cmp ecx, 3
jae 0x41f89b
mov al, byte [ebp + ecx - 0x24]
xor al, dl
mov byte [ebp + ecx - 0x24], al
inc ecx
mov dword [ebp - 0x9c], ecx
mov dl, byte [ebp - 0x25]
jmp 0x41f880
mov byte [ebp - 0x21], 0
push 0xffffffffffffffff
push ecx
push 0x2e
lea ecx, [ebp - 0x4c]
call fcn.0040bc28
inc eax
push eax
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c0be
lea edx, [ebp - 0x24]
mov ecx, eax
call fcn.00412c2f
mov bl, al
lea ecx, [ebp - 0xdc]
call fcn.0040bc59
test bl, bl
je 0x41f936
mov byte [ebp - 0x15], 1
lea eax, [ebp - 0x4c]
push eax
push 0x5c
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0xf4]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0x84]
call fcn.00417ccd
push eax
lea eax, [ebp - 0xdc]
push eax
mov ecx, edi
call fcn.0041f5e1
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040cac9
lea ecx, [ebp - 0xdc]
call fcn.0040bc59
lea ecx, [ebp - 0x84]
call fcn.0040bc59
lea ecx, [ebp - 0xf4]
call fcn.0040bc59
cmp dword [ebp + 0x14], 0
je 0x41fa35
movaps xmm0, xmmword [0x407940]
movups xmmword [ebp - 0x82], xmm0
mov dword [ebp - 0x72], 0x320f392f
mov word [ebp - 0x6e], 0xb
xor ebx, ebx
mov ecx, ebx
mov dword [ebp - 0xa0], ecx
cmp ecx, 0x14
jae 0x41f981
mov al, byte [ebp + ecx - 0x81]
xor al, byte [ebp - 0x82]
mov byte [ebp + ecx - 0x81], al
inc ecx
jmp 0x41f95f
mov byte [ebp - 0x6d], bl
mov al, 0x3f
mov dword [ebp - 0x33], 0x81745a3f
mov dword [ebp - 0x2f], 0x427b747d
mov dword [ebp - 0x2b], 0x7b733d41
mov word [ebp - 0x27], 0x7b
mov edx, ebx
mov dword [ebp - 0xa4], edx
cmp edx, 0xc
jae 0x41f9d4
movsx ecx, al
and ecx, 0x8000000f
jns 0x41f9be
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x32]
sub al, cl
mov byte [ebp + edx - 0x32], al
inc edx
mov dword [ebp - 0xa4], edx
mov al, byte [ebp - 0x33]
jmp 0x41f9a9
mov byte [ebp - 0x26], bl
lea edx, [ebp - 0x81]
lea ecx, [ebp - 0x32]
call fcn.0040c457
mov esi, eax
mov ebx, dword [ebp - 0x14]
or ebx, 1
mov dword [ebp - 0x14], ebx
or ebx, 2
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x4c]
push eax
push 0x5c
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x10c]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0xf4]
call fcn.00417ccd
cmp dword [eax + 0x14], 0x10
jb 0x41fa1f
mov eax, dword [eax]
lea ecx, [ebp - 0x190]
push ecx
push 0
push eax
call esi
test eax, eax
je 0x41fa38
mov byte [ebp - 0x16], 1
jmp 0x41fa3c
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x16], 0
test bl, 2
je 0x41fa52
and ebx, 0xfffffffd
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0xf4]
call fcn.0040bc59
test bl, 1
je 0x41fa68
and ebx, 0xfffffffe
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x10c]
call fcn.0040bc59
cmp byte [ebp - 0x16], 0
je 0x41fb54
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x90], eax
push 0
push 0x400
push ecx
push eax
call fcn.00453240
mov ecx, eax
or ecx, edx
jne 0x41faa3
xor eax, eax
inc eax
xor edx, edx
test edx, edx
jg 0x41fff8
jl 0x41fab6
cmp eax, dword [ebp + 0x14]
jae 0x41fff8
cmp dword [edi + 0xc], 0
je 0x41fb08
mov esi, dword [edi + 0x340]
mov ecx, dword [edi + 0x344]
mov dword [ebp - 0x8c], ecx
mov ecx, esi
add ecx, eax
mov eax, dword [ebp - 0x8c]
adc eax, edx
mov dword [edi + 0x340], ecx
mov dword [edi + 0x344], eax
test eax, eax
jb 0x41fb08
ja 0x41faf1
cmp ecx, dword [edi + 0xc]
jb 0x41fb08
mov dword [edi + 0x340], esi
mov eax, dword [ebp - 0x8c]
mov dword [edi + 0x344], eax
jmp 0x41fff8
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x8c], eax
cmp dword [ecx], eax
je 0x41fb54
xor esi, esi
mov dword [ebp - 0xa8], esi
sub eax, dword [ecx]
cdq
idiv dword [ebp - 0x50]
cmp esi, eax
jae 0x41fb54
push ecx
imul eax, esi, 0x18
add eax, dword [ecx]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0043da80
cmp eax, 0xffffffff
jne 0x41fff8
inc esi
mov dword [ebp - 0xa8], esi
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp + 0x1c]
jmp 0x41fb20
cmp byte [ebp + 0x20], 0
jne 0x41fc8d
lea eax, [ebp - 0x4c]
push eax
cmp byte [ebp - 0x15], 0
je 0x41fb7c
or ebx, 4
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0xc4]
push eax
call fcn.00425d90
jmp 0x41fb8d
or ebx, 8
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x124]
call fcn.0040cd59
mov esi, eax
push 0x5c
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x154]
call fcn.0043daf1
push esi
push eax
push dword [ebp + 0x18]
lea ecx, [ebp - 0x84]
call fcn.0041c09c
lea eax, [ebp - 0x4c]
push eax
cmp byte [ebp - 0x15], 0
je 0x41fbcc
or ebx, 0x10
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0xdc]
call fcn.0040cd59
jmp 0x41fbf5
or ebx, 0x20
mov dword [ebp - 0x14], ebx
or ebx, 0x40
mov dword [ebp - 0x14], ebx
push 0x5c
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0xf4]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0x10c]
call fcn.00417ccd
lea ecx, [ebp - 0x84]
push ecx
push eax
lea ecx, [edi + 0x3b0]
call fcn.00443981
test bl, 0x40
je 0x41fc1e
and ebx, 0xffffffbf
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x10c]
call fcn.0040bc59
test bl, 0x20
je 0x41fc34
and ebx, 0xffffffdf
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0xf4]
call fcn.0040bc59
test bl, 0x10
je 0x41fc4a
and ebx, 0xffffffef
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0xdc]
call fcn.0040bc59
lea ecx, [ebp - 0x84]
call fcn.0040bc59
lea ecx, [ebp - 0x154]
call fcn.0040bc59
test bl, 8
je 0x41fc76
and ebx, 0xfffffff7
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x124]
call fcn.0040bc59
test bl, 4
je 0x41fff0
and ebx, 0xfffffffb
lea ecx, [ebp - 0xc4]
jmp 0x41ffe8
push dword [ebp + 8]
lea eax, [ebp - 0xc4]
push eax
call fcn.00425d90
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040cac9
lea ecx, [ebp - 0xc4]
call fcn.0040bc59
cmp dword [ebp - 0x5c], 0
je 0x41fe95
cmp byte [ebp - 0x17], 0
jne 0x41fd07
lea eax, [ebp - 0x6c]
push eax
push 0x5c
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x124]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0xc4]
call fcn.00417ccd
push eax
lea ecx, [edi + 0x3b0]
call fcn.004439d9
lea ecx, [ebp - 0xc4]
call fcn.0040bc59
lea ecx, [ebp - 0x124]
call fcn.0040bc59
mov byte [ebp - 0x17], 1
lea eax, [ebp - 0x4c]
push eax
cmp byte [ebp - 0x15], 0
je 0x41fd28
or ebx, 0x80
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x13c]
push eax
call fcn.00425d90
jmp 0x41fd3c
or ebx, 0x100
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x16c]
call fcn.0040cd59
mov esi, eax
push 0x5c
lea eax, [ebp - 0x6c]
push eax
push 0x5c
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xdc]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0xf4]
call fcn.00417ccd
mov edx, eax
lea ecx, [ebp - 0x10c]
call fcn.00417ca3
push esi
push eax
push dword [ebp + 0x18]
lea ecx, [ebp - 0x84]
call fcn.0041c09c
lea eax, [ebp - 0x4c]
push eax
cmp byte [ebp - 0x15], 0
je 0x41fd9e
or ebx, 0x200
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x154]
call fcn.0040cd59
jmp 0x41fdcd
or ebx, 0x400
mov dword [ebp - 0x14], ebx
or ebx, 0x800
mov dword [ebp - 0x14], ebx
push 0x5c
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x124]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0xc4]
call fcn.00417ccd
lea ecx, [ebp - 0x84]
push ecx
push eax
lea ecx, [edi + 0x3b0]
call fcn.00443981
test ebx, 0x800
je 0x41fdfc
and ebx, 0xfffff7ff
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0xc4]
call fcn.0040bc59
test ebx, 0x400
je 0x41fe18
and ebx, 0xfffffbff
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x124]
call fcn.0040bc59
test ebx, 0x200
je 0x41fe34
and ebx, 0xfffffdff
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x154]
call fcn.0040bc59
lea ecx, [ebp - 0x84]
call fcn.0040bc59
lea ecx, [ebp - 0x10c]
call fcn.0040bc59
lea ecx, [ebp - 0xf4]
call fcn.0040bc59
lea ecx, [ebp - 0xdc]
call fcn.0040bc59
test ebx, 0x100
je 0x41fe7c
and ebx, 0xfffffeff
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x16c]
call fcn.0040bc59
test bl, bl
jns 0x41fff0
and ebx, 0xffffff7f
lea ecx, [ebp - 0x13c]
jmp 0x41ffe8
lea eax, [ebp - 0x4c]
push eax
cmp byte [ebp - 0x15], 0
je 0x41feb6
or ebx, 0x1000
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x10c]
push eax
call fcn.00425d90
jmp 0x41feca
or ebx, 0x2000
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x154]
call fcn.0040cd59
mov esi, eax
push 0x5c
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x124]
call fcn.0043daf1
push esi
push eax
push dword [ebp + 0x18]
lea ecx, [ebp - 0x84]
call fcn.0041c09c
lea eax, [ebp - 0x4c]
push eax
cmp byte [ebp - 0x15], 0
je 0x41ff0c
or ebx, 0x4000
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0xc4]
call fcn.0040cd59
jmp 0x41ff3b
or ebx, 0x8000
mov dword [ebp - 0x14], ebx
or ebx, 0x10000
mov dword [ebp - 0x14], ebx
push 0x5c
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x16c]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0x13c]
call fcn.00417ccd
lea ecx, [ebp - 0x84]
push ecx
push eax
lea ecx, [edi + 0x3b0]
call fcn.00443981
test ebx, 0x10000
je 0x41ff6a
and ebx, 0xfffeffff
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x13c]
call fcn.0040bc59
test ebx, 0x8000
je 0x41ff86
and ebx, 0xffff7fff
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x16c]
call fcn.0040bc59
test ebx, 0x4000
je 0x41ffa2
and ebx, 0xffffbfff
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0xc4]
call fcn.0040bc59
lea ecx, [ebp - 0x84]
call fcn.0040bc59
lea ecx, [ebp - 0x124]
call fcn.0040bc59
test ebx, 0x2000
je 0x41ffd4
and ebx, 0xffffdfff
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x154]
call fcn.0040bc59
test ebx, 0x1000
je 0x41fff0
and ebx, 0xffffefff
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x14], ebx
call fcn.0040bc59
mov byte [ebp - 0x19], 1
mov byte [ebp - 0x15], 0
mov ebx, dword [ebp - 0x20]
mov eax, dword [edi + 0x358]
lea ecx, [ebp - 0x2d0]
push ecx
push ebx
call eax
test eax, eax
jne 0x41f83c
mov eax, dword [edi + 0x350]
push ebx
call eax
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x42005b
inc ecx
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x6c]
mov eax, edx
cmp ecx, 0x1000
jb 0x420052
add ecx, 0x23
mov dword [ebp - 0xac], ecx
mov edx, dword [edx - 4]
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42023e
push ecx
push edx
call fcn.0044488d
pop ecx
pop ecx
xor ebx, ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], bl
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x4200a9
inc ecx
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x4c]
mov eax, edx
cmp ecx, 0x1000
jb 0x4200a0
add ecx, 0x23
mov dword [ebp - 0x94], ecx
mov edx, dword [edx - 4]
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42023e
push ecx
push edx
call fcn.0044488d
pop ecx
pop ecx
mov byte [ebp - 0x4c], bl
cmp byte [ebp + 0x18], 0
je 0x42021c
mov esi, dword [edi + 0x354]
push 0x407000
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x13c]
call fcn.00417b5f
cmp dword [eax + 0x14], 0x10
jb 0x4200d7
mov eax, dword [eax]
lea ecx, [ebp - 0x410]
push ecx
push eax
call esi
mov edi, eax
lea ecx, [ebp - 0x13c]
call fcn.0040bc59
cmp edi, 0xffffffff
je 0x42021c
mov bl, 1
mov byte [ebp - 0x18], bl
mov esi, dword [ebp - 0x54]
test byte [ebp - 0x410], 0x10
je 0x4201fb
lea eax, [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040bc98
mov edx, 0x407004
lea ecx, [ebp - 0x6c]
call fcn.00412c2f
test al, al
jne 0x4201f3
mov edx, 0x407008
lea ecx, [ebp - 0x6c]
call fcn.00412c2f
test al, al
jne 0x4201f3
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx + 4]
mov dword [ebp + 0x18], eax
cmp dword [ecx], eax
je 0x42018e
xor esi, esi
mov dword [ebp - 0x98], esi
sub eax, dword [ecx]
cdq
idiv dword [ebp - 0x50]
cmp esi, eax
jae 0x42018e
test bl, bl
je 0x4201e1
push ecx
imul eax, esi, 0x18
add eax, dword [ecx]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0043da80
movzx ebx, bl
xor ecx, ecx
cmp eax, 0xffffffff
cmovne ebx, ecx
mov byte [ebp - 0x18], bl
inc esi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
jmp 0x420154
test bl, bl
je 0x4201e1
push dword [ebp + 0x20]
push ecx
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
lea eax, [ebp - 0x6c]
push eax
push 0x5c
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x16c]
call fcn.0043daf1
mov edx, eax
lea ecx, [ebp - 0x13c]
call fcn.00417ccd
push eax
mov ecx, dword [ebp - 0x54]
call fcn.0041f76a
lea ecx, [ebp - 0x13c]
call fcn.0040bc59
lea ecx, [ebp - 0x16c]
call fcn.0040bc59
mov bl, 1
mov byte [ebp - 0x18], bl
lea ecx, [ebp - 0x6c]
call fcn.0040bc59
mov esi, dword [ebp - 0x54]
jmp 0x4201fb
lea ecx, [ebp - 0x6c]
call fcn.0040bc59
mov ecx, dword [esi + 0x358]
lea eax, [ebp - 0x410]
push eax
push edi
call ecx
test eax, eax
jne 0x4200ff
mov ecx, dword [esi + 0x350]
push edi
call ecx
mov al, byte [ebp - 0x19]
jmp 0x42022d
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x1c
call fcn.00448974
int3