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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x1d8
xor esi, esi
push str.DATA
call fcn.0048e040
pop ecx
push 0x69db78
push 0xd6d8
push 0x7ffee8
push str.WEAPON.DAT
call fcn.0048dfc0
mov ebx, eax
lea eax, [esp + 0x1dc]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1dc]
mov dword [esp + 0x18], eax
add esp, 0x10
add dword [esp + 4], 8
add dword [esp + 8], 4
jmp 0x5d571b
xor edx, edx
mov ebp, ebx
jmp 0x5d52e2
mov al, byte [esi + 0x7ffee8]
inc esi
mov byte [esp + edx + 0x1c], al
inc edx
cmp byte [esi + 0x7ffee8], 0xa
je 0x5d52ef
cmp esi, ebp
jb 0x5d52d6
inc esi
xor eax, eax
mov byte [esp + edx + 0x1c], 0
jmp 0x5d5301
inc eax
mov dl, byte [esp + eax + 0x1c]
cmp dl, 0x20
ja 0x5d530e
test dl, dl
jne 0x5d5300
test dl, dl
je 0x5d571b
cmp dl, 0x23
je 0x5d571b
mov dword [esp + 0x1a0], 0
mov ecx, dword [esp + 0x1a0]
mov edi, ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x18c], 0
mov ebp, edi
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x194], ebp
mov ebp, ecx
mov dword [esp + 0x198], edi
mov edx, edi
mov edi, ebp
mov dword [esp + 0x184], ebp
mov dword [esp + 0x188], ecx
lea ebp, [esp + 0x1c0]
mov ecx, edi
push ebp
mov dword [esp + 0x194], edx
lea ebp, [esp + 0x1c0]
mov dword [esp + 0x184], edi
lea edi, [esp + 0x1cc]
mov dword [esp + 0x180], ecx
lea ecx, [esp + 0x1c8]
lea edx, [esp + 0x190]
push edx
push edi
lea edi, [esp + 0x1c0]
push ecx
lea ecx, [esp + 0x1c0]
push ebp
lea ebp, [esp + 0x1c0]
lea edx, [esp + 0x1cc]
push edx
mov dword [esp + 0x1e4], 0
lea edx, [esp + 0x1c0]
push edi
lea edi, [esp + 0x1c0]
push ecx
lea ecx, [esp + 0x17c]
push ebp
lea ebp, [esp + 0x1f0]
push edx
lea edx, [esp + 0x1c8]
push edi
lea edi, [esp + 0x1c8]
push ecx
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x14c], 0
push dword [esp + 0x34]
push dword [esp + 0x3c]
push ebp
lea ebp, [esp + 0x1d0]
push edx
push edi
lea edi, [esp + 0x1c8]
push ecx
lea ecx, [esp + 0x1c8]
push ebp
lea ebp, [esp + 0x1c8]
lea edx, [esp + 0x1d4]
push edx
push edi
push ecx
push ebp
lea ebp, [esp + 0x78]
mov byte [esp + 0x198], 0
add ebp, eax
lea edx, [esp + 0x1ec]
lea ecx, [esp + 0x178]
lea edi, [esp + 0x198]
push edx
push edi
push ecx
mov dword [esp + 0x238], 0
push str._s__s__f__d__d__d__d__f__f__f__f__f__f__f__s__f__f__f__f__f__f__f__d__d__x__d
push ebp
mov dword [esp + 0x244], 0
call fcn.0064a780
lea eax, [esp + 0x18c]
add esp, 0x70
push 0xd
push str.ENDWEAPONDATA
push eax
call fcn.006426a0
add esp, 0xc
test eax, eax
jne 0x5d54c0
add esp, 0x1d8
pop ebp
pop edi
pop esi
pop ebx
ret
xor edi, edi
lea eax, [esp + 0x11c]
mov edx, dword [edi*4 + 0x69d99c]
push edx
push eax
call fcn.00642670
test eax, eax
pop ecx
pop ecx
je 0x5d54e5
inc edi
cmp edi, 0x25
jl 0x5d54c2
xor edi, edi
lea eax, [esp + 0x13c]
push eax
call fcn.005d5190
pop ecx
mov ecx, edi
lea ebp, [ecx + ecx*2]
shl ebp, 5
lea ebp, [ebp + ecx*4]
fld dword [esp + 0x190]
mov dword [ebp + 0x782a14], eax
mov eax, dword [esp + 0x17c]
fstp dword [ebp + 0x782a18]
mov dword [ebp + 0x782a1c], eax
mov eax, dword [esp + 0x180]
mov dword [ebp + 0x782a20], eax
mov eax, dword [esp + 0x184]
fld dword [esp + 0x194]
mov dword [ebp + 0x782a24], eax
mov eax, dword [esp + 0x188]
mov dword [ebp + 0x782a28], eax
mov eax, dword [esp + 0x1c4]
fstp dword [ebp + 0x782a2c]
fld dword [esp + 0x198]
fstp dword [ebp + 0x782a30]
fld dword [esp + 0x19c]
fstp dword [ebp + 0x782a34]
fld dword [esp + 0x1a0]
fstp dword [ebp + 0x782a38]
fld dword [esp + 0x1cc]
fstp dword [ebp + 0x782a3c]
fld dword [esp + 0x1d0]
fstp dword [ebp + 0x782a40]
fld dword [esp + 0x1d4]
fstp dword [ebp + 0x782a44]
fld dword [esp + 0x1a4]
fmul dword [0x69dbe8]
fstp dword [ebp + 0x782a4c]
fld dword [esp + 0x1a8]
fmul dword [0x69dbe8]
fstp dword [ebp + 0x782a50]
fld dword [esp + 0x1ac]
fmul dword [0x69dbe8]
fstp dword [ebp + 0x782a54]
fld dword [esp + 0x1b0]
fmul dword [0x69dbe8]
fstp dword [ebp + 0x782a58]
fld dword [esp + 0x1b4]
fmul dword [0x69dbe8]
fstp dword [ebp + 0x782a5c]
fld dword [esp + 0x1b8]
fmul dword [0x69dbe8]
fstp dword [ebp + 0x782a60]
fld dword [esp + 0x1bc]
fmul dword [0x69dbe8]
fstp dword [ebp + 0x782a64]
mov dword [ebp + 0x782a68], eax
mov eax, dword [esp + 0x1c8]
mov dword [ebp + 0x782a6c], eax
mov eax, dword [esp + 0x18c]
fld dword [esp + 0x1a8]
mov dword [ebp + 0x782a70], eax
mov eax, dword [esp + 0x1c0]
fcomp dword [0x69dbec]
mov dword [ebp + 0x782a74], eax
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5d56be
cmp edi, 0x1f
je 0x5d56be
cmp edi, 0x13
je 0x5d56be
cmp edi, 0x14
je 0x5d56be
cmp edi, 0x15
je 0x5d56be
fld dword [ebp + 0x782a50]
fsub dword [ebp + 0x782a4c]
fmul dword [0x69dbf0]
fnstcw word [esp + 0xc]
mov eax, dword [esp + 0xc]
or byte [esp + 0xd], 0xc
fldcw word [esp + 0xc]
mov dword [esp + 0xc], eax
fistp dword [esp + 0x10]
fldcw word [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [ebp + 0x782a1c], eax
cmp edi, 0x23
mov eax, dword [esp + 0x1c4]
je 0x5d56cf
cmp edi, 0x22
jne 0x5d56d4
or eax, 0xffffffff
jmp 0x5d56de
cmp edi, 0xd
jne 0x5d56de
mov eax, 0x123
cmp eax, 0xffffffff
je 0x5d56f0
mov ecx, dword [eax*4 + 0x92d4d0]
push edi
call fcn.00629c80
xor edi, edi
push edi
call fcn.00405980
pop ecx
push eax
lea eax, [esp + 0x160]
push eax
call fcn.00642670
test eax, eax
pop ecx
pop ecx
jne 0x5d5715
mov dword [ebp + 0x782a48], edi
jmp 0x5d571b
inc edi
cmp edi, 0x3d
jl 0x5d56f2
cmp esi, ebx
jb 0x5d52d0
add esp, 0x1d8
pop ebp
pop edi
pop esi
pop ebx
ret