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

Disassembly:
push 0xffffffffffffffff
push 0x778f72
mov eax, dword fs:[0]
push eax
sub esp, 0x26c
mov eax, dword [0x84dea4]
xor eax, esp
mov dword [esp + 0x268], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x280]
mov dword fs:[0], eax
mov ebp, ecx
call fcn.00521870
fldz
cmp dword [ebp + 0x28], 3
fst dword [esp + 0x24]
mov ebx, 1
fst dword [esp + 0x28]
mov dword [esp + 0x30], ebx
jne 0x521b05
mov esi, dword [ebp + 0x34]
fstp st(0)
xor eax, eax
test esi, esi
setne al
push esi
mov edi, eax
call fcn.004ba430
mov ecx, eax
call fcn.004eee90
test eax, eax
jne 0x521b03
test edi, edi
je 0x521b03
push 0x104
lea ecx, [esp + 0x78]
push ecx
push eax
xor edx, edx
mov ecx, esi
call fcn.005f5960
xor edi, edi
cmp eax, edi
je 0x521a06
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x290], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
call fcn.004dcbb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
mov dword [esp + 0x20], eax
jg 0x5219c2
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov dword [esp + 0x288], 0xffffffff
fmul dword [0x83c978]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x24]
fstp dword [esp + 0x28]
je 0x521aa8
push edi
push 0xfffffffffffffffe
push str.._AVCImVector_NTempest__
push eax
call sub.Storm.dll_Ordinal_403
jmp 0x521aa8
push edi
push edi
push 0x104
lea ecx, [esp + 0x184]
push ecx
push edi
xor edx, edx
mov ecx, esi
call fcn.005f6040
push edi
xor edx, edx
lea ecx, [esp + 0x17c]
call fcn.007097f0
mov esi, eax
cmp esi, edi
je 0x521b03
fldz
lea edx, [esp + 0x44]
fst dword [esp + 0x44]
push edx
fst dword [esp + 0x4c]
lea edx, [esp + 0x60]
fst dword [esp + 0x50]
mov ecx, esi
fst dword [esp + 0x60]
fst dword [esp + 0x64]
fstp dword [esp + 0x68]
call fcn.007104a0
fld dword [esp + 0x5c]
fsub dword [esp + 0x44]
mov ecx, esi
fstp dword [esp + 0x14]
fld dword [esp + 0x60]
fsub dword [esp + 0x48]
fstp dword [esp + 0x2c]
call fcn.00423cf0
fld dword [esp + 0x14]
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x521a96
fstp st(0)
jmp 0x521a98
fstp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x24]
fstp dword [esp + 0x28]
fldz
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x521acf
fxch st(1)
fcom dword [esp + 0x28]
fnstsw ax
test ah, 5
jp 0x521acd
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x30], eax
mov ebx, eax
fxch st(1)
xor esi, esi
cmp ebx, 1
lea eax, [ebx + ebx - 1]
mov dword [esp + 0x34], esi
jle 0x521aea
xor ecx, ecx
cmp dword [ebp + 0x30], esi
sete cl
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x34], esi
fld1
fstp dword [esp + 0x20]
je 0x521b17
cmp ebx, 2
jne 0x521b0b
fld dword [0x7ba614]
jmp 0x521b13
fldz
fld dword [esp + 0x24]
jmp 0x521acf
jle 0x521b17
fld dword [0x7ba610]
fstp dword [esp + 0x20]
cmp eax, esi
lea edx, [ebx - 1]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov dword [esp + 0x18], esi
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fmul st(2)
fstp dword [esp + 0x2c]
fmul dword [esp + 0x28]
fstp dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul st(0), st(0)
fstp dword [esp + 0x6c]
fld dword [esp + 0x14]
fmul st(0), st(0)
fstp dword [esp + 0x68]
fxch st(1)
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fstp dword [esp + 0x40]
jle 0x521cfc
fild dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x1c], esi
fmul st(1)
fsub dword [esp + 0x2c]
fstp dword [esp + 0x58]
cmp dword [esp + 0x34], 0
fld dword [esp + 0x58]
fstp dword [esp + 0x38]
fild dword [esp + 0x1c]
fmul dword [esp + 0x28]
fsub dword [esp + 0x14]
fstp dword [esp + 0x3c]
je 0x521bf1
lea eax, [esi + ebx]
and eax, reloc.WSOCK32.dll_accept
jns 0x521baa
dec eax
or eax, 0xfffffffe
inc eax
jne 0x521bbe
fld dword [esp + 0x38]
fld st(1)
fmul qword [0x7988a0]
fsubp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fld dword [esp + 0x38]
fld st(1)
fmulp st(2)
fld dword [esp + 0x68]
fdivp st(2)
fmul st(0), st(0)
fdiv dword [esp + 0x6c]
faddp st(1)
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fld dword [esp + 0x20]
fcompp
fnstsw ax
test ah, 5
jnp 0x521cd6
push 0
fstp st(0)
push 0x114
push 0x7ba600
push 0x114
call sub.Storm.dll_Ordinal_401
mov dword [esp + 0x54], eax
mov dword [esp + 0x70], eax
test eax, eax
mov dword [esp + 0x288], 1
je 0x521c2b
mov ecx, eax
call fcn.005f65a0
mov ebx, eax
jmp 0x521c2d
xor ebx, ebx
mov ecx, dword [ebp]
push ecx
mov ecx, ebx
mov dword [esp + 0x28c], 0xffffffff
call fcn.005f5860
push 1
mov ecx, ebx
call fcn.005f5890
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
call fcn.005f5870
mov ecx, dword [ebp + 0x5c]
lea edi, [ebp + 0x58]
add ecx, 1
cmp ecx, dword [edi]
jbe 0x521cbd
mov esi, dword [edi + 0xc]
test esi, esi
jne 0x521ca1
cmp ecx, 0x40
mov esi, ecx
jae 0x521c95
lea eax, [ecx - 1]
and eax, ecx
je 0x521c89
lea ebx, [ebx]
mov esi, eax
lea eax, [esi - 1]
and eax, esi
jne 0x521c80
cmp esi, 1
jae 0x521ca1
mov esi, 1
jmp 0x521ca1
mov dword [edi + 0xc], 0x40
mov esi, 0x40
xor edx, edx
mov eax, ecx
div esi
test edx, edx
je 0x521cb1
sub esi, edx
add esi, ecx
mov ecx, esi
push ecx
mov ecx, edi
call fcn.005212d0
mov esi, dword [esp + 0x1c]
mov eax, dword [edi + 4]
fld dword [esp + 0x24]
mov ecx, dword [edi + 8]
lea ecx, [ecx + eax*4]
add eax, 1
mov dword [edi + 4], eax
mov dword [ecx], ebx
mov ebx, dword [esp + 0x30]
add esi, 1
lea eax, [ebx + ebx - 1]
cmp esi, eax
mov dword [esp + 0x1c], esi
jl 0x521b7c
mov ecx, dword [esp + 0x18]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x521b68
fstp st(0)
mov ecx, dword [esp + 0x280]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.00735f58
add esp, 0x278
ret