Function at 0x404250
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, dword [0x429e74]
push eax
call fcn.0040d9f2
add esp, 4
mov dword [0x429e74], 0
ret
sub esp, 0x3c
mov eax, dword [esp + 0x44]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x50]
mov ebp, dword [edi + eax + 0x11]
lea edi, [edi + eax + 0x15]
push edi
call fcn.00402a30
mov esi, eax
push esi
call fcn.0040e20a
mov ebx, eax
push ebx
push ebp
push edi
call fcn.00402a60
push 0x40
call fcn.0040e20a
mov ebp, eax
lea eax, [ebx + 2]
push ebp
push eax
call fcn.00402c20
lea eax, [esi - 0x32]
push eax
mov dword [esp + 0x34], eax
call fcn.0040e20a
lea ecx, [ebp + 0x30]
mov edx, eax
push ebp
mov dword [esp + 0x3c], eax
mov edi, dword [ecx]
mov dword [edx], edi
mov edi, dword [ecx + 4]
mov dword [edx + 4], edi
mov edi, dword [ecx + 8]
mov dword [edx + 8], edi
lea edi, [eax + 0x10]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
lea ecx, [esi - 0x42]
mov edx, ecx
lea esi, [ebx + 0x42]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0040e1ff
push ebx
call fcn.0040e1ff
mov edi, dword [esp + 0x7c]
add esp, 0x2c
mov byte [esp + 0x21], 0x6f
mov byte [esp + 0x20], 0x69
mov eax, dword [edi + 4]
lea esi, [edi + 4]
cmp eax, 0x3040000
mov dword [esp + 0x18], esi
mov byte [esp + 0x1f], 0x6d
mov byte [esp + 0x1e], 0x65
mov byte [esp + 0x1d], 0x65
mov byte [esp + 0x1c], 0x67
jbe 0x404345
mov cx, word [esp + 0x20]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x50]
mov dword [esp + 0x24], eax
push 4
push edx
lea eax, [esp + 0x2c]
push 6
push eax
mov word [esp + 0x38], cx
call fcn.00402cd0
add esp, 0x10
jmp 0x404357
mov ecx, dword [esp + 0x1c]
mov dx, word [esp + 0x20]
mov dword [esp + 0x24], ecx
mov word [esp + 0x28], dx
mov al, 0x66
mov cl, 0x99
mov byte [esp + 0x3c], al
mov byte [esp + 0x40], al
mov byte [esp + 0x41], al
xor eax, eax
mov dword [esp + 0x1d], eax
mov byte [esp + 0x3e], cl
mov byte [esp + 0x3f], cl
mov ecx, dword [esp + 0x54]
mov word [esp + 0x21], ax
mov byte [esp + 0x3d], 0x6a
mov byte [esp + 0x23], al
mov al, byte [edi + ecx + 0x10]
cmp al, 4
mov byte [esp + 0x2c], 5
mov byte [esp + 0x2d], 0x71
mov byte [esp + 0x2e], 7
mov byte [esp + 0x2f], 9
mov byte [esp + 0x30], 0x6b
mov byte [esp + 0x31], 0x61
jne 0x4043c1
mov edx, dword [esp + 0x3c]
mov ax, word [esp + 0x40]
mov dword [esp + 0x1c], edx
mov word [esp + 0x20], ax
jmp 0x4043d3
mov ecx, dword [esp + 0x2c]
mov dx, word [esp + 0x30]
mov dword [esp + 0x1c], ecx
mov word [esp + 0x20], dx
lea eax, [esp + 0x24]
push 6
push eax
lea ecx, [esp + 0x24]
push 6
push ecx
call fcn.00402cd0
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
lea edx, [esp + 0x2c]
push 8
push edx
push 0
push eax
push ebp
call fcn.00403de0
mov eax, dword [esi]
add esp, 0x24
cmp eax, 0x30b0000
mov dword [esp + 0x50], ebp
jbe 0x404415
add ebp, 4
mov dword [esp + 0x50], ebp
lea ecx, [esp + 0x54]
lea edx, [ebp + 0x10]
push ecx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
call fcn.00403f40
add ebp, 0x90
mov esi, eax
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0x60]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
push ebx
push esi
call fcn.00402cd0
lea edx, [esp + 0x74]
push 4
push edx
push ebx
push esi
call fcn.00402cd0
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x80]
push ecx
or ecx, 0xffffffff
lea edx, [eax + 0x50]
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
call fcn.00403f40
mov edx, eax
mov eax, dword [esp + 0x8c]
add esp, 0x38
mov dword [esp + 0x10], edx
test eax, eax
je 0x4044d0
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x54]
not ecx
dec ecx
push ecx
push ebp
push eax
push edx
call fcn.00402cd0
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x68]
push 4
push ecx
push ebp
push edi
call fcn.00402cd0
push ebp
push edi
push ebx
push esi
call fcn.00402cd0
add esp, 0x30
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4044e8
mov edx, dword [esp + 0x5c]
push eax
push edx
push ebx
push esi
call fcn.00402cd0
add esp, 0x10
mov al, 0x45
mov byte [esp + 0x30], 6
mov byte [esp + 0x1d], al
mov byte [esp + 0x1e], al
mov al, 0x64
mov byte [esp + 0x31], 0x1f
mov byte [esp + 0x32], al
mov byte [esp + 0x33], al
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x34], 0x4c
mov byte [esp + 0x35], 0xc5
mov byte [esp + 0x36], 0xba
mov byte [esp + 0x37], 0xa1
mov edx, dword [esp + 0x34]
mov byte [esp + 0x2c], 0x21
mov byte [esp + 0x2d], 0x7e
mov byte [esp + 0x2e], 0x29
mov byte [esp + 0x2f], 0x26
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x44], edx
push 6
mov byte [esp + 0x3c], 0xa9
mov byte [esp + 0x3d], 0x44
mov byte [esp + 0x3e], 0x61
mov byte [esp + 0x3f], 0x69
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
push ecx
lea edx, [esp + 0x44]
push 0x10
push edx
mov byte [esp + 0x2c], 0x47
mov byte [esp + 0x2f], 0x4d
mov byte [esp + 0x30], 0x49
mov byte [esp + 0x31], 0x4f
mov dword [esp + 0x58], eax
call fcn.00402cd0
push ebx
push esi
lea eax, [esp + 0x54]
push 0x10
push eax
call fcn.00402cd0
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0040d9f2
push esi
call fcn.0040d9f2
mov edi, dword [esp + 0x40]
add esp, 0x28
mov esi, dword [edi]
cmp esi, 0x3040000
jb 0x40462f
lea edx, [esp + 0x1c]
push 6
push edx
lea eax, [esp + 0x44]
push 0x10
push eax
mov byte [esp + 0x2c], 0x67
mov byte [esp + 0x2d], 0x65
mov byte [esp + 0x2e], 0x65
mov byte [esp + 0x2f], 0x6d
mov byte [esp + 0x30], 0x69
mov byte [esp + 0x31], 0x6f
call fcn.00402cd0
add esp, 0x10
cmp esi, 0x30f1bcc
jb 0x404608
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
mov ecx, eax
imul ecx, eax
mov eax, dword [edx + 0xc]
add ecx, esi
jmp 0x404613
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x58]
lea edx, [esp + 0x58]
xor ecx, eax
push 4
push edx
lea eax, [esp + 0x44]
push 0x10
push eax
mov dword [esp + 0x68], ecx
call fcn.00402cd0
add esp, 0x10
cmp esi, 0x30a0000
jb 0x404649
push 4
push edi
lea ecx, [esp + 0x44]
push 0x10
push ecx
call fcn.00402cd0
add esp, 0x10
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
mov edx, ecx
lea esi, [esp + 0x3c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.0040e1ff
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
jmp 0x403f20