Function at 0x43d4e8
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x49dd48]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x54], 0
push ebx
push esi
push edi
push 0x4b47
xor ebx, ebx
call fcn.004355f2
push 0x4b44
mov dword [ebp - 0x58], eax
call fcn.004355f2
mov edi, eax
push 0x4b4d
mov dword [ebp - 0x78], edi
call fcn.004355f2
mov esi, eax
push 0x4a8a
mov dword [ebp - 0x7c], esi
call fcn.004355f2
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x59], bl
cmp dword [ebp - 0x58], ebx
je 0x43ddc5
test edi, edi
je 0x43ddc5
test esi, esi
je 0x43ddc5
test eax, eax
je 0x43ddc5
mov edi, dword [ebp + 8]
test edi, edi
jne 0x43d56b
push 0x52
jmp 0x43d57e
cmp edi, 2
jne 0x43d574
push 0x54
jmp 0x43d57e
cmp edi, 1
jne 0x43d587
push 0x2a1
call fcn.004355f2
mov esi, eax
jmp 0x43d589
xor esi, esi
test esi, esi
je 0x43ddc5
push edi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.0043e470
cmp al, 1
jne 0x43ddc5
and dword [ebp - 0x44], ebx
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x50], 0x736f746e
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4c], 0x6c6e726b
push eax
push dword [ebp - 0x68]
mov dword [ebp - 0x48], 0x6578652e
push dword [ebp - 0x64]
mov dword [ebp - 0x18], 0x6c466d4d
mov dword [ebp - 0x14], 0x49687375
mov dword [ebp - 0x10], 0x6567616d
mov dword [ebp - 0xc], 0x74636553
mov dword [ebp - 8], 0x6e6f69
call fcn.00404c14
cmp al, 1
jne 0x43d635
cmp edi, 2
jne 0x43d60f
mov eax, dword [ebp - 0x70]
add eax, esi
push eax
push 0x187
jmp 0x43d630
test edi, edi
jne 0x43d620
mov eax, dword [ebp - 0x70]
add eax, esi
push eax
push 0x188
jmp 0x43d630
cmp edi, 1
jne 0x43d635
mov eax, dword [ebp - 0x70]
add eax, esi
push eax
push 0x2a5
call fcn.004356b2
lea eax, [ebp - 0x70]
mov dword [ebp - 0x18], 0x43666f49
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x6c706d6f
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x10], 0x52657465
push eax
push dword [ebp - 0x68]
mov dword [ebp - 0xc], 0x65757165
push dword [ebp - 0x64]
mov dword [ebp - 8], 0x7473
call fcn.00404c14
cmp al, 1
jne 0x43d6ab
cmp edi, 2
jne 0x43d685
mov eax, dword [ebp - 0x70]
add eax, esi
push eax
push 0x2ac
jmp 0x43d6a6
test edi, edi
jne 0x43d696
mov eax, dword [ebp - 0x70]
add eax, esi
push eax
push 0x2ab
jmp 0x43d6a6
cmp edi, 1
jne 0x43d6ab
mov eax, dword [ebp - 0x70]
add eax, esi
push eax
push 0x2ad
call fcn.004356b2
mov dword [ebp - 0x40], 0x46005c
mov dword [ebp - 0x3c], 0x6c0069
mov dword [ebp - 0x38], 0x530065
mov dword [ebp - 0x34], 0x730079
mov dword [ebp - 0x30], 0x650074
mov dword [ebp - 0x2c], 0x5c006d
test edi, edi
jne 0x43d832
push 0xa4c
call fcn.004355e4
mov edi, eax
push 0xb17
mov dword [ebp - 0x54], edi
call fcn.004355e4
push 1
mov ebx, eax
push ebx
push edi
push esi
push dword [ebp - 0x68]
push dword [ebp - 0x64]
call fcn.0043d14e
cmp al, 1
jne 0x43dada
push 0
push esi
push dword [ebp - 0x68]
push dword [ebp - 0x64]
call fcn.004052ae
cmp al, 1
jne 0x43dada
push 0x1c
pop esi
lea ecx, [edi + 4]
mov dword [ebp - 0x60], esi
and dword [ecx - 4], 0
mov edx, dword [ecx]
test edx, edx
je 0x43d758
lea eax, [edx + 0x10]
cmp eax, dword [ebp - 0x68]
ja 0x43d758
mov dword [ecx - 4], 1
lea edi, [ecx + 8]
mov esi, dword [ebp - 0x64]
lea esi, [edx + esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x60]
add ecx, 0x1c
dec esi
mov dword [ebp - 0x60], esi
jne 0x43d72f
push 0x1b
pop esi
lea ecx, [ebx + 4]
mov dword [ebp - 0x60], esi
and dword [ecx - 4], 0
mov edx, dword [ecx]
test edx, edx
je 0x43d793
lea eax, [edx + 0x10]
cmp eax, dword [ebp - 0x68]
ja 0x43d793
mov dword [ecx - 4], 1
lea edi, [ecx + 8]
mov esi, dword [ebp - 0x64]
lea esi, [edx + esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x60]
add ecx, 0x1c
dec esi
mov dword [ebp - 0x60], esi
jne 0x43d76a
lea eax, [ebp - 0x40]
mov dword [ebp - 0x28], 0x610046
push eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x24], 0x740073
push eax
mov dword [ebp - 0x20], 0x610066
mov dword [ebp - 0x1c], 0x74
call dword [ebp - 0x58]
push 0xd
call fcn.00477546
mov byte [ebp - 0x58], al
xor ecx, ecx
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x74]
push ecx
push ecx
push dword [eax]
lea eax, [ebp - 0x84]
push ecx
push ecx
push 0x40
push eax
call dword [ebp - 0x78]
push dword [ebp - 0x58]
mov esi, eax
push 0xd
call fcn.0047769a
test esi, esi
js 0x43dad7
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x43dad7
call dword [ebp - 0x7c]
push dword [ebp - 0x6c]
push 0x195
call fcn.004356b2
push 1
push 0x18f
call fcn.004356b2
push 1
push 0x8a3
jmp 0x43dace
cmp edi, 2
jne 0x43d984
push 0xbe2
call fcn.004355e4
mov edi, eax
push 0xcad
mov dword [ebp - 0x54], edi
call fcn.004355e4
mov ebx, eax
push ebx
push edi
push esi
push dword [ebp - 0x68]
push dword [ebp - 0x64]
call fcn.0043de5e
cmp al, 1
jne 0x43dada
push 0
push esi
push dword [ebp - 0x68]
push dword [ebp - 0x64]
call fcn.004052ae
cmp al, 1
jne 0x43dada
push 0x1c
pop esi
lea ecx, [edi + 4]
mov dword [ebp - 0x60], esi
and dword [ecx - 4], 0
mov edx, dword [ecx]
test edx, edx
je 0x43d8b4
lea eax, [edx + 0x10]
cmp eax, dword [ebp - 0x68]
ja 0x43d8b4
mov dword [ecx - 4], 1
lea edi, [ecx + 8]
mov esi, dword [ebp - 0x64]
lea esi, [edx + esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x60]
add ecx, 0x1c
dec esi
mov dword [ebp - 0x60], esi
jne 0x43d88b
push 0x1b
pop esi
lea ecx, [ebx + 4]
mov dword [ebp - 0x60], esi
and dword [ecx - 4], 0
mov edx, dword [ecx]
test edx, edx
je 0x43d8ef
lea eax, [edx + 0x10]
cmp eax, dword [ebp - 0x68]
ja 0x43d8ef
mov dword [ecx - 4], 1
lea edi, [ecx + 8]
mov esi, dword [ebp - 0x64]
lea esi, [edx + esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x60]
add ecx, 0x1c
dec esi
mov dword [ebp - 0x60], esi
jne 0x43d8c6
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x28], 0x74004e
push eax
mov dword [ebp - 0x24], 0x730066
call dword [ebp - 0x58]
push 0xd
call fcn.00477546
mov byte [ebp - 0x58], al
xor ecx, ecx
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x74]
push ecx
push ecx
push dword [eax]
lea eax, [ebp - 0x84]
push ecx
push ecx
push 0x40
push eax
call dword [ebp - 0x78]
push dword [ebp - 0x58]
mov esi, eax
push 0xd
call fcn.0047769a
test esi, esi
js 0x43dad7
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x43dad7
call dword [ebp - 0x7c]
push dword [ebp - 0x6c]
push 0x194
call fcn.004356b2
push 1
push 0x190
call fcn.004356b2
push 1
push 0x8a2
jmp 0x43dace
cmp edi, 1
jne 0x43dad7
push 0xd78
call fcn.004355e4
mov edi, eax
push 0xe43
mov dword [ebp - 0x54], edi
call fcn.004355e4
push 0
mov ebx, eax
push ebx
push edi
push esi
push dword [ebp - 0x68]
push dword [ebp - 0x64]
call fcn.0043d14e
cmp al, 1
jne 0x43dada
push 0
push esi
push dword [ebp - 0x68]
push dword [ebp - 0x64]
call fcn.004052ae
cmp al, 1
jne 0x43dada
push 0x1c
pop esi
lea ecx, [edi + 4]
mov dword [ebp - 0x60], esi
and dword [ecx - 4], 0
mov edx, dword [ecx]
test edx, edx
je 0x43da08
lea eax, [edx + 0x10]
cmp eax, dword [ebp - 0x68]
ja 0x43da08
mov dword [ecx - 4], 1
lea edi, [ecx + 8]
mov esi, dword [ebp - 0x64]
lea esi, [edx + esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x60]
add ecx, 0x1c
dec esi
mov dword [ebp - 0x60], esi
jne 0x43d9df
push 0x1b
pop esi
lea ecx, [ebx + 4]
mov dword [ebp - 0x60], esi
and dword [ecx - 4], 0
mov edx, dword [ecx]
test edx, edx
je 0x43da43
lea eax, [edx + 0x10]
cmp eax, dword [ebp - 0x68]
ja 0x43da43
mov dword [ecx - 4], 1
lea edi, [ecx + 8]
mov esi, dword [ebp - 0x64]
lea esi, [edx + esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x60]
add ecx, 0x1c
dec esi
mov dword [ebp - 0x60], esi
jne 0x43da1a
lea eax, [ebp - 0x40]
mov dword [ebp - 0x28], 0x780065
push eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x24], 0x610066
push eax
mov dword [ebp - 0x20], 0x74
call dword [ebp - 0x58]
push 0xd
call fcn.00477546
mov byte [ebp - 0x58], al
xor ecx, ecx
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x74]
push ecx
push ecx
push dword [eax]
lea eax, [ebp - 0x84]
push ecx
push ecx
push 0x40
push eax
call dword [ebp - 0x78]
push dword [ebp - 0x58]
mov esi, eax
push 0xd
call fcn.0047769a
test esi, esi
js 0x43dad7
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x43dad7
call dword [ebp - 0x7c]
push dword [ebp - 0x6c]
push 0x2a3
call fcn.004356b2
push 1
push 0x2a4
call fcn.004356b2
push 1
push 0x8a4
call fcn.004356b2
mov byte [ebp - 0x59], 1
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x64]
call fcn.00478d8c
cmp byte [ebp - 0x59], 1
jne 0x43ddc5
push edi
call fcn.0047b1b4
push 0x4c
call fcn.004355f2
mov edi, eax
push 0x21
mov dword [ebp - 0x58], edi
call fcn.004355f2
push 3
mov dword [ebp - 0x60], eax
call fcn.004355f2
mov esi, eax
mov dword [ebp - 0x54], esi
test edi, edi
je 0x43ddc5
cmp dword [ebp - 0x60], 0
je 0x43ddc5
test esi, esi
je 0x43ddc5
cmp dword [ebp + 8], 1
jne 0x43dcb7
push 0x4d53
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43db6e
cmp dword [ebx + 0x20], 0
jne 0x43db6e
lea eax, [ecx + esi]
mov dword [ebx + 0x1c], 1
lea esi, [ecx + edi]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], eax
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x58]
push 0x4d56
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43db9e
cmp dword [ebx + 0x3c], 0
jne 0x43db9e
lea eax, [ecx + esi]
mov dword [ebx + 0x38], 1
lea esi, [ecx + edi]
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x40], eax
lea edi, [ebx + 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x4d59
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43dbe2
cmp dword [ebx + 0x1c4], 0
jne 0x43dbe2
mov esi, dword [ebp - 0x58]
lea edi, [ebx + 0x1cc]
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x1c0], 1
add eax, ecx
mov dword [ebx + 0x1c4], ecx
lea esi, [ecx + esi]
mov dword [ebx + 0x1c8], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x4d5c
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43dc26
cmp dword [ebx + 0x1fc], 0
jne 0x43dc26
mov esi, dword [ebp - 0x58]
lea edi, [ebx + 0x204]
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x1f8], 1
add eax, ecx
mov dword [ebx + 0x1fc], ecx
lea esi, [ecx + esi]
mov dword [ebx + 0x200], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x4d5f
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43dc6a
cmp dword [ebx + 0x1a8], 0
jne 0x43dc6a
mov esi, dword [ebp - 0x58]
lea edi, [ebx + 0x1b0]
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x1a4], 1
add eax, ecx
mov dword [ebx + 0x1a8], ecx
lea esi, [ecx + esi]
mov dword [ebx + 0x1ac], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x4d62
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43ddc5
cmp dword [ebx + 0x1e0], 0
jne 0x43ddc5
mov esi, dword [ebp - 0x58]
lea edi, [ebx + 0x1e8]
mov eax, dword [ebp - 0x54]
add eax, ecx
mov dword [ebx + 0x1dc], 1
mov dword [ebx + 0x1e0], ecx
mov dword [ebx + 0x1e4], eax
lea esi, [ecx + esi]
jmp 0x43ddc1
cmp dword [ebp + 8], 0
jne 0x43dd41
push 0x4d53
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43dcf7
cmp dword [ebx + 0x20], 0
jne 0x43dcf7
lea eax, [ecx + esi]
mov dword [ebx + 0x1c], 1
lea esi, [ecx + edi]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], eax
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x58]
push 0x4d56
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43dd27
cmp dword [ebx + 0x3c], 0
jne 0x43dd27
lea eax, [ecx + esi]
mov dword [ebx + 0x38], 1
lea esi, [ecx + edi]
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x40], eax
lea edi, [ebx + 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x914
call fcn.004355f2
cmp eax, 0x1772
jb 0x43ddc5
jmp 0x43db9e
push 0x4d59
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43dd86
cmp dword [ebx + 0x1c4], 0
jne 0x43dd86
lea eax, [ecx + esi]
mov dword [ebx + 0x1c0], 1
lea esi, [ecx + edi]
mov dword [ebx + 0x1c4], ecx
mov dword [ebx + 0x1c8], eax
lea edi, [ebx + 0x1cc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x58]
push 0x4d5c
call fcn.004355f2
mov ecx, eax
test ecx, ecx
je 0x43ddc5
cmp dword [ebx + 0x1fc], 0
jne 0x43ddc5
lea eax, [ecx + esi]
mov dword [ebx + 0x1f8], 1
lea esi, [ecx + edi]
mov dword [ebx + 0x1fc], ecx
mov dword [ebx + 0x200], eax
lea edi, [ebx + 0x204]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00489f30
mov esp, ebp
pop ebp
ret 4