Function at 0x566a30
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x77b8d1
mov eax, dword fs:[0]
push eax
sub esp, 0x524
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x538]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x20], esi
push 1
call fcn.00564220
push fcn.0055c650
push 0x55db20
push 0x46
push 0x10
lea eax, [esp + 0xe8]
push eax
call fcn.00736657
mov ecx, dword [esi + 0x1f4]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
xor ebx, ebx
mov dword [esp + 0x540], ebx
call eax
mov esi, eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x540], 1
call fcn.004ba3a0
cmp esi, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
jle 0x5645eb
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x1f4]
mov edx, dword [eax + 0x60]
test dword [edx + ebp + 0x84], 0x400
jne 0x5645cc
mov eax, edx
lea esi, [eax + ebp + 4]
mov ecx, 9
lea edi, [esp + 0xb4]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0xb4]
mov ecx, esi
call fcn.0053f310
cmp eax, 2
je 0x5645cc
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x1f4]
mov edx, dword [eax + 0x60]
lea eax, [edx + ebp + 0xbc]
push eax
lea ecx, [esp + 0x34]
call fcn.00524ec0
movsx ebp, word [esp + 0x30]
cmp ebp, 0xc
jne 0x56451c
jmp 0x564526
cmp ebp, 0xf
jne 0x564526
mov ebp, 0xd
xor edi, edi
cmp esi, 0x636f6c73
jne 0x564537
mov edi, 2
jmp 0x5645aa
mov ecx, esi
call fcn.0053f380
test eax, eax
je 0x564558
sub esi, 0x524e4462
je 0x56457b
sub esi, 7
je 0x5645c8
sub esi, 0xc
jne 0x5645aa
xor edi, edi
jmp 0x5645aa
mov ecx, dword [esp + 0x14]
push esi
call fcn.004da470
test eax, eax
je 0x56456d
mov edi, 4
jmp 0x5645aa
mov ecx, dword [esp + 0x14]
push esi
call fcn.004ec190
test eax, eax
je 0x564582
mov edi, 2
jmp 0x5645aa
mov ecx, dword [esp + 0x14]
push esi
call fcn.004ec390
test eax, eax
je 0x564597
mov edi, 3
jmp 0x5645aa
mov ecx, dword [esp + 0x14]
push esi
call fcn.004ec5f0
test eax, eax
je 0x5645aa
mov edi, 1
mov ecx, dword [esp + 0x18]
lea edx, [edi + ebp*4]
add edx, ebp
shl edx, 4
push ecx
mov ecx, dword [esp + 0x24]
lea eax, [esp + edx + 0xdc]
push eax
call fcn.00563ab0
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
add eax, 1
add ebp, 0x188
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebp
jl 0x5644a9
xor edx, edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edx
lea ecx, [edx + edx*4]
xor ebp, ebp
shl ecx, 4
lea eax, [esp + ecx + 0xdc]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx], ebx
mov dword [esp + 0x18], ebx
jbe 0x56486e
cmp ebp, ebx
jne 0x56472e
mov edi, dword [esp + 0x20]
mov esi, dword [edi + 0x194]
add edi, 0x190
add esi, 1
cmp esi, dword [edi]
jbe 0x564691
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x564675
cmp esi, 8
mov ecx, esi
jae 0x564669
lea eax, [esi - 1]
and eax, esi
je 0x56465d
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x564654
cmp ecx, 1
jae 0x564675
mov ecx, 1
jmp 0x564675
mov dword [edi + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x564685
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x5646f8
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
jmp 0x5646fa
xor eax, eax
cmp edx, 0xc
mov ebp, eax
mov dword [eax], 0xffffffff
mov dword [eax + 4], edx
mov ecx, edx
jne 0x56470e
jmp 0x564716
cmp edx, 0xd
jne 0x564716
lea ecx, [edx + 2]
mov edx, dword [esp + 0x20]
push 1
push 0x64
add eax, 0x1c
push eax
push ecx
mov ecx, dword [edx + 0x1f0]
call fcn.00515c50
mov esi, dword [ebp + 0x158]
lea edi, [ebp + 0x154]
add esi, 1
cmp esi, dword [edi]
jbe 0x56478f
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x564777
cmp esi, 8
mov ecx, esi
jae 0x56476b
lea eax, [esi - 1]
and eax, esi
je 0x56475f
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x564756
cmp ecx, 1
jae 0x564777
mov ecx, 1
jmp 0x564777
mov dword [edi + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x564787
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x5647f8
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
mov esi, eax
jmp 0x5647fa
xor esi, esi
push 0x64
lea eax, [esi + 0x1c]
push eax
mov eax, dword [esp + 0x24]
mov dword [esi], 0xffffffff
call fcn.0055a440
mov ecx, dword [esp + 0x14]
lea edi, [esi + 0x154]
lea edx, [ecx - 4]
cmp edi, edx
je 0x564832
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
push eax
push ecx
mov ecx, edi
call fcn.0055c220
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
mov dword [edi + 0xc], eax
mov ecx, dword [esi + 0x158]
cmp ecx, ebx
jle 0x564860
mov eax, dword [esi + 0x15c]
add eax, 0x14c
lea ecx, [ecx]
mov edx, dword [eax]
add dword [esp + 0x18], edx
add eax, 0x164
sub ecx, 1
jne 0x564850
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov dword [esi + 0x14c], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
add dword [esp + 0x14], 0x10
add ecx, 1
cmp ecx, 5
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
jl 0x564610
cmp ebp, ebx
je 0x56489d
mov dword [ebp + 0x14c], eax
add dword [esp + 0x2c], eax
add edx, 1
cmp edx, 0xe
mov dword [esp + 0x28], edx
jl 0x5645f5
mov edi, dword [esp + 0x20]
push Ordinal_2
push str.WESTRING_UNITS
lea esi, [edi + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov eax, dword [esp + 0xa4]
cmp eax, ebx
mov ecx, dword [esp + 0x2c]
mov dword [edi + 0x188], ecx
je 0x5648f7
push ebx
push 0xfffffffffffffffe
push str.._AUObjectChance__
push eax
call sub.Storm.dll_Ordinal_403
mov eax, dword [esp + 0x84]
cmp eax, ebx
je 0x564910
push ebx
push 0xfffffffffffffffe
push str.._AUAbilityInfo__
push eax
call sub.Storm.dll_Ordinal_403
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x564926
push ebx
push 0xfffffffffffffffe
push str.._AUInvSlotInfo__
push eax
call sub.Storm.dll_Ordinal_403
lea ecx, [esp + 0x54]
call fcn.004cb930
push fcn.0055c650
push 0x46
push 0x10
lea edx, [esp + 0xe4]
push edx
mov dword [esp + 0x550], 0xffffffff
call fcn.007365f4
mov ecx, dword [esp + 0x538]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x530
ret
push 0xffffffffffffffff
push 0x77b90b
mov eax, dword fs:[0]
push eax
sub esp, 0x1ec
mov eax, dword [0x84dea4]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov edi, ecx
push 2
mov dword [esp + 0x1c], edi
call fcn.00564220
mov ecx, edi
call fcn.00560ae0
mov eax, dword [0x7b5654]
mov ecx, dword [edi + 0x1f4]
mov edx, dword [ecx]
add eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0xc]
call eax
xor ebx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
cmp eax, ebx
mov dword [esp + 0x208], ebx
mov dword [esp + 0x14], ebx
jle 0x564b1b
xor ebp, ebp
mov eax, dword [edi + 0x1f4]
mov ecx, dword [eax + 0x60]
test dword [ecx + ebp + 0x84], 0x400
jne 0x564b00
mov edx, ecx
lea esi, [edx + ebp + 4]
mov ecx, 9
lea edi, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x44]
call fcn.0053f310
mov esi, dword [esp + 0x18]
mov edi, eax
mov eax, dword [esi + 0x1f4]
mov ecx, dword [eax + 0x60]
lea edx, [ecx + ebp + 0xbc]
push edx
lea ecx, [esp + 0x78]
call fcn.00524ec0
cmp edi, 2
mov dword [esp + 0x1c], ebx
jne 0x564af0
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x78]
push ecx
push edx
mov ecx, esi
call fcn.0055b890
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push ecx
push eax
push edx
mov ecx, esi
call fcn.0055a5e0
push eax
call fcn.005630a0
jmp 0x564afe
mov eax, dword [esp + 0x14]
push 1
push eax
mov ecx, esi
call fcn.00562160
mov edi, esi
mov eax, dword [esp + 0x14]
add eax, 1
add ebp, 0x188
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jl 0x564a63
mov ecx, dword [edi + 0x1f8]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x20], eax
jle 0x564b65
xor ebp, ebp
mov ecx, dword [edi + 0x1f8]
mov edx, dword [ecx + 0x60]
test dword [edx + ebp + 0x84], 0x400
jne 0x564b58
push 7
push esi
mov ecx, edi
call fcn.00562160
mov eax, dword [esp + 0x20]
add esi, 1
add ebp, 0x188
cmp esi, eax
jl 0x564b34
mov ecx, edi
call fcn.00560eb0
push ebx
push 0x104
lea edx, [esp + 0x100]
mov ecx, str.WESTRING_LEVEL
call fcn.004da2f0
mov ecx, dword [edi + 0x1f0]
call fcn.00514cd0
mov ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
add ecx, 1
xor esi, esi
cmp dword [esp + 0x40], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x34], esi
jle 0x564f49
jmp 0x564be7
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], ebx
je 0x564c25
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 0xc
mov ecx, dword [esp + 0x2c]
push ecx
lea eax, [esi - 1]
push eax
mov ecx, edi
mov dword [esp + 0x38], ebx
call fcn.0055a5e0
mov ebp, eax
cmp dword [ebp + 4], ebx
mov dword [esp + 0x3c], ebp
jbe 0x564efe
cmp dword [esp + 0x14], ebx
jne 0x564d89
cmp dword [esp + 0x38], ebx
je 0x564d82
mov esi, dword [edi + 0x194]
add edi, 0x190
add esi, 1
cmp esi, dword [edi]
jbe 0x564cdd
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x564cc1
cmp esi, 8
mov ecx, esi
jae 0x564cb5
lea eax, [esi - 1]
and eax, esi
je 0x564ca9
lea esp, [esp]
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x564ca0
cmp ecx, 1
jae 0x564cc1
mov ecx, 1
jmp 0x564cc1
mov dword [edi + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x564cd1
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov ebp, dword [esp + 0x3c]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x564d44
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
jmp 0x564d46
xor eax, eax
mov ecx, dword [esp + 0x34]
add ecx, 0xffffffff
cmp ecx, 0xffffffff
mov dword [esp + 0x14], eax
mov dword [eax], 0xffffffff
mov dword [eax + 4], ecx
lea edx, [eax + 0x1c]
jne 0x564d75
push ebx
push 0x64
mov ecx, str.WESTRING_ITEMCLASS_ANY
call fcn.004da2f0
mov edi, dword [esp + 0x18]
jmp 0x564d89
push 0x64
call fcn.004f00b0
mov edi, dword [esp + 0x18]
jmp 0x564d89
lea edx, [edi + 0x3c]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x24]
cmp dword [eax], ebx
jne 0x564eb7
mov edi, dword [esp + 0x14]
mov esi, dword [edi + 0x158]
add edi, 0x154
add esi, 1
cmp esi, dword [edi]
jbe 0x564dfe
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x564de2
cmp esi, 8
mov ecx, esi
jae 0x564dd6
lea eax, [esi - 1]
and eax, esi
je 0x564dca
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x564dc1
cmp ecx, 1
jae 0x564de2
mov ecx, 1
jmp 0x564de2
mov dword [edi + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x564df2
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov ebp, dword [esp + 0x3c]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x564e65
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
jmp 0x564e67
xor eax, eax
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xffffffff
mov dword [eax], 0xffffffff
mov dword [eax + 4], ecx
mov dword [eax + 0x14c], ebx
jne 0x564e97
push ebx
push 0x64
lea edx, [eax + 0x1c]
mov ecx, str.WESTRING_ANYLEVEL
call fcn.004da2f0
jmp 0x564eb3
push ecx
lea edx, [esp + 0xfc]
push edx
push 0x7a82e4
add eax, 0x1c
push 0x64
push eax
call sub.Storm.dll_Ordinal_578
add esp, 0x14
mov edi, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
mov edx, dword [ebp + 4]
push ecx
push edx
lea ecx, [esi + 0x154]
call fcn.00560530
mov ecx, dword [ebp + 4]
cmp ecx, ebx
jle 0x564ef0
mov eax, dword [ebp + 8]
add eax, 0x14c
nop
mov edx, dword [eax]
add dword [esp + 0x30], edx
add eax, 0x164
sub ecx, 1
jne 0x564ee0
mov eax, dword [esp + 0x30]
add dword [esi + 0x14c], eax
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
add dword [esp + 0x28], ecx
add dword [esp + 0x24], 4
mov eax, 1
add dword [esp + 0x2c], eax
sub dword [esp + 0x20], eax
jne 0x564c3d
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x564f30
mov edx, dword [esp + 0x28]
mov dword [eax + 0x14c], edx
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
add esi, 1
cmp esi, dword [esp + 0x40]
mov dword [esp + 0x34], esi
jl 0x564be3
push Ordinal_2
push str.WESTRING_ITEMS
lea esi, [edi + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov eax, dword [esp + 0xe8]
cmp eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0x188], ecx
je 0x564f8b
push ebx
push 0xfffffffffffffffe
push str.._AUObjectChance__
push eax
call sub.Storm.dll_Ordinal_403
mov eax, dword [esp + 0xc8]
cmp eax, ebx
je 0x564fa4
push ebx
push 0xfffffffffffffffe
push str.._AUAbilityInfo__
push eax
call sub.Storm.dll_Ordinal_403
mov eax, dword [esp + 0xb8]
cmp eax, ebx
je 0x564fbd
push ebx
push 0xfffffffffffffffe
push str.._AUInvSlotInfo__
push eax
call sub.Storm.dll_Ordinal_403
lea ecx, [esp + 0x98]
call fcn.004cb930
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call fcn.00735f58
add esp, 0x1f8
ret
push 0xffffffffffffffff
push 0x77b948
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x1c], edi
push 4
call fcn.00564220
call fcn.004ba430
mov esi, eax
mov dword [esp + 0x30], esi
call fcn.004ba4c0
mov ebx, eax
mov ecx, esi
mov dword [esp + 0x2c], ebx
call fcn.004eed30
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x18], esi
call fcn.004efa20
xor ebp, ebp
lea esi, [eax + esi + 1]
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
push esi
lea ecx, [esp + 0x38]
mov dword [esp + 0x74], ebp
call fcn.00560660
cmp esi, ebp
jle 0x5650a5
xor eax, eax
mov ecx, esi
mov edi, edi
mov edx, dword [esp + 0x3c]
mov dword [eax + edx + 0x14c], ebp
add eax, 0x164
sub ecx, 1
jne 0x565090
mov ecx, dword [edi + 0x1f8]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov ecx, eax
xor ebx, ebx
cmp ecx, ebp
mov dword [esp + 0x28], ecx
jle 0x565159
mov eax, dword [edi + 0x1f8]
mov edx, dword [eax + 0x60]
test dword [edx + ebp + 0x84], 0x400
jne 0x565146
mov eax, edx
lea esi, [eax + ebp + 4]
push 0
mov ecx, 9
lea edi, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x30]
push 1
push esi
mov ecx, edi
call fcn.004dae10
test eax, eax
push esi
je 0x56510f
mov ecx, edi
call fcn.004efab0
add eax, dword [esp + 0x18]
jmp 0x565118
mov ecx, dword [esp + 0x34]
call fcn.004eedc0
cmp eax, 0xffffffff
jne 0x565124
mov eax, dword [esp + 0x14]
add eax, 0xffffffff
mov ecx, dword [esp + 0x1c]
imul eax, eax, 0x164
add eax, dword [esp + 0x3c]
push esi
push ebx
push eax
call fcn.00563240
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
add ebx, 1
add ebp, 0x188
cmp ebx, ecx
jl 0x5650c2
xor ebp, ebp
xor ebx, ebx
cmp esi, ebp
mov dword [esp + 0x28], ebp
jle 0x565330
mov eax, dword [esp + 0x18]
neg eax
xor edx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
jmp 0x565180
mov ecx, dword [esp + 0x3c]
cmp dword [edx + ecx + 0x158], ebp
je 0x565316
mov esi, dword [edi + 0x194]
add edi, 0x190
add esi, 1
xor ebp, ebp
cmp esi, dword [edi]
jbe 0x5651fd
mov ecx, dword [edi + 0xc]
cmp ecx, ebp
jne 0x5651e1
cmp esi, 8
mov ecx, esi
jae 0x5651d5
lea eax, [esi - 1]
and eax, esi
je 0x5651c9
jmp 0x5651c0
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x5651c0
cmp ecx, 1
jae 0x5651e1
mov ecx, 1
jmp 0x5651e1
mov dword [edi + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebp
je 0x5651f1
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x565268
mov dword [eax + 0x154], ebp
mov dword [eax + 0x158], ebp
mov dword [eax + 0x15c], ebp
mov dword [eax + 0x160], ebp
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], ebp
mov byte [eax + 0x1c], 0
mov byte [eax + 0x80], 0
mov dword [eax + 0x148], ebp
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebp
mov esi, eax
jmp 0x56526a
xor esi, esi
mov dword [esi + 4], ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [edx + eax + 0x14c]
mov dword [esi + 0x14c], ecx
mov eax, dword [esp + 0x3c]
lea edi, [edx + eax + 0x154]
lea ebp, [esi + 0x154]
cmp ebp, edi
je 0x5652a2
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push eax
push ecx
mov ecx, ebp
call fcn.0055c220
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0xc]
add eax, 0xffffffff
cmp ebx, eax
mov dword [ebp + 0xc], ecx
jne 0x5652d4
push Ordinal_2
push str.WESTRING_UNKNOWN
lea edi, [esi + 0x1c]
push edi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, edi
call fcn.004da3d0
jmp 0x5652fe
cmp ebx, dword [esp + 0x18]
push 0x64
jl 0x5652f0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
lea edx, [esi + 0x1c]
push edx
push eax
call fcn.004efa30
jmp 0x5652fe
lea ecx, [esi + 0x1c]
push ecx
mov ecx, dword [esp + 0x38]
push ebx
call fcn.004eed40
mov edx, dword [esi + 0x14c]
add dword [esp + 0x28], edx
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
xor ebp, ebp
add dword [esp + 0x24], 1
add ebx, 1
add edx, 0x164
cmp ebx, esi
mov dword [esp + 0x20], edx
jl 0x565180
push Ordinal_2
push str.WESTRING_DOODADS
lea esi, [edi + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov eax, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x38], esi
mov dword [edi + 0x188], eax
mov dword [esp + 0x70], 0xffffffff
jbe 0x56538f
xor edi, edi
jmp 0x565370
mov ecx, dword [esp + 0x3c]
lea ecx, [edi + ecx + 0x154]
call fcn.0055c650
add esi, 1
add edi, 0x164
cmp esi, dword [esp + 0x38]
jb 0x565370
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x5653a6
push 0
push 0xfffffffffffffffe
push str.._AUOMTreeNode__
push eax
call sub.Storm.dll_Ordinal_403
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
push 0xffffffffffffffff
push 0x77b978
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov ebp, ecx
mov dword [esp + 0x1c], ebp
push 8
call fcn.00564220
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
lea eax, [esp + 0x38]
push eax
mov ecx, ebp
mov dword [esp + 0x54], ebx
call fcn.005624c0
mov ecx, dword [ebp + 0x1fc]
push 1
mov dword [esp + 0x28], ebx
call fcn.0054b4d0
mov edi, eax
xor esi, esi
cmp edi, ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], esi
jle 0x5657a1
jmp 0x565440
mov ecx, dword [ebp + 0x1fc]
push esi
call fcn.0054b370
test byte [eax + 0xa8], 4
mov dword [esp + 0x30], eax
jne 0x565792
mov esi, dword [ebp + 0x194]
lea edi, [ebp + 0x190]
add esi, 1
cmp esi, dword [edi]
jbe 0x5654a1
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x565481
push esi
mov ecx, edi
call fcn.0055add0
mov ecx, eax
xor edx, edx
mov eax, esi
div ecx
mov dword [esp + 0x2c], esi
cmp edx, ebx
je 0x565495
sub ecx, edx
add ecx, esi
jmp 0x565499
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, edi
call fcn.0055f860
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x56550e
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov edi, eax
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
mov dword [esp + 0x18], edi
jmp 0x565514
mov dword [esp + 0x18], ebx
mov edi, ebx
mov esi, dword [esp + 0x20]
mov dword [edi], 8
mov ecx, dword [ebp + 0x1fc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x8c]
push esi
call eax
push edi
mov ecx, ebp
mov dword [edi + 4], eax
call fcn.0055ca90
push ebx
push esi
push 3
push edi
mov ecx, ebp
call fcn.00562c40
mov eax, dword [esp + 0x3c]
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x28], ebp
jle 0x565754
mov ecx, dword [esp + 0x40]
add ecx, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], eax
jmp 0x565570
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
cmp eax, dword [edi + 4]
jne 0x565744
cmp ebp, ebx
jne 0x56564c
mov esi, dword [edi + 0x158]
add edi, 0x154
add esi, 1
cmp esi, dword [edi]
jbe 0x5655c4
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x5655ac
push esi
mov ecx, edi
call fcn.0055add0
mov ecx, eax
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x5655bc
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x56562b
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
jmp 0x56562d
xor eax, eax
mov ebp, eax
mov dword [eax], 0xffffffff
mov dword [eax + 0x14c], ebx
add eax, 0x1c
push 0x64
push eax
xor eax, eax
mov dword [esp + 0x30], ebp
call fcn.0055a4e0
mov esi, dword [ebp + 0x158]
lea edi, [ebp + 0x154]
add esi, 1
cmp esi, dword [edi]
jbe 0x5656b1
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x565695
cmp esi, 8
mov ecx, esi
jae 0x565689
lea eax, [esi - 1]
and eax, esi
je 0x56567d
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x565674
cmp ecx, 1
jae 0x565695
mov ecx, 1
jmp 0x565695
mov dword [edi + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x5656a5
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov ebp, dword [esp + 0x28]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x565718
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
jmp 0x56571a
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [eax], 1
mov edx, dword [ecx - 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x1c]
push eax
call fcn.0055ca90
add dword [ebp + 0x14c], 1
mov edi, dword [esp + 0x18]
add dword [esp + 0x14], 0x10
sub dword [esp + 0x2c], 1
jne 0x565570
mov eax, dword [esp + 0x30]
add eax, 0xe8
cmp eax, ebx
je 0x565781
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x204]
push eax
call fcn.005df690
cmp eax, 0xffffffff
je 0x565781
push eax
push 8
push edi
mov ecx, esi
call fcn.005610d0
add dword [esp + 0x24], 1
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
add esi, 1
cmp esi, edi
mov dword [esp + 0x20], esi
jl 0x565440
push Ordinal_2
push str.WESTRING_REGIONS
lea esi, [ebp + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov eax, dword [esp + 0x40]
cmp eax, ebx
mov edx, dword [esp + 0x24]
mov dword [ebp + 0x188], edx
je 0x5657e0
push ebx
push 0xfffffffffffffffe
push str.._AUOMObjectLink__
push eax
call sub.Storm.dll_Ordinal_403
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
sub esp, 0x10
push ebx
push ebp
push esi
push edi
push 0x10
mov edi, ecx
call fcn.00564220
mov eax, dword [edi + 0x200]
mov ebp, dword [eax + 0x144]
xor ebx, ebx
xor esi, esi
cmp ebp, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], esi
jle 0x56593e
mov ecx, dword [edi + 0x200]
push esi
call fcn.0054ebe0
test eax, eax
jne 0x56592f
mov esi, dword [edi + 0x194]
lea ebp, [edi + 0x190]
add esi, 1
cmp esi, dword [ebp]
jbe 0x565887
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
jne 0x56586d
push esi
mov ecx, ebp
call fcn.0055add0
mov ecx, eax
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x56587d
sub ecx, edx
add ecx, esi
jmp 0x56587f
mov ecx, esi
push ecx
mov ecx, ebp
call fcn.0055f860
mov ecx, dword [ebp + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [ebp + 8]
lea ecx, [ecx + 1]
mov dword [ebp + 4], ecx
je 0x5658f0
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
mov esi, eax
jmp 0x5658f2
xor esi, esi
mov ebp, dword [esp + 0x10]
mov dword [esi], 9
mov ecx, dword [edi + 0x200]
mov edx, dword [ecx]
mov eax, dword [edx + 0x8c]
push ebp
call eax
push esi
mov ecx, edi
mov dword [esi + 4], eax
call fcn.0055ca90
push ebx
push ebp
push 4
push esi
mov ecx, edi
call fcn.00562c40
add dword [esp + 0x14], 1
mov esi, ebp
mov ebp, dword [esp + 0x1c]
add esi, 1
cmp esi, ebp
mov dword [esp + 0x10], esi
jl 0x565834
push Ordinal_2
push str.WESTRING_CAMERAS
lea esi, [edi + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x188], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
sub esp, 0x38
push ebp
push esi
push edi
mov edi, ecx
push 0xffffffffffffffbf
mov dword [esp + 0x1c], edi
call fcn.00564220
mov eax, dword [edi + 0x208]
mov eax, dword [eax + 0x14]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0xc], ebp
jle 0x565d9f
push ebx
mov ecx, dword [edi + 0x208]
mov edx, dword [ecx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [edx + eax*4]
mov ebx, dword [edx + 0x130]
mov ecx, dword [edi + 0x194]
add dword [esp + 0x2c], ebx
lea esi, [edi + 0x190]
add ecx, 1
cmp ecx, dword [esi]
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], ebx
jbe 0x565a37
mov ebx, dword [esi + 0xc]
cmp ebx, ebp
jne 0x565a11
cmp ecx, 8
mov ebx, ecx
jae 0x565a05
lea eax, [ecx - 1]
and eax, ecx
je 0x5659f9
lea ecx, [ecx]
mov ebx, eax
lea eax, [ebx - 1]
and eax, ebx
jne 0x5659f0
cmp ebx, 1
jae 0x565a11
mov ebx, 1
jmp 0x565a11
mov dword [esi + 0xc], 8
mov ebx, 8
xor edx, edx
mov eax, ecx
div ebx
cmp edx, ebp
je 0x565a21
sub ebx, edx
add ebx, ecx
mov ecx, ebx
push ecx
lea esi, [edi + 0x190]
mov ecx, esi
call fcn.0055f860
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [esi + 8]
lea ecx, [ecx + 1]
mov dword [esi + 4], ecx
je 0x565aa2
mov dword [eax + 0x154], ebp
mov dword [eax + 0x158], ebp
mov dword [eax + 0x15c], ebp
mov dword [eax + 0x160], ebp
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], ebp
mov byte [eax + 0x1c], 0
mov byte [eax + 0x80], 0
mov dword [eax + 0x148], ebp
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebp
mov esi, eax
jmp 0x565aa4
xor esi, esi
mov ecx, dword [esp + 0x10]
push Ordinal_2
add edx, 4
push edx
lea edx, [esi + 0x1c]
push edx
mov dword [esi], 0xffffffff
mov dword [esi + 4], ecx
mov dword [esi + 0x14c], ebx
call sub.Storm.dll_Ordinal_501
cmp dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
jle 0x565d89
mov eax, dword [esp + 0x10]
lea ebx, [esi + 0x154]
shl eax, 4
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], ebp
jmp 0x565af6
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x134]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + edx*4]
mov ecx, dword [edi + 0x208]
push eax
call fcn.00509cc0
mov ecx, dword [ebx + 4]
add ecx, 1
cmp ecx, dword [ebx]
mov dword [esp + 0x34], eax
jbe 0x565b6f
mov esi, dword [ebx + 0xc]
cmp esi, ebp
jne 0x565b57
cmp ecx, 8
mov esi, ecx
jae 0x565b4b
lea eax, [ecx - 1]
and eax, ecx
je 0x565b3f
mov esi, eax
lea eax, [esi - 1]
and eax, esi
jne 0x565b36
cmp esi, 1
jae 0x565b57
mov esi, 1
jmp 0x565b57
mov dword [ebx + 0xc], 8
mov esi, 8
xor edx, edx
mov eax, ecx
div esi
cmp edx, ebp
je 0x565b67
sub esi, edx
add esi, ecx
mov ecx, esi
push ecx
mov ecx, ebx
call fcn.0055f860
mov ecx, dword [ebx + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [ebx + 8]
lea ecx, [ecx + 1]
mov dword [ebx + 4], ecx
je 0x565bde
mov dword [eax + 0x154], ebp
mov dword [eax + 0x158], ebp
mov dword [eax + 0x15c], ebp
mov dword [eax + 0x160], ebp
mov esi, eax
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], ebp
mov byte [eax + 0x1c], 0
mov byte [eax + 0x80], 0
mov dword [eax + 0x148], ebp
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebp
mov dword [esp + 0x14], esi
jmp 0x565be4
mov dword [esp + 0x14], ebp
mov esi, ebp
mov eax, dword [esp + 0x34]
push esi
mov ecx, edi
mov dword [esi], 0xa
mov dword [esi + 4], eax
call fcn.0055ca90
xor ebx, ebx
jmp 0x565c00
mov ecx, dword [esp + 0x24]
mov edx, dword [edi + 0x21c]
mov eax, dword [esp + 0x3c]
lea ebp, [ecx + ebx]
shl ebp, 4
add ebp, dword [edx + eax + 8]
mov edx, dword [ebp + 4]
test edx, edx
mov dword [esp + 0x18], edx
jle 0x565d49
lea edi, [esi + 0x154]
mov esi, dword [edi + 4]
add esi, 1
cmp esi, dword [edi]
jbe 0x565c95
mov ecx, dword [edi + 0xc]
test ecx, ecx
jne 0x565c71
cmp esi, 8
mov ecx, esi
jae 0x565c65
lea eax, [esi - 1]
and eax, esi
je 0x565c59
lea esp, [esp]
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x565c50
cmp ecx, 1
jae 0x565c71
mov ecx, 1
jmp 0x565c71
mov dword [edi + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
mov dword [esp + 0x40], esi
test edx, edx
je 0x565c85
sub ecx, edx
add ecx, esi
jmp 0x565c89
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, edi
call fcn.0055f860
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x565d00
xor ecx, ecx
mov dword [eax + 0x154], ecx
mov dword [eax + 0x158], ecx
mov dword [eax + 0x15c], ecx
mov dword [eax + 0x160], ecx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], cl
mov byte [eax + 0x80], cl
mov dword [eax + 0x148], ecx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ecx
mov edi, eax
jmp 0x565d02
xor edi, edi
push 0x64
lea ecx, [edi + 0x1c]
push ecx
mov eax, ebx
mov dword [edi], 0xffffffff
mov dword [edi + 4], ebx
mov dword [edi + 0x14c], edx
call fcn.0055a4e0
xor esi, esi
cmp dword [esp + 0x18], esi
jle 0x565d41
mov edx, dword [ebp + 8]
mov eax, dword [edx + esi*4]
mov ecx, dword [esp + 0x1c]
push eax
push ebx
push edi
call fcn.005610d0
add esi, 1
cmp esi, dword [esp + 0x18]
jl 0x565d26
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
cmp ebx, 5
jne 0x565d61
mov ecx, dword [esp + 0x34]
push str.WESTRING_OM_USEDBYTRIGGERS
push ecx
push ebx
push esi
mov ecx, edi
call fcn.00562c40
add ebx, 1
cmp ebx, 9
jl 0x565c00
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], 9
add eax, 1
xor ebp, ebp
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
jl 0x565af2
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
jl 0x5659a3
pop ebx
push Ordinal_2
push str.WESTRING_TRIGGERS
lea esi, [edi + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov edx, dword [esp + 0x28]
mov dword [edi + 0x188], edx
pop edi
pop esi
pop ebp
add esp, 0x38
ret
push 0xffffffffffffffff
push 0x77b9a8
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x24], edi
push 0x40
call fcn.00564220
xor ebx, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
call fcn.004ba5e0
xor ebp, ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x28]
push ebp
mov dword [esp + 0x18], ebx
call fcn.004f13d0
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], esi
jle 0x5660ef
mov eax, ebp
shl eax, 0x18
mov dword [esp + 0x2c], eax
jmp 0x565e58
mov eax, dword [esp + 0x2c]
or eax, esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
lea ecx, [esp + 0x38]
push ecx
push eax
push 6
mov ecx, edi
mov dword [esp + 0x6c], ebx
call fcn.005626b0
cmp dword [esp + 0x3c], ebx
jne 0x565e9d
lea ecx, [esp + 0x38]
mov dword [esp + 0x60], 0xffffffff
call fcn.0055f640
jmp 0x5660de
cmp dword [esp + ebp*4 + 0x48], ebx
jne 0x565fc0
mov esi, dword [edi + 0x194]
add edi, 0x190
add esi, 1
cmp esi, dword [edi]
jbe 0x565f0d
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x565ef1
cmp esi, 8
mov ecx, esi
jae 0x565ee5
lea eax, [esi - 1]
and eax, esi
je 0x565ed9
nop
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x565ed0
cmp ecx, 1
jae 0x565ef1
mov ecx, 1
jmp 0x565ef1
mov dword [edi + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x565f01
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov ebp, dword [esp + 0x1c]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x565f74
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
jmp 0x565f76
xor eax, eax
cmp ebp, 3
mov dword [esp + ebp*4 + 0x48], eax
mov ecx, str.WESTRING_UNKNOWN
ja case.default.0x565f84
jmp dword [ebp*4 + 0x566158]
mov ecx, str.WESTRING_EVENTS
jmp case.default.0x565f84
mov ecx, str.WESTRING_CONDITIONS
jmp case.default.0x565f84
mov ecx, str.WESTRING_ACTIONS
jmp case.default.0x565f84
mov ecx, str.WESTRING_FUNCTIONCALLS
push Ordinal_2
lea esi, [eax + 0x1c]
push ecx
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov edi, dword [esp + ebp*4 + 0x48]
mov ecx, dword [edi + 0x158]
add edi, 0x154
add ecx, 1
cmp ecx, dword [edi]
jbe 0x56602d
mov esi, dword [edi + 0xc]
cmp esi, ebx
jne 0x566011
cmp ecx, 8
mov esi, ecx
jae 0x566005
lea eax, [ecx - 1]
and eax, ecx
je 0x565ff9
lea esp, [esp]
mov esi, eax
lea eax, [esi - 1]
and eax, esi
jne 0x565ff0
cmp esi, 1
jae 0x566011
mov esi, 1
jmp 0x566011
mov dword [edi + 0xc], 8
mov esi, 8
xor edx, edx
mov eax, ecx
div esi
cmp edx, ebx
je 0x566021
sub esi, edx
add esi, ecx
mov ecx, esi
push ecx
mov ecx, edi
call fcn.0055f860
mov ebp, dword [esp + 0x1c]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x566096
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
mov esi, eax
jmp 0x566098
xor esi, esi
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
push esi
mov ecx, edi
mov dword [esi], 0xb
mov dword [esi + 4], edx
mov dword [esi + 8], ebp
call fcn.0055ca90
mov eax, dword [esp + 0x30]
push ebx
push eax
push 6
push esi
mov ecx, edi
call fcn.00562c40
add dword [esp + 0x14], 1
lea ecx, [esp + 0x38]
mov dword [esp + 0x60], 0xffffffff
call fcn.0055f640
mov esi, dword [esp + 0x18]
add esi, 1
cmp esi, dword [esp + 0x34]
mov dword [esp + 0x18], esi
jl 0x565e54
mov eax, dword [esp + ebp*4 + 0x48]
cmp eax, ebx
je 0x566101
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x14c], ecx
mov edx, dword [esp + 0x14]
add dword [esp + 0x20], edx
add ebp, 1
cmp ebp, 4
mov dword [esp + 0x1c], ebp
jl 0x565e29
push Ordinal_2
push str.WESTRING_FUNCTIONS
lea esi, [edi + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov eax, dword [esp + 0x20]
mov dword [edi + 0x188], eax
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
push 0xffffffffffffffff
push 0x77b9db
mov eax, dword fs:[0]
push eax
sub esp, 0x134
mov eax, dword [0x84dea4]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
push 0x80
mov dword [esp + 0x1c], ecx
call fcn.00564220
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x150], ebx
call fcn.004ba5e0
mov esi, eax
mov ecx, esi
mov dword [esp + 0x34], esi
call fcn.004f1090
mov edi, eax
mov eax, dword [esp + 0x20]
add eax, edi
cmp eax, dword [esp + 0x1c]
jbe 0x5661fc
push eax
lea ecx, [esp + 0x20]
call fcn.00560230
xor ebp, ebp
cmp edi, ebx
jle 0x5662da
push ebp
mov ecx, esi
call fcn.004f1160
test eax, eax
je 0x5662cf
mov esi, dword [esp + 0x20]
add esi, 1
cmp esi, dword [esp + 0x1c]
jbe 0x566251
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
jne 0x566237
push esi
lea ecx, [esp + 0x20]
call fcn.0055b1c0
mov ecx, eax
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x566247
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
lea ecx, [esp + 0x20]
call fcn.00560230
mov ecx, dword [esp + 0x20]
mov eax, ecx
imul eax, eax, 0x168
add eax, dword [esp + 0x24]
add ecx, 1
cmp eax, ebx
mov dword [esp + 0x20], ecx
je 0x5662bd
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
jmp 0x5662bf
xor eax, eax
mov esi, dword [esp + 0x34]
mov dword [eax + 0x14c], ebx
mov dword [eax + 0x164], ebp
add ebp, 1
cmp ebp, edi
jl 0x566206
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x20c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], ebx
call fcn.005c0e80
mov edi, eax
xor ebp, ebp
cmp edi, ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], ebp
jle 0x5664ab
lea esp, [esp]
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x20c]
push ebp
call fcn.005c0e90
test eax, eax
je 0x56649c
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x20c]
push 0x104
lea eax, [esp + 0x44]
push eax
push ebp
call fcn.005c0f80
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x44]
push eax
call fcn.004f1220
test eax, eax
je 0x56649c
xor eax, eax
cmp esi, ebx
jle 0x56649c
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
add ecx, 0x164
cmp edx, dword [ecx]
je 0x56638b
add eax, 1
add ecx, 0x168
cmp eax, esi
jl 0x566375
jmp 0x56649c
cmp eax, 0xffffffff
je 0x56649c
imul eax, eax, 0x168
add eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x158]
lea edi, [eax + 0x154]
add ecx, 1
cmp ecx, dword [edi]
jbe 0x566403
mov esi, dword [edi + 0xc]
cmp esi, ebx
jne 0x5663e7
cmp ecx, 8
mov esi, ecx
jae 0x5663db
lea eax, [ecx - 1]
and eax, ecx
je 0x5663cf
mov esi, eax
lea eax, [esi - 1]
and eax, esi
jne 0x5663c6
cmp esi, 1
jae 0x5663e7
mov esi, 1
jmp 0x5663e7
mov dword [edi + 0xc], 8
mov esi, 8
xor edx, edx
mov eax, ecx
div esi
cmp edx, ebx
je 0x5663f7
sub esi, edx
add esi, ecx
mov ecx, esi
push ecx
mov ecx, edi
call fcn.0055f860
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x56646c
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
mov esi, eax
jmp 0x56646e
xor esi, esi
mov edi, dword [esp + 0x18]
push esi
mov ecx, edi
mov dword [esi], 0xc
mov dword [esi + 4], ebp
call fcn.0055ca90
push ebx
push ebp
push 7
push esi
mov ecx, edi
call fcn.00562c40
add dword [esp + 0x38], 1
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
add ebp, 1
cmp ebp, edi
mov dword [esp + 0x14], ebp
jl 0x566310
cmp esi, ebx
jle 0x56662b
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], esi
jmp 0x5664c0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov edx, dword [ecx + edx + 0x158]
cmp edx, ebx
mov dword [esp + 0x30], edx
je 0x566618
mov ebp, dword [esp + 0x18]
mov esi, dword [ebp + 0x194]
add ebp, 0x190
add esi, 1
cmp esi, dword [ebp]
jbe 0x566545
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
jne 0x566529
cmp esi, 8
mov ecx, esi
jae 0x56651d
lea eax, [esi - 1]
and eax, esi
je 0x566511
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x566508
cmp ecx, 1
jae 0x566529
mov ecx, 1
jmp 0x566529
mov dword [ebp + 0xc], 8
mov ecx, 8
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x566539
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, ebp
call fcn.0055f860
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [ebp + 8]
lea ecx, [ecx + 1]
mov dword [ebp + 4], ecx
je 0x5665ae
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
mov ebp, eax
jmp 0x5665b0
xor ebp, ebp
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x14c], edx
mov eax, dword [esp + 0x24]
lea esi, [eax + ecx + 0x154]
lea edi, [ebp + 0x154]
cmp edi, esi
je 0x5665de
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
mov ecx, edi
call fcn.0055c220
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0xc], edx
mov eax, dword [esp + 0x24]
mov edx, dword [eax + ecx + 0x164]
mov ecx, dword [esp + 0x34]
push edx
call fcn.004f10e0
push Ordinal_2
push eax
lea esi, [ebp + 0x1c]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
add dword [esp + 0x14], 0x168
sub dword [esp + 0x2c], 1
jne 0x5664c0
mov edi, dword [esp + 0x18]
push Ordinal_2
push str.WESTRING_VARIABLES
lea esi, [edi + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x1c]
mov dword [edi + 0x188], eax
mov dword [esp + 0x150], 0xffffffff
call fcn.0055f6a0
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.00735f58
add esp, 0x140
ret
sub esp, 0x200
mov eax, dword [0x84dea4]
xor eax, esp
mov dword [esp + 0x1fc], eax
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push 0x100
mov dword [esp + 0x18], ebp
call fcn.00564220
mov ecx, dword [ebp + 0x204]
xor ebx, ebx
xor edi, edi
call fcn.005df680
cmp eax, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ebx
jle 0x5669bd
mov dword [esp + 0x24], eax
jmp 0x5666f0
fldz
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x2c]
fst dword [esp + 0x200]
push eax
fst dword [esp + 0x208]
push ecx
fstp dword [esp + 0x210]
mov ecx, dword [ebp + 0x204]
call fcn.005df6f0
mov edx, dword [esp + 0x1c8]
mov ecx, dword [ebp + 0x194]
lea edi, [ebp + 0x190]
shr edx, 3
and edx, 1
add ecx, 1
cmp ecx, dword [edi]
mov dword [esp + 0x10], edx
jbe 0x566798
mov esi, dword [edi + 0xc]
cmp esi, ebx
jne 0x566776
cmp ecx, 8
mov esi, ecx
jae 0x56676a
lea eax, [ecx - 1]
and eax, ecx
je 0x56675e
mov esi, eax
lea eax, [esi - 1]
and eax, esi
jne 0x566755
cmp esi, 1
jae 0x566776
mov esi, 1
jmp 0x566776
mov dword [edi + 0xc], 8
mov esi, 8
xor edx, edx
mov eax, ecx
div esi
cmp edx, ebx
je 0x566786
sub esi, edx
add esi, ecx
mov ecx, esi
push ecx
lea edi, [ebp + 0x190]
mov ecx, edi
call fcn.0055f860
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x566805
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
mov ebp, eax
mov dword [esp + 0x10], eax
jmp 0x56680b
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
xor eax, eax
cmp edx, ebx
setne al
push ebp
mov ecx, edi
mov dword [ebp], 0xd
mov dword [ebp + 4], esi
mov dword [ebp + 8], eax
call fcn.0055ca90
push ebx
push esi
push 8
push ebp
mov ecx, edi
call fcn.00562c40
mov ecx, dword [edi + 0x1fc]
push 1
xor esi, esi
call fcn.0054b4d0
cmp eax, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebx
jle 0x5669a0
lea ebx, [ebx]
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [edi + 0x1fc]
call fcn.0054b370
test byte [eax + 0xa8], 4
jne 0x56698b
add eax, 0xe8
cmp eax, ebx
je 0x56698b
push Ordinal_2
lea edx, [esp + 0x30]
push edx
push eax
call sub.Storm.dll_Ordinal_508
test eax, eax
jne 0x56698b
cmp esi, ebx
jne 0x566975
mov esi, dword [ebp + 0x158]
lea edi, [ebp + 0x154]
add esi, 1
cmp esi, dword [edi]
jbe 0x5668ea
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
jne 0x5668ce
push esi
mov ecx, edi
call fcn.0055add0
mov ecx, eax
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebx
je 0x5668de
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, edi
call fcn.0055f860
mov ebp, dword [esp + 0x10]
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x164
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x566951
mov dword [eax + 0x154], ebx
mov dword [eax + 0x158], ebx
mov dword [eax + 0x15c], ebx
mov dword [eax + 0x160], ebx
mov dword [eax], 0xffffffff
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov byte [eax + 0x1c], bl
mov byte [eax + 0x80], bl
mov dword [eax + 0x148], ebx
mov dword [eax + 0x14c], 0xffffffff
mov dword [eax + 0x150], ebx
jmp 0x566953
xor eax, eax
mov esi, eax
mov dword [eax], 0xffffffff
mov dword [eax + 0x14c], ebx
add eax, 0x1c
push 0x64
push eax
mov eax, 3
call fcn.0055a4e0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push eax
push 3
push esi
mov ecx, edi
call fcn.005610d0
add dword [esi + 0x14c], 1
mov eax, dword [esp + 0x1c]
add eax, 1
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
jl 0x566860
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
jl 0x5666f0
mov edi, dword [esp + 0x24]
push Ordinal_2
push str.WESTRING_SOUNDS
lea esi, [ebp + 0x58]
push esi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, esi
call fcn.004da3d0
mov ecx, dword [esp + 0x20c]
mov dword [ebp + 0x188], edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00735f58
add esp, 0x200
ret
push esi
mov esi, ecx
push edi
lea edi, [esi + 0x190]
mov ecx, edi
call fcn.0055c110
push Ordinal_2
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
push str.WESTRING_UNKNOWN
lea edi, [esi + 0x58]
push edi
call sub.Storm.dll_Ordinal_501
mov edx, 0x64
mov ecx, edi
call fcn.004da3d0
cmp dword [esi + 0x24], 0
mov dword [esi + 0x188], 0xffffffff
je case.default.0x566a8c
mov eax, dword [esi + 0x38]
cmp eax, 8
ja case.default.0x566a8c
jmp dword [eax*4 + 0x566ae8]
pop edi
mov ecx, esi
pop esi
jmp 0x5643c0
pop edi
mov ecx, esi
pop esi
jmp 0x564970
pop edi
mov ecx, esi
pop esi
jmp 0x565000
pop edi
mov ecx, esi
pop esi
jmp 0x5653c0
pop edi
mov ecx, esi
pop esi
jmp 0x565800
pop edi
mov ecx, esi
pop esi
jmp 0x565970
pop edi
mov ecx, esi
pop esi
jmp 0x565dd0
pop edi
mov ecx, esi
pop esi
jmp 0x566170
pop edi
mov ecx, esi
pop esi
jmp 0x5666a0
pop edi
pop esi
ret