Function at 0x5783e0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a8a32
mov eax, dword fs:[0]
push eax
sub esp, 0x580
mov eax, dword [0x73a280]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4dc], ecx
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x494]
mov dword [ebp - 0x4c4], edi
mov dword [ebp - 0x4bc], 0
call fcn.00507320
mov ecx, dword [0x748b74]
lea eax, [ebp - 0x4d4]
push eax
push edi
lea eax, [ebp - 0x494]
mov dword [ebp - 4], 0
push eax
call fcn.00542560
test al, al
jne 0x578461
mov byte [ebp - 0x49d], al
jmp 0x579114
lea ecx, [ebp - 0x550]
call fcn.00507de0
mov esi, dword [ebp - 0x4d4]
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 1
call fcn.00507a40
push esi
push eax
lea ecx, [ebp - 0x550]
call fcn.00507e50
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4b0], 0
mov dword [ebp - 0x4ac], 0
xor esi, esi
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x4b8], esi
call fcn.005082b0
test eax, eax
je 0x5790f7
mov ecx, dword [0x7899f4]
mov eax, dword fs:[0x2c]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x4d8], eax
lea eax, [ebp - 0x4b4]
push eax
push esi
lea ecx, [ebp - 0x550]
call fcn.00508d30
test al, al
je 0x5790dd
mov ecx, dword [ebp - 0x4b0]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x4b4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 6
jae 0x57853f
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x49d]
call fcn.00576ff0
push edi
push esi
push eax
call fcn.005057e0
add esp, 0xc
jmp 0x5790dd
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax]
mov eax, dword [0x785a88]
cmp eax, dword [ecx + 0x20]
jg 0x579147
mov eax, dword [ebp - 0x4b4]
lea ecx, [ebp - 0x40]
add eax, 0x18
push eax
call fcn.0043ee60
mov eax, dword [ebp - 0x4b4]
lea ecx, [ebp - 0x28]
add eax, 0x30
mov byte [ebp - 4], 0x1b
push eax
call fcn.0043ee60
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
mov edx, dword [ebp - 0x40]
lea ecx, [ebp - 0x40]
cmova eax, edx
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x4a8], eax
lea edi, [ebp - 0x40]
mov eax, dword [ebp - 0x30]
cmova ecx, edx
add eax, ecx
cmp dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x4a4], eax
cmova edi, edx
cmp edi, eax
je 0x5785d8
mov esi, dword [ebp - 0x4a8]
sub esi, edi
nop
movsx eax, byte [edi]
push eax
call fcn.0065d970
mov byte [esi + edi], al
add esp, 4
inc edi
cmp edi, dword [ebp - 0x4a4]
jne 0x5785c0
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
cmova eax, edx
lea edi, [ebp - 0x28]
mov dword [ebp - 0x4a8], eax
cmova ecx, edx
mov eax, dword [ebp - 0x18]
add eax, ecx
cmp dword [ebp - 0x14], 0xf
mov dword [ebp - 0x4a4], eax
cmova edi, edx
cmp edi, eax
je 0x57862a
mov esi, dword [ebp - 0x4a8]
sub esi, edi
movsx eax, byte [edi]
push eax
call fcn.0065d970
mov byte [esi + edi], al
add esp, 4
inc edi
cmp edi, dword [ebp - 0x4a4]
jne 0x578612
mov eax, dword [ebp - 0x4b4]
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0xf
mov word [ebp - 0x58], 0x30
lea ecx, [eax + 0x48]
mov dword [ebp - 0x4cc], ecx
lea ecx, [eax + 0x60]
add eax, 0x78
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e0], eax
mov eax, 1
mov dword [ebp - 0x48], eax
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], 0xf
mov word [ebp - 0x70], 0x30
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0xa0]
call fcn.0043ee60
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x88]
call fcn.0043ee60
or dword [ebp - 0x4bc], 1
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x564]
mov ecx, 0x785a80
push eax
call fcn.00575e20
mov edi, dword [ebp - 0x55c]
cmp byte [edi + 0xd], 0
jne 0x57871a
lea esi, [edi + 0x10]
lea eax, [ebp - 0xa0]
push esi
push eax
call fcn.0044c740
add esp, 8
test al, al
jne 0x57871a
lea eax, [ebp - 0xa0]
push eax
push esi
call fcn.0044c740
add esp, 8
test al, al
jne 0x578827
lea eax, [esi + 0x18]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0044c740
add esp, 8
test al, al
je 0x578827
cmp dword [0x785a84], 0x2e8ba2e
je 0x579646
mov esi, dword [0x785a80]
mov dword [ebp - 0x540], 0x785a80
push 0x58
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x53c], 0
call fcn.005c8dfe
xorps xmm0, xmm0
mov byte [ebp - 4], 0x20
add esp, 4
mov dword [ebp - 0x53c], 0
mov ecx, 0x785a80
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
movups xmm0, xmmword [ebp - 0xa0]
push eax
push dword [ebp - 0x560]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [ebp - 0x90]
movq qword [eax + 0x20], xmm0
xorps xmm0, xmm0
push dword [ebp - 0x564]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
movups xmmword [eax + 0x28], xmm0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
movups xmm0, xmmword [ebp - 0x88]
movups xmmword [eax + 0x28], xmm0
movq xmm0, qword [ebp - 0x78]
movq qword [eax + 0x38], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
movups xmmword [eax + 0x40], xmm0
mov dword [eax + 0x50], 0
mov dword [eax + 0x54], 0xf
mov byte [eax + 0x40], 0
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov word [eax + 0xc], 0
call fcn.00446c80
mov edi, eax
lea eax, [edi + 0x40]
push eax
lea ecx, [ebp - 0xbc]
call fcn.0043ee60
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x23
call fcn.00466c50
mov edx, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x4b4]
sub edx, ecx
lea eax, [edx - 0xd8]
cmp eax, 0x18
jae 0x57888e
lea eax, [ecx + 0x90]
push eax
lea ecx, [ebp - 0x58]
call fcn.004d1980
mov eax, dword [ebp - 0x4b4]
lea ecx, [ebp - 0x70]
add eax, 0xa8
push eax
call fcn.004d1980
mov eax, dword [ebp - 0x4b4]
add eax, 0xc0
jmp 0x57889f
lea eax, [edx - 0xa8]
cmp eax, 0x18
jae 0x5788b1
lea eax, [ecx + 0x90]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004d1980
mov ecx, dword [ebp - 0x4b4]
mov eax, dword [ebp - 0x58]
xor esi, esi
mov dword [ebp - 0x4a8], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x4c0], esi
mov dword [ebp - 0x4c8], eax
cmp dword [ecx + 0x14], 0xf
jbe 0x5788df
mov ecx, dword [ecx]
push ecx
call fcn.00657e7b
mov ecx, dword [ebp - 0x4dc]
add esp, 4
add eax, esi
push eax
call fcn.00579f40
mov ecx, dword [ebp - 0xac]
sub esp, 0x18
cmp dword [ebp - 0xa8], 0xf
mov edi, esp
mov dword [ebp - 0x4d0], eax
xorps xmm0, xmm0
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x580], esp
cmova eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x498], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp ecx, 0x7fffffff
ja 0x579142
cmp ecx, 0xf
ja 0x57895e
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
jmp 0x5789cc
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x57897d
mov eax, bind
mov esi, bind
push eax
call fcn.0043e900
jmp 0x5789a8
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
test eax, eax
jne 0x578993
xor ecx, ecx
jmp 0x5789ad
cmp eax, 0x1000
jb 0x5789a2
push eax
call fcn.0043e900
jmp 0x5789a8
push eax
call fcn.005c8dfe
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0xac]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x498]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.00643a30
add esp, 0xc
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x70]
sub esp, 0x18
mov byte [ebp - 4], 0x24
cmp dword [ebp - 0x5c], 0xf
mov edi, esp
xorps xmm0, xmm0
mov dword [ebp - 0x568], esp
cmova eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x498], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp ecx, 0x7fffffff
ja 0x579142
cmp ecx, 0xf
ja 0x578a29
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
jmp 0x578a94
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x578a48
mov eax, bind
mov esi, bind
push eax
call fcn.0043e900
jmp 0x578a73
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
test eax, eax
jne 0x578a5e
xor ecx, ecx
jmp 0x578a78
cmp eax, 0x1000
jb 0x578a6d
push eax
call fcn.0043e900
jmp 0x578a73
push eax
call fcn.005c8dfe
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x60]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x498]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.00643a30
add esp, 0xc
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x58]
sub esp, 0x18
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x44], 0xf
mov edi, esp
xorps xmm0, xmm0
mov dword [ebp - 0x57c], esp
cmova eax, dword [ebp - 0x4a8]
mov dword [ebp - 0x498], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp ecx, 0x7fffffff
ja 0x579142
cmp ecx, 0xf
ja 0x578af1
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
jmp 0x578b5c
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x578b10
mov eax, bind
mov esi, bind
push eax
call fcn.0043e900
jmp 0x578b3b
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
test eax, eax
jne 0x578b26
xor ecx, ecx
jmp 0x578b40
cmp eax, 0x1000
jb 0x578b35
push eax
call fcn.0043e900
jmp 0x578b3b
push eax
call fcn.005c8dfe
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x48]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x498]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.00643a30
add esp, 0xc
mov edx, dword [ebp - 0x4e0]
sub esp, 0x18
mov edi, esp
mov byte [ebp - 4], 0x26
xorps xmm0, xmm0
mov dword [ebp - 0x578], esp
mov ecx, edx
mov dword [ebp - 0x498], edx
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [edx + 0x14], 0xf
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x49c], eax
jbe 0x578ba4
mov ecx, dword [edx]
mov dword [ebp - 0x498], ecx
cmp eax, 0x7fffffff
ja 0x579142
cmp eax, 0xf
ja 0x578bc6
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x578c31
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x578be5
mov ecx, bind
mov esi, bind
push ecx
call fcn.0043e900
jmp 0x578c0d
cmp esi, 0x16
mov ecx, 0x16
cmovb esi, ecx
lea ecx, [esi + 1]
test ecx, ecx
je 0x578c18
cmp ecx, 0x1000
jb 0x578c07
push ecx
call fcn.0043e900
jmp 0x578c0d
push ecx
call fcn.005c8dfe
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x49c]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x498]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.00643a30
add esp, 0xc
mov edx, dword [ebp - 0x4ec]
sub esp, 0x18
mov edi, esp
mov byte [ebp - 4], 0x27
xorps xmm0, xmm0
mov dword [ebp - 0x574], esp
mov ecx, edx
mov dword [ebp - 0x49c], edx
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [edx + 0x14], 0xf
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x498], eax
jbe 0x578c79
mov ecx, dword [edx]
mov dword [ebp - 0x49c], ecx
cmp eax, 0x7fffffff
ja 0x579142
cmp eax, 0xf
ja 0x578c9b
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x578d06
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x578cba
mov ecx, bind
mov esi, bind
push ecx
call fcn.0043e900
jmp 0x578ce2
cmp esi, 0x16
mov ecx, 0x16
cmovb esi, ecx
lea ecx, [esi + 1]
test ecx, ecx
je 0x578ced
cmp ecx, 0x1000
jb 0x578cdc
push ecx
call fcn.0043e900
jmp 0x578ce2
push ecx
call fcn.005c8dfe
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x498]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x49c]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.00643a30
add esp, 0xc
mov edx, dword [ebp - 0x4cc]
sub esp, 0x18
mov edi, esp
mov byte [ebp - 4], 0x28
xorps xmm0, xmm0
mov dword [ebp - 0x570], esp
mov ecx, edx
mov dword [ebp - 0x49c], edx
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [edx + 0x14], 0xf
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x498], eax
jbe 0x578d4e
mov ecx, dword [edx]
mov dword [ebp - 0x49c], ecx
cmp eax, 0x7fffffff
ja 0x579142
cmp eax, 0xf
ja 0x578d70
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x578ddb
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x578d8f
mov ecx, bind
mov esi, bind
push ecx
call fcn.0043e900
jmp 0x578db7
cmp esi, 0x16
mov ecx, 0x16
cmovb esi, ecx
lea ecx, [esi + 1]
test ecx, ecx
je 0x578dc2
cmp ecx, 0x1000
jb 0x578db1
push ecx
call fcn.0043e900
jmp 0x578db7
push ecx
call fcn.005c8dfe
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x498]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x49c]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.00643a30
add esp, 0xc
sub esp, 0x18
mov byte [ebp - 4], 0x29
mov edi, esp
mov dword [ebp - 0x56c], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x28]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [ebp - 0x14], 0xf
mov eax, dword [ebp - 0x18]
cmova ecx, dword [ebp - 0x28]
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x49c], ecx
cmp eax, 0x7fffffff
ja 0x579142
cmp eax, 0xf
ja 0x578e3a
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x578ea5
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x578e59
mov ecx, bind
mov esi, bind
push ecx
call fcn.0043e900
jmp 0x578e81
cmp esi, 0x16
mov ecx, 0x16
cmovb esi, ecx
lea ecx, [esi + 1]
test ecx, ecx
je 0x578e8c
cmp ecx, 0x1000
jb 0x578e7b
push ecx
call fcn.0043e900
jmp 0x578e81
push ecx
call fcn.005c8dfe
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x498]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x49c]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.00643a30
add esp, 0xc
sub esp, 0x18
mov byte [ebp - 4], 0x2a
mov edi, esp
lea ecx, [ebp - 0x40]
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [ebp - 0x2c], 0xf
mov eax, dword [ebp - 0x30]
cmova ecx, dword [ebp - 0x40]
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x49c], ecx
cmp eax, 0x7fffffff
ja 0x579142
cmp eax, 0xf
ja 0x578efe
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x578f69
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x578f1d
mov ecx, bind
mov esi, bind
push ecx
call fcn.0043e900
jmp 0x578f45
cmp esi, 0x16
mov ecx, 0x16
cmovb esi, ecx
lea ecx, [esi + 1]
test ecx, ecx
je 0x578f50
cmp ecx, 0x1000
jb 0x578f3f
push ecx
call fcn.0043e900
jmp 0x578f45
push ecx
call fcn.005c8dfe
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x498]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x49c]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.00643a30
add esp, 0xc
mov ecx, dword [ebp - 0x4d0]
mov byte [ebp - 4], 0x23
call fcn.00565440
mov esi, dword [ebp - 0x4c0]
inc esi
mov dword [ebp - 0x4c0], esi
cmp esi, 5
jge 0x578f95
mov ecx, dword [ebp - 0x4b4]
jmp 0x5788d7
mov eax, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x1e
cmp eax, 0xf
jbe 0x578fd5
mov edx, dword [ebp - 0x4c8]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x578fcb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57964b
push ecx
push edx
call fcn.005c8a85
add esp, 8
mov eax, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x1d
cmp eax, 0xf
jbe 0x579012
mov edx, dword [ebp - 0x4a4]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x579008
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57964b
push ecx
push edx
call fcn.005c8a85
add esp, 8
mov eax, dword [ebp - 0x44]
mov byte [ebp - 4], 0x1c
cmp eax, 0xf
jbe 0x57904f
mov edx, dword [ebp - 0x4a8]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x579045
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57964b
push ecx
push edx
call fcn.005c8a85
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1b
cmp ecx, 0xf
jbe 0x579087
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x57907d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57964b
push ecx
push edx
call fcn.005c8a85
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 2
cmp ecx, 0xf
jbe 0x5790d1
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5790c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57964b
push ecx
push edx
call fcn.005c8a85
add esp, 8
mov edi, dword [ebp - 0x4c4]
mov esi, dword [ebp - 0x4b8]
inc esi
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x4b8], esi
call fcn.005082b0
cmp esi, eax
jb 0x5784e0
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 0x49d], 1
call fcn.0043f840
lea ecx, [ebp - 0x550]
call fcn.00507e10
lea ecx, [ebp - 0x494]
call fcn.005073a0
mov al, byte [ebp - 0x49d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c8a4d
mov esp, ebp
pop ebp
ret 4
call fcn.00444010
push 0x785a88
call fcn.005c8eaa
add esp, 4
cmp dword [0x785a88], 0xffffffff
jne 0x578558
lea eax, [ebp - 0x500]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x350]
mov dword [ebp - 0x500], str.JOB_WOLFMAN
mov dword [ebp - 0x4fc], 0x6d378c
call fcn.00575ad0
xorps xmm0, xmm0
mov dword [ebp - 0x310], 1
movups xmmword [ebp - 0x320], xmm0
mov dword [ebp - 0x30c], 0xf
mov word [ebp - 0x320], 0x30
lea eax, [ebp - 0x508]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x508], str.JOB_ASSASSIN
mov dword [ebp - 0x504], 0x6d378c
call fcn.00575ad0
xorps xmm0, xmm0
mov dword [ebp - 0x2c8], 4
movups xmmword [ebp - 0x2d8], xmm0
mov dword [ebp - 0x2c4], 0xf
mov dword [ebp - 0x2d8], 0x36322e30
mov byte [ebp - 0x2d4], 0
lea eax, [ebp - 0x510]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x510], str.JOB_ASSASSIN
mov dword [ebp - 0x50c], 0x6d20c4
call fcn.00575ad0
push 4
xorps xmm0, xmm0
mov byte [ebp - 4], 8
push str.0.38
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x280], 0
movups xmmword [ebp - 0x290], xmm0
mov dword [ebp - 0x27c], 0
call fcn.00462990
lea eax, [ebp - 0x518]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x518], str.JOB_SHAMAN
mov dword [ebp - 0x514], 0x6d378c
call fcn.00575ad0
push 4
xorps xmm0, xmm0
mov byte [ebp - 4], 0xa
push str.0.18
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x234], 0
call fcn.00462990
lea eax, [ebp - 0x520]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x520], str.JOB_SHAMAN
mov dword [ebp - 0x51c], 0x6d20c4
call fcn.00575ad0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xc
push 4
movups xmmword [ebp - 0x200], xmm0
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
push str.0.26
lea ecx, [ebp - 0x200]
call fcn.00462990
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x558], str.JOB_SURA
mov dword [ebp - 0x554], 0x6d378c
call fcn.00575ad0
xorps xmm0, xmm0
mov dword [ebp - 0x1a8], 4
movups xmmword [ebp - 0x1b8], xmm0
mov dword [ebp - 0x1a4], 0xf
mov dword [ebp - 0x1b8], 0x31322e30
mov byte [ebp - 0x1b4], 0
lea eax, [ebp - 0x528]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x528], str.JOB_SURA
mov dword [ebp - 0x524], 0x6d20c4
call fcn.00575ad0
mov ax, word [0x6d37b4]
xorps xmm0, xmm0
movups xmmword [ebp - 0x170], xmm0
mov word [ebp - 0x170], ax
mov al, byte [0x6d37b6]
mov dword [ebp - 0x160], 3
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x16e], al
mov byte [ebp - 0x16d], 0
lea eax, [ebp - 0x530]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x530], str.JOB_WARRIOR
mov dword [ebp - 0x52c], 0x6d378c
call fcn.00575ad0
xorps xmm0, xmm0
mov dword [ebp - 0x118], 4
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x114], 0xf
mov dword [ebp - 0x128], 0x35312e30
mov byte [ebp - 0x124], 0
lea eax, [ebp - 0x538]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x538], str.JOB_WARRIOR
mov dword [ebp - 0x534], 0x6d20c4
call fcn.00575ad0
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 4
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xcc], 0xf
mov dword [ebp - 0xe0], 0x36322e30
mov byte [ebp - 0xdc], 0
lea esi, [ebp - 0x350]
mov byte [ebp - 4], 0x15
push 0x58
mov dword [ebp - 0x49c], esi
lea edi, [ebp - 0xc8]
mov dword [0x785a80], 0
mov dword [0x785a84], 0
call fcn.005c8dfe
add esp, 4
mov dword [ebp - 0x4a4], eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [0x785a80], eax
mov byte [ebp - 4], 0x16
cmp esi, edi
je 0x57960d
jmp 0x5794f2
push esi
push eax
lea eax, [ebp - 0x58c]
mov ecx, 0x785a80
push eax
call fcn.00575be0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x4f8], xmm0
mov dword [ebp - 0x4f0], eax
test al, al
jne 0x5795f4
cmp dword [0x785a84], 0x2e8ba2e
je 0x579646
mov eax, dword [0x785a80]
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4e8], 0x785a80
push 0x58
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x4e4], 0
call fcn.005c8dfe
mov edi, eax
add esp, 4
mov dword [ebp - 0x4e4], edi
push dword [ebp - 0x49c]
lea esi, [edi + 0x10]
mov byte [ebp - 4], 0x18
mov ecx, esi
mov dword [ebp - 0x4d0], esi
mov dword [ebp - 0x4cc], esi
call fcn.0043ee60
mov eax, dword [ebp - 0x49c]
lea ecx, [esi + 0x18]
add eax, 0x18
mov byte [ebp - 4], 0x19
push eax
call fcn.0043ee60
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 0x1a
mov esi, dword [ebp - 0x49c]
lea eax, [esi + 0x30]
push eax
call fcn.0043ee60
mov eax, dword [ebp - 0x4a8]
mov ecx, 0x785a80
push edi
push dword [ebp - 0x4f4]
mov dword [edi], eax
push dword [ebp - 0x4f8]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov word [edi + 0xc], 0
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x4e4], 0
call fcn.00446c80
lea edi, [ebp - 0xc8]
jmp 0x5795f4
mov eax, dword [ebp - 0x4a4]
add esi, 0x48
mov dword [ebp - 0x49c], esi
cmp esi, edi
jne 0x5794f2
jmp 0x57960d
push 0x576ec0
push 9
push 0x48
lea eax, [ebp - 0x350]
mov byte [ebp - 4], 3
push eax
call fcn.005c8ce9
push 0x6aee70
call fcn.005c8ccf
push 0x785a88
mov byte [ebp - 4], 2
call fcn.005c8e59
add esp, 8
jmp 0x578558
call fcn.00446e70
call fcn.0064e36a
int3