Function at 0x406040
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push esi
push ebx
sub esp, 0x124
cmp byte [0x4a2d14], 0
jne 0x40605e
cmp byte [0x4a0b60], 0
je 0x406586
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 3
mov dword [esp + 0x20], 0x65636552
mov dword [esp + 0x24], 0x64657669
mov dword [esp + 0x28], 0x6c696b20
mov dword [esp + 0x2c], 0x656d206c
mov dword [esp + 0x30], 0x67617373
mov word [esp + 0x34], 0x65
call fcn.0042ace0
cmp byte [0x4a2cb9], 0
jne 0x4060cf
cmp byte [0x4a0b61], 0
jne 0x406598
mov eax, dword [0x49f058]
lea edx, [eax + eax*8]
mov eax, dword [0x4a2c44]
lea eax, [eax + edx*8]
mov dword [esp], eax
call fcn.00419950
cmp byte [0x4a0b61], 0
je 0x40613f
cmp byte [0x4a2d14], 0
jne 0x4060ee
cmp byte [0x4a0b60], 0
je 0x406697
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x6c6c694b
mov dword [esp + 0x24], 0x20676e69
mov dword [esp + 0x28], 0x2066666f
mov dword [esp + 0x2c], 0x63746177
mov dword [esp + 0x30], 0x6f6f7068
mov dword [esp + 0x34], 0x6874206c
mov dword [esp + 0x38], 0x64616572
mov byte [esp + 0x3c], 0
call fcn.0042ace0
mov eax, dword [0x49f05c]
lea edx, [eax + eax*8]
mov eax, dword [0x4a2c44]
lea eax, [eax + edx*8]
mov dword [esp], eax
call fcn.00419950
cmp byte [0x4a0b61], 0
je 0x4061c2
cmp byte [0x4a2d14], 0
jne 0x406176
cmp byte [0x4a0b60], 0
je 0x4066b0
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x6c6c694b
mov dword [esp + 0x24], 0x20676e69
mov dword [esp + 0x28], 0x2066666f
mov dword [esp + 0x2c], 0x63746177
mov dword [esp + 0x30], 0x676f6468
mov dword [esp + 0x34], 0x72687420
mov dword [esp + 0x38], 0x646165
call fcn.0042ace0
mov eax, dword [0x49f060]
lea edx, [eax + eax*8]
mov eax, dword [0x4a2c44]
lea eax, [eax + edx*8]
mov dword [esp], eax
call fcn.00419950
cmp byte [0x4a0b61], 0
je 0x40624a
cmp byte [0x4a2d14], 0
jne 0x4061f9
cmp byte [0x4a0b60], 0
je 0x4066c5
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x74756853
mov dword [esp + 0x24], 0x676e6974
mov dword [esp + 0x28], 0x776f6420
mov dword [esp + 0x2c], 0x696d206e
mov dword [esp + 0x30], 0x676e696e
mov dword [esp + 0x34], 0x72687420
mov dword [esp + 0x38], 0x73646165
mov byte [esp + 0x3c], 0
call fcn.0042ace0
mov eax, dword [0x4a2d94]
xor ebx, ebx
test eax, eax
jle 0x40627a
mov dword [esp], ebx
call fcn.00405ff0
test eax, eax
je 0x40626f
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x40626f
mov byte [eax + 0x3f8], 1
add ebx, 1
cmp ebx, dword [0x4a2d94]
jl 0x406255
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.004199a0
mov dword [esp + 4], 1
mov dword [esp], 0x3e8
call fcn.0047a5b4
sub esp, 8
cmp eax, 0xc0
je 0x406610
cmp byte [0x4a0b61], 0
je 0x406317
cmp byte [0x4a2d14], 0
jne 0x4062c7
cmp byte [0x4a0b60], 0
je 0x406660
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x6c6c694b
mov dword [esp + 0x24], 0x20676e69
mov dword [esp + 0x28], 0x2066666f
mov dword [esp + 0x2c], 0x696e696d
mov dword [esp + 0x30], 0x7420676e
mov dword [esp + 0x34], 0x61657268
mov word [esp + 0x38], 0x7364
mov byte [esp + 0x3a], 0
call fcn.0042ace0
mov eax, dword [0x4a2d94]
xor esi, esi
test eax, eax
jg 0x40635f
jmp 0x406380
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40636d
mov dword [esp], ebx
call fcn.00419950
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x406354
mov dword [esp + 8], 0
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00464ac0
add esi, 1
cmp esi, dword [0x4a2d94]
jge 0x406380
mov dword [esp], esi
call fcn.00405ff0
test eax, eax
mov ebx, eax
jne 0x406324
mov dword [esp], ebx
add esi, 1
call fcn.00419950
cmp esi, dword [0x4a2d94]
jl 0x40635f
cmp byte [0x4a0b61], 0
je 0x4063e8
cmp byte [0x4a2d14], 0
jne 0x40639f
cmp byte [0x4a0b60], 0
je 0x406672
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x6c6c694b
mov dword [esp + 0x24], 0x20676e69
mov dword [esp + 0x28], 0x2066666f
mov dword [esp + 0x2c], 0x67617473
mov dword [esp + 0x30], 0x68742065
mov dword [esp + 0x34], 0x64616572
mov byte [esp + 0x38], 0
call fcn.0042ace0
mov eax, dword [0x49f064]
lea edx, [eax + eax*8]
mov eax, dword [0x4a2c44]
lea eax, [eax + edx*8]
mov dword [esp], eax
call fcn.00419950
cmp byte [0x4a0b61], 0
je 0x406467
cmp byte [0x4a2d14], 0
jne 0x40641f
cmp byte [0x4a0b60], 0
je 0x406685
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x6c6c694b
mov dword [esp + 0x24], 0x20676e69
mov dword [esp + 0x28], 0x2066666f
mov dword [esp + 0x2c], 0x20495041
mov dword [esp + 0x30], 0x65726874
mov word [esp + 0x34], 0x6461
mov byte [esp + 0x36], 0
call fcn.0042ace0
mov eax, dword [0x49f068]
lea edx, [eax + eax*8]
mov eax, dword [0x4a2c44]
lea eax, [eax + edx*8]
mov dword [esp], eax
call fcn.00419950
cmp byte [0x4a2cb9], 0
jne 0x40657d
cmp byte [0x4a0b61], 0
je 0x4064f6
cmp byte [0x4a2d14], 0
jne 0x4064ab
cmp byte [0x4a0b60], 0
je 0x4066d7
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x656c6552
mov dword [esp + 0x24], 0x6e697361
mov dword [esp + 0x28], 0x6c612067
mov dword [esp + 0x2c], 0x5355206c
mov dword [esp + 0x30], 0x65642042
mov dword [esp + 0x34], 0x65636976
mov word [esp + 0x38], 0x73
call fcn.0042ace0
call fcn.00445130
cmp byte [0x4a0b61], 0
je 0x406565
cmp byte [0x4a2d14], 0
jne 0x40651a
cmp byte [0x4a0b60], 0
je 0x4066f0
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x6c6c694b
mov dword [esp + 0x24], 0x20676e69
mov dword [esp + 0x28], 0x2066666f
mov dword [esp + 0x2c], 0x72627375
mov dword [esp + 0x30], 0x74207365
mov dword [esp + 0x34], 0x61657268
mov word [esp + 0x38], 0x64
call fcn.0042ace0
mov eax, dword [0x49f06c]
lea edx, [eax + eax*8]
mov eax, dword [0x4a2c44]
lea eax, [eax + edx*8]
mov dword [esp], eax
call fcn.00419950
add esp, 0x124
pop ebx
pop esi
ret
cmp dword [0x47f720], 2
jle 0x4060a1
jmp 0x40605e
cmp byte [0x4a2d14], 0
jne 0x4065b7
cmp byte [0x4a0b60], 0
jne 0x4065b7
cmp dword [0x47f720], 3
jle 0x4060b7
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x20], 0x6c6c694b
mov dword [esp + 0x24], 0x20676e69
mov dword [esp + 0x28], 0x2066666f
mov dword [esp + 0x2c], 0x50746f48
mov dword [esp + 0x30], 0x2067756c
mov dword [esp + 0x34], 0x65726874
mov word [esp + 0x38], 0x6461
mov byte [esp + 0x3a], 0
call fcn.0042ace0
jmp 0x4060b7
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp ebx, 0xf4240
jg 0x406654
add esi, 1
lea eax, [esp + 0x20]
mov dword [esp], eax
call fcn.004199a0
cmp dword [esp + 0x20], esi
je 0x406705
setg al
test al, al
jne 0x4062a8
call fcn.0047a378
mov dword [eax], 4
jmp 0x4062a8
sub ebx, 0xf4240
add esi, 2
jmp 0x406623
cmp dword [0x47f720], 3
jle 0x406317
jmp 0x4062c7
cmp dword [0x47f720], 3
jle 0x4063e8
nop
jmp 0x40639f
cmp dword [0x47f720], 3
jle 0x406467
jmp 0x40641f
cmp dword [0x47f720], 3
jle 0x40613f
jmp 0x4060ee
cmp dword [0x47f720], 3
jle 0x4061c2
lea esi, [esi]
jmp 0x406176
cmp dword [0x47f720], 3
jle 0x40624a
jmp 0x4061f9
cmp dword [0x47f720], 3
jle 0x4064f6
jmp 0x4064ab
cmp dword [0x47f720], 3
jle 0x406565
lea esi, [esi]
jmp 0x40651a
cmp dword [esp + 0x24], ebx
setg al
jmp 0x40663c