Function at 0x595e50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x77d89b
mov eax, dword fs:[0]
push eax
sub esp, 0x120
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x134]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x150]
xor ebp, ebp
push ebp
call fcn.00595de0
call fcn.004ba3a0
mov ecx, dword [edi + 0x38e0]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x58]
push eax
call fcn.005db5b0
mov eax, dword [edi + 0x38e0]
mov ecx, dword [eax + 0xc4]
mov edx, dword [eax + 0xc8]
mov esi, dword [esp + 0x14c]
add eax, 0xc4
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0xc]
mov ecx, esi
and ecx, 0x80
mov dword [esp + 0x54], edx
je 0x595f23
fild dword [esp + 0x5c]
fld qword [0x7a45f8]
fmul st(1), st(0)
fld dword [eax + 4]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x4c]
fild dword [esp + 0x58]
fmul st(1)
fadd dword [eax]
fstp dword [esp + 0x48]
fild dword [esp + 0x64]
fmul st(1)
fadd dword [eax + 4]
fstp dword [esp + 0x54]
fimul dword [esp + 0x60]
fadd dword [eax]
fstp dword [esp + 0x50]
cmp ecx, ebp
mov edx, dword [edi + 0x38e0]
mov eax, dword [edx + 0xb4]
mov edx, dword [edx + 0xb8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
je 0x595f59
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
sub edx, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
cmp edx, eax
mov ebx, dword [esp + 0x144]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], edi
jge 0x595fa6
fild dword [esp + 0x14]
fidiv dword [esp + 0x18]
fimul dword [esp + 0x148]
call fcn.007364a0
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], edi
jmp 0x595fd1
jle 0x595fd1
fild dword [esp + 0x18]
fidiv dword [esp + 0x14]
fimul dword [esp + 0x144]
call fcn.007364a0
mov ecx, ebx
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
sub ebx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x38e8]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
mov edi, esi
shr edi, 6
shr esi, 0xb
and edi, 1
and esi, 1
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
call eax
mov esi, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xe0], ebp
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x100], ebp
mov dword [esp + 0x104], ebp
cmp edi, ebp
mov dword [esp + 0x13c], ebp
je 0x596180
cmp esi, ebp
jle 0x596180
xor ebx, ebx
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x38e8]
mov edx, dword [eax + 0x60]
lea esi, [edx + ebx + 4]
mov ecx, 9
lea edi, [esp + 0x110]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x110]
mov edi, dword [esp + 0x1c]
push esi
mov ecx, edi
call fcn.004ec190
test eax, eax
je 0x596167
push esi
mov ecx, edi
call fcn.004ee700
mov ebp, eax
test ebp, ebp
jne 0x59611b
push esi
mov ecx, edi
call fcn.004ed780
test eax, eax
je 0x596165
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x38e8]
mov edx, dword [ecx + 0x60]
lea eax, [edx + ebx + 0xbc]
push eax
lea ecx, [esp + 0x90]
call fcn.00524ec0
cmp word [esp + 0x8c], 0xf
jne 0x596165
push esi
mov ecx, edi
call fcn.004ec430
test eax, eax
je 0x596165
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
lea edi, [esp + 0x40]
lea ecx, [esp + 0x120]
lea eax, [esp + 0x50]
call fcn.00595470
mov ecx, dword [esp + 0x150]
call fcn.00595d80
mov edx, dword [esp + 0x14]
xor ecx, ecx
test ebp, ebp
sete cl
mov dword [eax + 4], edx
mov dword [eax], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov edx, dword [0x83b0f4]
mov dword [eax + 0xc], edx
xor ebp, ebp
add ebx, 0x188
sub dword [esp + 0x24], 1
jne 0x59608b
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x2c], ebp
je 0x596354
push ebp
mov edx, str.MinimapToughCampThreshold
mov ecx, str.Minimap
call fcn.004b8a40
push ebp
mov edx, str.MinimapMiddleCampThreshold
mov ecx, str.Minimap
mov dword [esp + 0x70], eax
call fcn.004b8a40
push ebp
push str.MinimapWeakCampColor
mov edx, str.Minimap
lea ecx, [esp + 0x3c]
mov dword [esp + 0x70], eax
call fcn.004bf5f0
push ebp
push str.MinimapMiddleCampColor
mov edx, str.Minimap
lea ecx, [esp + 0x78]
call fcn.004bf5f0
push ebp
push 0x7cf528
mov edx, str.Minimap
lea ecx, [esp + 0x7c]
call fcn.004bf5f0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x38e8]
mov eax, dword [ecx + 0x180]
cmp eax, ebp
jle 0x596354
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x38e8]
mov eax, dword [eax + 0x184]
add eax, dword [esp + 0x1c]
lea edi, [esp + 0x38]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0x10]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x80], ecx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x80]
lea eax, [esp + 0x50]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], esi
call fcn.00595470
xor edx, edx
cmp esi, dword [esp + 0x6c]
setge dl
mov edi, edx
cmp edi, ebp
jne 0x596288
cmp esi, dword [esp + 0x68]
mov dword [esp + 0x24], 1
jge 0x59628c
mov dword [esp + 0x24], ebp
mov ebx, dword [esp + 0x150]
mov esi, dword [ebx + 4]
add esi, 1
cmp esi, dword [ebx]
jbe 0x5962eb
mov ecx, dword [ebx + 0xc]
cmp ecx, ebp
jne 0x5962d3
cmp esi, 0x10
mov ecx, esi
jae 0x5962c7
lea eax, [esi - 1]
and eax, esi
je 0x5962bb
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x5962b2
cmp ecx, 1
jae 0x5962d3
mov ecx, 1
jmp 0x5962d3
mov dword [ebx + 0xc], 0x10
mov ecx, 0x10
xor edx, edx
mov eax, esi
div ecx
cmp edx, ebp
je 0x5962e3
sub ecx, edx
add ecx, esi
mov esi, ecx
push esi
mov ecx, ebx
call fcn.00595790
mov ecx, dword [ebx + 4]
mov eax, ecx
shl eax, 4
add eax, dword [ebx + 8]
lea ecx, [ecx + 1]
mov dword [ebx + 4], ecx
je 0x596303
mov dword [eax + 0xc], ebp
jmp 0x596305
xor eax, eax
mov edx, dword [esp + 0x14]
xor ecx, ecx
cmp edi, ebp
setne cl
mov dword [eax + 4], edx
add ecx, 3
cmp edi, ebp
mov dword [eax], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
je 0x596329
lea ecx, [esp + 0x74]
jmp 0x596337
cmp dword [esp + 0x24], ebp
lea ecx, [esp + 0x70]
jne 0x596337
lea ecx, [esp + 0x34]
mov edx, dword [ecx]
add dword [esp + 0x1c], 0x14
sub dword [esp + 0x2c], 1
mov dword [eax + 0xc], edx
jne 0x59620e
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
cmp edi, ebp
je 0x596495
cmp esi, ebp
jle 0x596495
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], eax
lea esp, [esp]
mov ecx, dword [esp + 0x20]
mov ebx, dword [ecx + 0x38e8]
mov edx, dword [ebx + 0x60]
lea esi, [edx + ebp + 4]
mov ecx, 9
lea edi, [esp + 0x110]
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x110], 0x636f6c73
jne 0x596482
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edi, [esp + 0x40]
lea ecx, [esp + 0x120]
lea eax, [esp + 0x50]
call fcn.00595470
mov edx, dword [ebx + 0x60]
lea eax, [edx + ebp + 0xbc]
push eax
lea ecx, [esp + 0x90]
call fcn.00524ec0
movsx edx, word [esp + 0x8c]
push 3
lea ecx, [esp + 0x38]
call fcn.004bf500
mov edi, dword [esp + 0x150]
mov ecx, dword [edi + 4]
add ecx, 1
cmp ecx, dword [edi]
jbe 0x596449
mov esi, dword [edi + 0xc]
test esi, esi
jne 0x596431
cmp ecx, 0x10
mov esi, ecx
jae 0x596425
lea eax, [ecx - 1]
and eax, ecx
je 0x596419
mov edi, edi
mov esi, eax
lea eax, [esi - 1]
and eax, esi
jne 0x596410
cmp esi, 1
jae 0x596431
mov esi, 1
jmp 0x596431
mov dword [edi + 0xc], 0x10
mov esi, 0x10
xor edx, edx
mov eax, ecx
div esi
test edx, edx
je 0x596441
sub esi, edx
add esi, ecx
mov ecx, esi
push ecx
mov ecx, edi
call fcn.00595790
mov ecx, dword [edi + 4]
mov eax, ecx
shl eax, 4
add eax, dword [edi + 8]
lea ecx, [ecx + 1]
mov dword [edi + 4], ecx
je 0x596465
mov dword [eax + 0xc], 0
jmp 0x596467
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [eax], 2
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0xc], ecx
add ebp, 0x188
sub dword [esp + 0x28], 1
jne 0x596370
xor ebp, ebp
mov eax, dword [esp + 0x100]
cmp eax, ebp
je 0x5964ae
push ebp
push 0xfffffffffffffffe
push str.._AUObjectChance__
push eax
call sub.Storm.dll_Ordinal_403
mov eax, dword [esp + 0xe0]
cmp eax, ebp
je 0x5964c7
push ebp
push 0xfffffffffffffffe
push str.._AUAbilityInfo__
push eax
call sub.Storm.dll_Ordinal_403
mov eax, dword [esp + 0xd0]
cmp eax, ebp
je 0x5964e0
push ebp
push 0xfffffffffffffffe
push str.._AUInvSlotInfo__
push eax
call sub.Storm.dll_Ordinal_403
lea ecx, [esp + 0xb0]
call fcn.004cb930
mov ecx, dword [esp + 0x134]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x12c
ret 0x10